Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 170

UNIVERSIDAD AUTÓNOMA GABRIEL RENÉ MORENO

Facultad de Ingeniería en Ciencias de la Computación y


Telecomunicaciones

– GRUPO 8 –

SISTEMA DE INFORMACIÓN PARA LA GESTIÓN DE COMPRA, VENTA,


INVENTARIO Y RECURSOS HUMANOS PARA ESTACIONES DE SERVICIO

Integrantes:
• Camino Puma Ronald
• Cardona Espíndola Micael
• Cisneros Laura Moises David
• Fuentes Fuentes Julio Cesar
• Mendoza Guzman Jose Daniel
• Vargas Avila Marcelo

Materia: Sistema de Información 2 (INF 412)

Docente: Ing. Angelica Garzon Cuellar

Gestión: Semestre 1 – 2024


ÍNDICE
1. Introducción .................................................................................................................. 8
2. Antecedentes ................................................................................................................ 8
3. Descripción del problema ........................................................................................... 9
4. Objetivos ..................................................................................................................... 10
5. Alcance ........................................................................................................................ 10
5.1 MODULO DE ADMINISTRACION DE USUARIOS ............................................ 10
5.2 MODULO DE RECURSOS HUMANOS ............................................................. 11
5.3 MODULO DE COMPRA DE PRODUCTO.......................................................... 11
5.4 MODULO DE INVENTARIO................................................................................ 12
5.5 MODULO DE VENTA .......................................................................................... 13
6. Elementos del SIBC ................................................................................................... 13
6.1 HARDWARE ........................................................................................................... 13
6.1.1 Servidor............................................................................................................. 13
6.1.2 Cliente ............................................................................................................... 14
6.1.3 Medios de Comunicación ................................................................................. 14
6.1.4 Otros Dispositivos............................................................................................. 14
6.2 SOFTWARE: ........................................................................................................... 14
6.2.1 Servidores:........................................................................................................ 14
6.2.2 Clientes: ............................................................................................................ 14
6.2.3 Otro Software adicional: ................................................................................... 14
6.3 DATOS .................................................................................................................... 15
6.4 PROCESOS ............................................................................................................ 18
6.5 GENTE/USUARIO .................................................................................................. 22
6.6 DOCUMENTO......................................................................................................... 23
7. Tecnología ................................................................................................................... 23
7.1 Para el desarrollo .................................................................................................... 23
7.2 Para la puesta en marcha:...................................................................................... 25
8. Costos para la puesta en macha .............................................................................. 25
8.1 Hardware ................................................................................................................. 25
Equipos.......................................................................................................................... 25
Descripción .................................................................................................................... 25
Costo ............................................................................................................................. 25
8.2 Software ................................................................................................................. 26
8.2.1 Logística............................................................................................................ 26
8.2.2 Comunicaciones ............................................................................................. 26
9. Beneficios para el cliente .......................................................................................... 27
CAPÍTULO 1: MARCO TEÓRICO .................................................................................. 27
1.1 Marco Referencial ................................................................................................... 27
1.2 Marco de Trabajo Ágil Scrum ................................................................................. 28
CAPÍTULO 2: HERRAMIENTAS TECNOLÓGICAS PARA EL DESARROLLO.......... 30
2.1 Lenguajes de programación ................................................................................... 30
2.1.1 JavaScript ......................................................................................................... 30
2.1.2 Dart ................................................................................................................... 31
2.1.3 SQL ................................................................................................................... 32
2.2 Framework y entorno de ejecución ........................................................................ 33
2.2.1 React.js ............................................................................................................. 33
2.2.2 Node.js .............................................................................................................. 35
2.2.3 Flutter ................................................................................................................ 36
2.3 Sistema de gestión de base de datos .................................................................... 37
2.4 Lenguaje de modelado de software (MODELO C4) .............................................. 38
2.5 Herramienta de diseño y modelado ....................................................................... 39
2.6 Entorno de Desarrollo ............................................................................................. 39
2.7 Infraestructura de software (IaaS) .......................................................................... 40
2.8 Herramientas Colaborativas para Seguimientos de Proyectos ............................. 41
2.9. Diagrama de Interacción de UML.......................................................................... 43
2.9.1 Diagrama de Secuencia ................................................................................... 43
2.9.2 Diagrama de Tiempo ........................................................................................ 43
2.9.3 Diagrama de Estado ......................................................................................... 43
2.9.4 Diagrama de Navegación ................................................................................. 43
CAPÍTULO 3: REQUERIMIENTOS................................................................................. 43
3.1 Propósito ................................................................................................................. 43
3.2 Ámbito de Sistema .................................................................................................. 44
3.3 Equipo SCRUM ....................................................................................................... 44
3.3.1 El Dueño de Producto (Product Owner).............................................................. 45
3.3.2 Equipo de desarrollo (Development team) ......................................................... 45
Autónomo y Multidisciplinario: ................................................................................... 45
Tamaño del Equipo:................................................................................................... 45
Estable y Dedicado: ................................................................................................... 45
3.3.3 El scrum máster ................................................................................................... 45
3.4 Definiciones, Acrónimos y Abreviaturas (Referencias) ......................................... 46
3.5 Funciones del Producto (Describir características de funcionalidad) ................... 46
3.5.1 función de gestión de usuarios ........................................................................ 46
3.5.2 función de gestión de roles .............................................................................. 46
3.5.3 función de gestión de servicios ........................................................................ 47
3.5.4 función de gestión de almacenes .................................................................... 47
3.5.5 función de gestión de facturas ......................................................................... 47
3.6 Product Backlog ...................................................................................................... 47
3.7 Requisitos Funcionales (Elaborar tabla App web y movil) .................................... 52
3.8 Requisitos no funcionales ....................................................................................... 53
3.9 Lista de casos de uso (web) ................................................................................... 53
3.9.1 Lista de casos de uso (móvil)........................................................................... 54
3.10 Paquetes y casos de Uso ..................................................................................... 55
3.11 Planificación Sprint (Diagrama de Gantt) ............................................................. 58
CAPÍTULO 4: PROCESO DE DESARROLLO DE SOFTWARE .................................. 59
4.1 Sprint 1 ................................................................................................................... 59
4.1.1 Sprint Planning ................................................................................................. 59
4.1.1.1 Objetivos del Sprint .............................................................................................................59
4.1.1.2 Historias de usuario .............................................................................................................60
4.1.1.3 Contexto del sistema ...........................................................................................................71
4.1.1.4 Sprint backlog ......................................................................................................................71
4.1.2 Proceso de Desarrollo por Historia de Usuario ............................................... 73
4.1.2.1 Diseño ..................................................................................................................................73
4.1.2.1.1 Diseñar la arquitectura .................................................................................................73
4.1.2.1.1.1 Diseño físico (Diagrama de Despliegue) ................................................................73
4.1.2.1.1.2 Diseño Lógico (Diagrama Organizado en Capas) ...................................................74
4.1.2.1.2 Diseño de datos ............................................................................................................75
4.1.2.1.2.1 diseño logico ..........................................................................................................75
4.1.2.1.2.2 Diseño Físico ..........................................................................................................76
4.1.2.1.3 Diseño de la lógica de negocio .....................................................................................84
4.1.2.2 Implementación ...................................................................................................................85
4.1.2.2.1 Componentes y artefactos generados .........................................................................85
4.1.2.3 Pruebas ................................................................................................................................85
4.1.2.3.1 Plan de pruebas ............................................................................................................85
4.1.2.3.1.1 Identificar los casos de prueba ..............................................................................86
4.1.2.3.1.2 Objetivo de prueba ................................................................................................86
4.1.2.3.1.3 Desarrollar una lista de pruebas. ...........................................................................86
4.1.2.3.1.4 Describir casos de uso de prueba ..........................................................................86
4.1.2.3.2 Reporte de prueba ........................................................................................................86
4.1.3 Daily Scrum ...................................................................................................... 87
4.1.4 Sprint Review.................................................................................................... 91
4.1.5 Sprint Retrospective ......................................................................................... 93
4.1.6 Burn down y Burn up ........................................................................................ 94
Burn Down .......................................................................................................................................95
Burn Up ............................................................................................................................................95
4.1.7 Gráfica de esfuerzo y Datos de esfuerzo ........................................................ 96
4.1.8 Scrum Taskboard ............................................................................................. 98
4.2 Sprint 2 ................................................................................................................... 99
4.2.1 Sprint Planning ................................................................................................. 99
4.2.1.1 Objetivos del Sprint .............................................................................................................99
4.2.1.2 Historias de usuario .............................................................................................................99
4.2.1.3 Contexto del sistema .........................................................................................................124
4.2.1.4 Sprint backlog ....................................................................................................................124
4.2.2 Proceso de Desarrollo por Historia de Usuario ............................................. 128
4.2.2.1 Diseño ................................................................................................................................128
4.2.2.1.1 Diseñar la arquitectura (Modelo C4) ..........................................................................128
Contexto.................................................................................................................................128
Contenedor ............................................................................................................................129
Componente ..........................................................................................................................130
Código ....................................................................................................................................131
4.2.2.1.2 Diseño de datos ..........................................................................................................131
4.2.2.1.2.1 Diseño Lógico .......................................................................................................131
4.2.2.1.2.2 Diseño Físico ........................................................................................................133
4.2.2.1.3 Diseño de la lógica de negocio ...................................................................................139
4.2.2.1.3.1 Diagrama de secuencia ........................................................................................140
4.2.2.1.3.2 Diagrama de Tiempo ...........................................................................................146
4.2.2.1.3.3 Diagrama de estado .............................................................................................149
4.2.2.1.3.4 Diagrama de navegación .....................................................................................150
4.1.2.2 Implementación .................................................................................................................150
4.1.2.2.1 Componentes y artefactos generados .......................................................................151
4.1.2.3 Pruebas ..............................................................................................................................152
4.1.2.3.1 Plan de pruebas ..........................................................................................................152
4.1.2.3.1.1 Identificar los casos de prueba ............................................................................152
4.1.2.3.1.2 Objetivo de prueba ..............................................................................................152
4.1.2.3.1.3 Desarrollar una lista de pruebas. .........................................................................152
4.1.2.3.1.4 Describir casos de uso de prueba ........................................................................152
4.1.2.3.2 Reporte de prueba ......................................................................................................152
4.2.3 Daily Scrum .................................................................................................... 156
4.2.4 Sprint Review.................................................................................................. 158
4.2.5 Sprint Retrospective ....................................................................................... 160
4.2.6 Burn down y Burn up ...................................................................................... 161
4.2.6.1 Burn Down .........................................................................................................................161
4.2.6.2 Burn Up ..............................................................................................................................162
4.2.7 Gráfica de esfuerzo y Datos de esfuerzo ...................................................... 162
4.2.8 Scrum Taskboard ........................................................................................... 163
10. Bibliografía .............................................................................................................. 165
11. Anexos ..................................................................................................................... 165
11.1 Sistema de gestión de gasolineras/petróleo ................................................. 165
11.1.1 funcionalidades .......................................................................................... 165
11.2 Software de Gestión de Inventarios y Contabilidad de Bombas de .......... 166
Gasolina basada en la nube-Petro Genius ............................................................ 166
11.2.1 Módulos ....................................................................................................... 166
11.2.2 funcionalidades .......................................................................................... 167
11.3 Oilex Petrol Pumps ........................................................................................... 168
11.3.1 funcionalidades .......................................................................................... 168
1. Introducción
En el mundo actual, la industria de las estaciones de servicio de combustibles
desempeña un papel crucial en la vida cotidiana de las personas y en la economía en
general. La gestión eficiente de estas estaciones es fundamental para garantizar un
suministro confiable de combustible y servicios relacionados.

En este contexto, un Sistema de Información para la gestión integral de estaciones de


servicio de combustibles, también conocido como ERP - SURTIDORES, emerge como
una herramienta indispensable. Este sistema ofrece una solución integral que abarca
desde la administración de inventarios de combustible hasta la gestión de ventas,
control de calidad, seguimiento de clientes y análisis de datos.

El ERP - SURTIDORES se diseñó para optimizar las operaciones diarias de las


estaciones de servicio, mejorando la eficiencia, reduciendo costos, minimizando errores
y brindando una experiencia más satisfactoria para propietarios y clientes.

En este informe, exploraremos en detalle las características, beneficios y aplicaciones


prácticas del ERP - SURTIDORES en el contexto de la gestión de estaciones de
servicio de combustibles. Analizaremos cómo este sistema puede transformar la
manera en que se gestionan estos negocios y contribuir al éxito y crecimiento
sostenible de la industria.

2. Antecedentes
La gestión de estaciones de servicio de combustibles ha evolucionado
significativamente en las últimas décadas por los avances tecnológicos y las demandas
cambiantes del mercado. Anteriormente, la gestión de estas estaciones se basaba en
procesos manuales y sistemas independientes para cada función, lo que resultaba en
ineficiencias, falta de integración y dificultades para obtener una visión completa de la
operación.

Con la creciente competencia en el sector y la necesidad de mejorar la eficiencia


operativa, se ha vuelto imperativo adoptar sistemas de información integrados como los
ERP (Enterprise Resource Planning). Estos sistemas ofrecen una plataforma
centralizada que abarca todas las áreas funcionales de una estación de servicio, desde
la gestión de inventarios y ventas hasta recursos humanos, seguridad y análisis de
datos.

Los antecedentes muestran que la implementación de un ERP en el contexto de las


estaciones de servicio de combustibles ha demostrado ser una solución efectiva para
superar los desafíos operativos y mejorar la calidad de servicio. Al integrar todas las
funciones en una sola plataforma, se logra una mayor eficiencia, control y capacidad de
toma de decisiones, contribuyendo a la competitividad y éxito de las estaciones de
servicio en un mercado cada vez más exigente.

3. Descripción del problema


En el contexto de la gestión de estaciones de servicio de combustibles, se enfrentan
diversos desafíos y problemáticas que afectan la eficiencia operativa y la calidad de los
servicios ofrecidos. Algunos de los problemas más comunes que un Sistema de
Información ERP busca abordar incluyen:

• Gestión de Inventarios: Las estaciones de servicio deben manejar de manera


eficiente los niveles de inventario de combustible y otros productos relacionados.
La falta de un sistema integrado puede llevar a dificultades en la planificación de
compras, seguimiento de existencias y control de pérdidas por mermas o robos.
• Control de Ventas: La gestión de ventas, incluyendo la facturación, seguimiento
de transacciones y gestión de clientes, puede ser compleja sin un sistema
centralizado. Esto puede resultar en errores en la facturación, dificultades para
gestionar programas de fidelización y falta de información precisa sobre el
comportamiento de compra de los clientes.
• Seguridad y Control de Acceso: La seguridad de las instalaciones y el control
de acceso a áreas restringidas son aspectos críticos en las estaciones de
servicio. La ausencia de un sistema de información adecuado puede afectar la
seguridad de los empleados y clientes, así como la prevención de actividades
fraudulentas o no autorizadas.
• Gestión de Personal: La asignación de tareas, control de horarios, capacitación
del personal y evaluación del desempeño son áreas que pueden beneficiarse de
un sistema de información integrado. La falta de una herramienta centralizada
puede llevar a ineficiencias en la gestión de recursos humanos y dificultades en
la coordinación del equipo de trabajo.
• Análisis de Datos: La recopilación y análisis de datos sobre el rendimiento
operativo, ventas, inventarios y otros aspectos clave del negocio son
fundamentales para la toma de decisiones informadas. La falta de un sistema
que facilite este análisis puede limitar la capacidad de la gerencia para identificar
oportunidades de mejora y optimización.
En resumen, la gestión de estaciones de servicio de combustibles enfrenta desafíos
relacionados con la gestión de inventarios, control de ventas, seguridad, gestión de
personal y análisis de datos. Un Sistema de Información ERP busca abordar estos
problemas proporcionando una solución integrada que mejore la eficiencia operativa,
optimice los procesos y brinde una mejor experiencia tanto para los propietarios como
para los clientes.

4. Objetivos
4.1 Objetivo General
Desarrollar sistema de información para la gestión de compra, venta, inventario y
recursos humanos para estaciones de servicio.
4.2 Objetivo Específico

• Recolectar información sobre datos de Surtidores en estaciones de servicio de


combustible, mediante entrevistas para obtener datos relevantes y poder
identificar las necesidades y requerimientos para seguir con el proyecto
presente.
• Analizar la información obtenida para tener claro las funciones de nuestro
Sistema ERP, identificando problemas y proponer soluciones para solucionarlos
• Diseñar una Base de Datos en PostgreSQL para el registro y almacenamiento
de los datos. Definiendo las relaciones entre las tablas de la base de datos para
garantizar la integridad de los datos y en las consultas.
• Implementar un Backend con Node.js usando Express como framework el cual
se encargará de escuchar las peticiones requeridas por el lado del servidor
(REST), este mismo se comunicará con el Frontend.
• Implementar el Frontend usando HTML, CSS, JAVASCRIPT y la librería de
React.js para la vista y el diseño responsive de la aplicación web.

5. Alcance
5.1 MODULO DE ADMINISTRACION DE USUARIOS
En este módulo tendremos el registro de todos los usuarios con sus respectivos roles y
permisos para controlar las restricciones al sistema

• Gestionar Usuario: Esta tabla es clave para mantener la información de los


usuarios. Cada usuario tiene un Código único, Nombre y Apellido para su
identificación personal, Email y Contraseña para el acceso al sistema, Teléfono
para contacto y un Id_Rol que vincula al usuario con su rol dentro de la
organización.
• Gestionar Rol: Define los diferentes roles dentro de la organización. Cada rol
tiene un ID único, un Nombre que identifica el rol, una Descripción que detalla
las responsabilidades y expectativas, y un Salario asociado con ese rol.
• Gestionar Permiso: Enumera los permisos o derechos que pueden ser
asignados a los roles. Cada permiso tiene un ID único, un Nombre para
identificar el permiso y una Descripción que explica lo que permite el permiso.
• Gestionar Rol_Permiso: Relaciona los roles con los permisos. ID_Rol se refiere
al identificador del rol y ID_Permiso al identificador del permiso. La Descripción
puede ser utilizada para explicar la relación o el contexto en el que el permiso se
aplica al rol.
5.2 MODULO DE RECURSOS HUMANOS
En este módulo tendremos el control de toda la gestión de salarios de los empleados
horarios y control de asistencia

• Gestionar Contrato: captura los acuerdos laborales con un ID_Contrato único,


enlaza al empleado mediante Id_Empleado, establece la duración con
Fecha_Inicio y Fecha_Fin, define el Salario, asigna Id_Horario para el horario de
trabajo, clasifica el empleo con Tipo_Contrato y muestra el estado actual con
Estado_Contrato.
• Gestionar Asistencia: Esta tabla es fundamental para el seguimiento de la
asistencia diaria de los empleados. Cada registro tiene un ID único, vinculado al
Id_Empleado, y registra la Fecha, Hora_Entrada y Hora_Salida. Las
Horas_Trabajadas se calculan para cada jornada laboral.
• Gestionar Nómina: Esencial para la administración de pagos, cada entrada en
esta tabla tiene un ID único y está asociada a un Id_Usuario. Registra la
Fecha_Pago, el Monto_Pago total y cualquier Descuento_Salario aplicado.
• Gestionar Horario: Define los horarios estándar de trabajo con un ID único,
Hora_Entrada y Hora_Salida establecidas, junto con una Descripción que puede
incluir detalles como el turno o las horas pico.
• Gestionar Horario_Empleado: Vincula a los empleados con sus horarios
específicos. Id_Horario se refiere al horario asignado y Id_Usuario al empleado
correspondiente. La Descripción puede contener detalles adicionales y Dia_Libre
indica los días no laborables para el empleado.
5.3 MODULO DE COMPRA DE PRODUCTO
En este módulo tendremos registrados las compras de los productos también el registro
de proveedores
• Gestionar Proveedor: Pediremos el ID que será un identificador único del
proveedor, podría ser un número autogenerado. También solicitaremos el
Nombre que será el nombre completo o razón social del proveedor, la Dirección
física donde se ubica el proveedor, el Teléfono que será el número de contacto
del proveedor y el Email que será el correo electrónico de contacto del
proveedor.
• Gestionar Compra: Pediremos el ID que será un identificador único de la
compra, podría ser un número autogenerado. También solicitaremos la Fecha en
la que se realizó la compra, el Importe_Total que será el monto total de la
compra incluyendo impuestos y descuentos, el Importe_Descuento que será el
monto del descuento aplicado a la compra si corresponde, y el Estado de la
compra (realizada, cancelada, pendiente de pago, etc.).
• Gestionar Detalle_Compra: Pediremos el Id_Compra que será el identificador
de la compra a la que pertenece este detalle, el Id_Combustible que será el
identificador del combustible comprado, la Cantidad_Litro que será la cantidad
de litros de combustible comprados, el Precio que será el precio por litro del
combustible, el Importe que será el monto total del detalle (Cantidad_Litro x
Precio), y el Estado del detalle de la compra (pagado, pendiente, etc.).
• Gestionar Combustible: Pediremos el ID que será un identificador único del
combustible, el Nombre del combustible (gasolina, diésel, etc.), el
Precio_Compra que será el precio al que se compra el combustible al proveedor,
el Precio_Venta que será el precio al que se vende el combustible al cliente, y la
Unidad_Medida en la que se compra y vende el combustible (litros, galones,
etc.).
5.4 MODULO DE INVENTARIO
En este módulo registraremos el almacén de combustible en diferentes sucursales para
tener todo integrado y poder dar mejor servicio al cliente cuando busque combustible
• Gestionar Empresa: Pediremos el ID que será un identificador único de la
empresa, el Nombre de la empresa y la Dirección de la empresa.
• Gestionar Sucursal: Pediremos el ID que será un identificador único de la
sucursal, el Nombre de la sucursal, la Dirección de la sucursal, las Coordenadas
geográficas de la ubicación de la sucursal y la Capacidad máxima de
almacenamiento de la sucursal.
• Gestionar Almacén_Sucursal: Pediremos el Id_Sucursal que identificará la
sucursal a la que pertenece el almacén, el Id_Depósito_Combustible que
identificará el depósito de combustible específico, y el Estado_Stock que
indicará el nivel de stock de combustible en ese depósito.
• Gestionar Tanque_Combustible: Pediremos el ID que será un identificador
único del tanque de combustible, el Modelo del tanque, la Descripción del
tanque, el Stock actual de combustible en el tanque, la Capacidad_Max que será
la capacidad máxima de almacenamiento del tanque y la Capacidad_Min que
será la capacidad mínima requerida en el tanque.
• Gestionar Combustible: Pediremos el ID que será un identificador único del
combustible, el Nombre del combustible (gasolina, diésel, etc.), el
Precio_Compra que será el precio al que se compra el combustible al proveedor,
el Precio_Venta que será el precio al que se vende el combustible al cliente, y la
Unidad_Medida en la que se compra y vende el combustible (litros, galones,
etc.).
• Gestionar Bomba: Esta tabla asigna un ID único a cada bomba, detalla su
modelo y las especificaciones técnicas, como los tipos de combustible que
puede manejar. Además, incluye una descripción para cualquier observación
relevante y un estado que indica si la bomba está operativa, en mantenimiento o
fuera de servicio.
• Gestionar Bomba_Tanque: Conecta cada bomba con su tanque
correspondiente, utilizando el ID de la bomba y el ID del tanque de combustible.
La descripción proporciona espacio para información adicional sobre la conexión
o el tanque mismo.
5.5 MODULO DE VENTA

En este módulo tendremos registro de las ventas a los clientes

• Gestionar Venta: Registra las ventas realizadas, con un ID único por


transacción, la fecha en que se efectuó, el importe total antes y después de
aplicar descuentos, y el estado actual de la venta.
• Gestionar Detalle_Venta: Descompone las ventas en detalles, mostrando qué
bomba se usó, el precio unitario del combustible, la cantidad vendida, el importe
total y los descuentos aplicados, así como el estado del detalle de la venta.
• Gestionar Cliente: Almacena datos de los clientes, como un código único,
nombre y teléfono, lo que facilita la gestión de la relación con el cliente y la
comunicación para promociones o información importante.
• Gestionar Automovil: Relaciona los vehículos con sus dueños, listando la
placa, el nombre del propietario, el modelo y el color del automóvil, y
vinculándolo con el código del cliente para un servicio más personalizado.
• Gestionar Puntos: Lleva un registro de los puntos de fidelidad que los clientes
acumulan con cada compra, asociando los puntos y el importe de la venta con el
ID de la venta y el código del cliente.

6. Elementos del SIBC


6.1 HARDWARE
6.1.1 Servidor
Nombre Características
Procesador Intel(R) Core (TM) i54200u
Memoria RAM 512 MB
Disco SSD 1 GB

6.1.2 Cliente
Nombre Características
Procesador Intel i3 3ra Generación (o superior)
Memoria RAM 2GB DDR3 (o superior).
Disco de almacenamiento HDD o SSD de 128 GB (o superior)

6.1.3 Medios de Comunicación


La información se transmitirá mediante una red Wifi u otra forma de conexión a Internet,
lo que permitirá la comunicación inalámbrica de la información

6.1.4 Otros Dispositivos


• Mouse
• Teclado
6.2 SOFTWARE:
6.2.1 Servidores:
Nombre Versión
Sistema Operativo Windows Server 2020
Gestor de base de datos SQL Server
Antivirus ESET NOD32 SMART SECURITY 7
6.2.2 Clientes:
Nombre Versión
Sistema Operativo Windows 10
Gestor de base SQL SERVER
Antivirus ESET NOD32 SMART SECURITY 7

6.2.3 Otro Software adicional:


Nombre Vesión
Microsoft Excel 2020 Se utilizará para insertar los datos en la
BD.

6.3 DATOS

Gestionar Usuario
• Código
• Nombre
• Apellido
• Email
• Contraseña
• Teléfono
• Id_Rol
Gestionar Rol
• ID
• Nombre
• Descripción
• Salario
Gestonar Permiso
• ID
• Nombre
• Descripción
Getionar Rol_Permiso
• ID_Rol
• ID_Permiso
• Descripción
Asistencia
• ID
• Id_Empleado
• Fecha
• Hora_Entrada
• Hora_Salida
• Horas_Trabajadas
Nomina
• ID
• Id_Usuario
• Fecha_Pago
• Monto_Pago
• Descuento_Salario
Horario
• ID
• Hora_Entrada
• Hora_Salida
• Descripción
Horario_Empleado
• Id_Horario
• Id_Usuario
• Descripción
• Dia_Libre
Proveedor
• ID
• Nombre
• Direccion
• Telefono
• Email
Compra
• ID
• Fecha
• Importe_Total
• Importe_Descuento
• Estado
Detalle_Compra
• Id_Compra
• Id_Combustible
• Cantidad_Litro
• Precio
• Importe
• Estado
Producto
• ID
• Nombre
• Descripción
• Precio_Litro
• Stock
• Stock_Min
Empresa
• ID
• Nombre
• Dirección
Sucursal
• ID
• Nombre
• Dirección
• Coordenadas
• Capacidad
Almacen_Sucursal
• Id_Sucursal
• Id_Deposito_Combustible
• Estado_Stock
tanque_Combustible
• ID
• Modelo
• Descripcion
• Stock
• Capasidad_Max
• Capasidad_Min
Combustible
• ID
• Nombre
• Precio_Compra
• Precio_Venta
• Unidad_Medida
Bomba
• ID
• Modelo
• Descripcion
• Tipo_Combustible
• Estado
Deposito_Bomba
• Id_Bomba
• Id_Deposito
• Descripción
Venta
• ID
• Fecha
• Importe_Total
• Importe_Descuento_Total
• Estado
Detalle_Venta
• Id_Bomba
• Id_Venta
• Precio
• Cantidad
• Importe
• Importe_Descuento
• Estado
Cliente
• Código
• Nombre
• Teléfono
• Placa_Vehiculo
Vehiculo
• Nro_Placa
• Nombre
• Modelo
• color
6.4 PROCESOS
Usuario:
• Creación, actualización y eliminación de usuarios. Autenticación de usuarios y
asignación de roles
Rol:

• Definición y modificación de roles dentro del sistema, así como la asignación de


permisos a cada rol.
Permiso:

• Establecimiento de permisos específicos que pueden ser otorgados a los roles,


controlando el acceso a las diferentes funcionalidades del sistema
Rol_Permiso

• Asociación de permisos a roles específicos, permitiendo una gestión detallada


de las capacidades de cada rol dentro del sistema.
Asistencia:

• Registro de asistencia: Capturar la hora de entrada y salida de los empleados.


• Cálculo de horas trabajadas: Determinar las horas trabajadas basándose en las
horas de entrada y salida.
• Verificación de asistencia: Confirmar la presencia de los empleados en sus
horarios asignados.
Nómina:

• Procesamiento de pagos: Calcular el monto de pago basado en las horas


trabajadas y cualquier descuento aplicable.
• Emisión de nómina: Generar recibos de pago para los empleados en las fechas
de pago establecidas.
• Gestión de descuentos: Aplicar descuentos al salario por diversas razones,
como impuestos o ausencias
Horario:

• Creación de horarios: Establecer los horarios de entrada y salida para los


empleados.
• Asignación de horarios: Asignar horarios a los empleados y gestionar cambios o
ajustes.
• Descripción de horarios: Proporcionar detalles sobre los horarios, incluyendo
días libres y turnos especiales
Horario_Empleado:
• Asociación de horarios: Vincular horarios específicos con empleados
individuales.
• Gestión de días libres: Registrar y aprobar los días libres solicitados por los
empleados.
• Actualización de horarios: Modificar horarios en respuesta a cambios en la
disponibilidad o necesidades del empleado
Proveedor:

• Registro de proveedores: Ingresar y almacenar información de nuevos


proveedores.
• Actualización de datos: Modificar la información existente de los proveedores.
• Consulta de proveedores: Visualizar la lista de proveedores y sus detalles.
• Eliminación de proveedores: Remover proveedores que ya no son necesarios.
Compra:

• Registro de compras: Documentar las adquisiciones de productos o servicios.


• Actualización de compras: Cambiar detalles de las compras registradas.
• Consulta de compras: Revisar el historial y estado actual de las compras.
• Análisis de descuentos: Evaluar los descuentos aplicados en las compras.
Detalle_Compra:

• Registro de detalles: Añadir información específica de cada compra.


• Actualización de detalles: Modificar la cantidad, precio o estado de los detalles
de compra.
• Consulta de detalles: Inspeccionar los detalles asociados a cada compra.
Combustible:

• Registro de combustibles: Incluir nuevos tipos de combustibles en el sistema.


• Actualización de precios: Ajustar los precios de compra y venta según el
mercado.
• Consulta de inventario: Controlar las existencias de combustibles disponibles.
Empresa:

• Creación de registros: Añadir nuevas empresas al sistema con su ID, nombre y


dirección.
• Actualización de registros: Modificar la información existente de las empresas.
• Consulta de registros: Visualizar la lista de empresas y sus detalles.
Sucursal:
• Creación de registros: Registrar nuevas sucursales con detalles como ID,
nombre, dirección, coordenadas y capacidad1.
• Actualización de registros: Cambiar datos de las sucursales existentes.
• Consulta de registros: Inspeccionar y listar todas las sucursales.

Almacen_Producto:

• Asignación de inventario: Vincular depósitos de combustible con sucursales


específicas.
• Actualización de estado de stock: Gestionar y actualizar la información del stock
disponible.
• Consulta de inventario: Revisar el estado del inventario en las diferentes
sucursales.

Tanque_Combustible:

• Registro de tanques: Incluir nuevos tanques con su ID, modelo, descripción y


capacidades.
• Actualización de tanques: Modificar los detalles de los tanques existentes.
• Control de stock: Supervisar las cantidades máximas y mínimas en los tanques.

Combustible:

• Registro de combustibles: Añadir nuevos tipos de combustibles con su ID,


nombre y precios.
• Actualización de precios: Ajustar los precios de compra y venta según el
mercado2.
• Gestión de unidad de medida: Definir y actualizar las unidades de medida para
la venta.

Bomba:

• Registro de bombas: Añadir nuevas bombas con su ID, modelo, descripción, tipo
de combustible y estado.
• Actualización de bombas: Modificar la información existente de las bombas en el
sistema.
• Consulta de bombas: Revisar los datos de las bombas registradas y su estado
operativo.

Deposito_Bomba:

• Asociación de bombas y depósitos: Vincular cada bomba con un depósito


específico.
• Descripción de la asociación: Detallar la relación entre la bomba y el depósito.
• Actualización de asociaciones: Cambiar las asociaciones existentes según sea
necesario.

Venta:

• Registro de ventas: Documentar cada venta con su ID, fecha, importe total,
descuentos aplicados y estado1.
• Actualización de ventas: Modificar los detalles de ventas existentes.
• Revisión de ventas: Inspeccionar y verificar las ventas registradas.

Detalle_Venta:

• Registro de detalles de venta: Añadir información específica de cada producto


vendido, como precio y cantidad3.
• Actualización de detalles de venta: Modificar los detalles existentes de las
ventas.
• Consulta de detalles de venta: Verificar los detalles asociados a cada venta.

Cliente:

• Registro de clientes: Incluir nuevos clientes con su código, nombre, teléfono y


placa de vehículo.
• Actualización de clientes: Cambiar la información de los clientes existentes.
• Consulta de clientes: Buscar y revisar la información de los clientes.

Vehículo:

• Registro de vehículos: Añadir nuevos vehículos con su número de placa,


nombre, modelo y color5.
• Actualización de vehículos: Modificar la información de los vehículos existentes.
• Consulta de vehículos: Revisar los datos de los vehículos registrados.
6.5 GENTE/USUARIO
El equipo de desarrollo del sistema está conformado por:

• Camino Puma Ronald


• Cardona Espíndola Micael
• Cisneros Laura Moises David
• Fuentes Fuentes Julio Cesar
• Mendoza Guzman Jose Daniel
• Vargas Avila Marcelo
Usuario
Este usuario es la persona común que podrá navegar, visitar e interactuar con el
sistema.

Administrador
Este usuario tiene la responsabilidad de administrar el sistema, como actualizar y
corregir los errores que surjan en el sistema.

6.6 DOCUMENTO

Emplea la metodología ágil SCRUM con los modelos UML para representar
visualmente el sistema de información mediante módulos. La documentación que
respalda al sistema incluye:

• Manual de usuario

7. Tecnología
7.1 Para el desarrollo
Para el desarrollo de software, se empleará la metodología Scrum, que nos
proporcionará un marco estructurado para optimizar nuestro proceso de desarrollo de
software. Scrum es un marco de trabajo utilizado para desarrollar y mantener productos
complejos, donde el equipo tiene tareas que debe completar en un tiempo determinado.
Además, se utilizará UML para generar los modelos necesarios.

El proyecto se desarrollará utilizando los siguientes sistemas y aplicaciones: Sistema


Operativo:

● Windows 10

❖ Entorno de Desarrollo Integrado (IDE):

● Visual Studio Code

❖ Lenguaje de Programación, Lenguaje de Marcados:

• HTML
• CSS
• JavaScript
• Dart

❖ Sistema de Gestión de Bases de Datos (SGBD/DBMS):

• PostgreSQL

❖ Herramienta de Testeo de Apis

• Postman

❖ Frameworks y Librerias:

• Express
• Flutter
• React
• Vite

❖ Herramientas de Gestión de Proyectos y Tareas:

• JIRA

❖ Herramientas de Control de Versiones:

• Git/GitHub

❖ Herramientas de Diseño y Prototipado:

• StarUML
• Draw.io

❖ Servidor Web:

• Apache

❖ Herramientas de Despliegue y Hosting:

• Netlify
• FL0
7.2 Para la puesta en marcha:
Para la implementación, se utilizará el modelo SaaS (Software como Servicio). Este
modelo de infraestructura de software aloja el software de la empresa, así como sus
datos, en servidores externos, y se paga una cuota por su uso. Esto permite que
cualquier empleado de la empresa pueda acceder a las aplicaciones de la empresa
desde cualquier lugar sin necesidad de instalarlas en un equipo local. Cuando
hablamos de software en la nube, nos referimos a SaaS.

Con un SaaS, la empresa solo tiene que preocuparse de cómo utilizar los programas
de software necesarios para su funcionamiento, olvidándose del resto de recursos. El
hardware necesario, los sistemas operativos, las aplicaciones, etc., los proporciona el
proveedor del servicio, que además los mantiene funcionando correctamente y
actualizados.

Todos los usuarios acceden diariamente a aplicaciones SaaS, ya que se puede decir
que cualquier aplicación online que se ejecuta en la nube y a la que se puede acceder
a través de internet, es una aplicación SaaS. La infraestructura que se utilizará para la
implementación es la infraestructura SaaS.

8. Costos para la puesta en macha


8.1 Hardware
Equipos Descripción Costo
Laptop DELL INTEL CORE i7 8000 Bs
6700HQ CPU 2.6 GHz
8 GB RAM
512 GB SSD

Computadora de Lenovo Intel Core i5- 6000 Bs


Escritorio 10500 3.10 GHz
8 GB Ram
512 GB SSD
Impresora Epson L380 3000 Bs

8.2 Software
Nombre Costo Individual
Windows 10 150 Bs
Windows Pro 300 Bs
Paquete Office 600 Bs

8.2.1 Logística
Un factor por considerar son las capacitaciones que se brindarán a los empleados de la
empresa que desee ocupar este sistema, así cada empleado podrá provecho de
funcionalidades y así también se evitarán malas prácticas que podrían entorpecer el
desarrollo normal de las actividades. Consideremos la siguiente tabla para el cálculo de
los costos por capacitación al personal:

Horas Costo / hora Total


Requeridas de
Capacitación
1 persona 6 80 Bs 240 Bs

8.2.2 Comunicaciones
INTERNET CORPORATIVO SOBRE FTT (FOC)
Plan Velocidad (Mbps) Tarifa Mensual (Bs.)
FOC - 500 10 1.018
FOC - 10M 20 1.980
FOC - 15M 30 2.888
FOC - 20M 40 3.740
FOC - 25M 50 4.538
FOC - 30M 60 5.280
FOC - 35M* 70 6.050
FOC - 37,5M* 75 6.420
FOC - 40M 80 6.820

9. Beneficios para el cliente

Tener un negocio sin presencia en internet es indispensable en los tiempos que corren.
Si tenemos un surtidor o un negocio, la web es una gran ayuda a la necesidad del
negocio para aumentare las ventas y una mejor organización. Así también cualquier
persona desde cualquier parte podrá ver la información acerca del surtidor.

CAPÍTULO 1: MARCO TEÓRICO


1.1 Marco Referencial
Fundamentos: Los sistemas de planificación de recursos empresariales (ERP) son
herramientas de software que ayudan a las empresas a operar de manera eficiente,
automatizando y optimizando una amplia gama de procesos y actividades
empresariales. En el caso de un surtidor de gasolina, un sistema ERP puede mejorar la
administración mediante la gestión y asignación eficiente de recursos, control de
actividades y optimización de costos.

Generalidades: Los sistemas ERP para gasolineras son cada vez más relevantes en la
era de la transformación digital. Para integrar y automatizar la mayoría de los procesos
de la empresa, principalmente los operativos y productivos. En México, por ejemplo,
hay más de 300 marcas diferentes de gasolineras que compiten en el mercado
nacional a través de más de 13 mil 200 gasolineras en todo el país. En este contexto
altamente competitivo, los sistemas ERP juegan un papel preponderante y hacen la
diferencia.

Características: Las principales características de un sistema ERP para gasolineras


incluyen:

• Automatización de procesos y tareas.


• Gestión de la cadena de suministro.
• Integración empresarial de las plataformas de pago y manejo de inventarios.
• Acceso a reportes, métricas y analíticas gracias al uso de big data y cloud
computing.
• Funcionamiento en tiempo real.
• Módulos de gestión financiera.
• Conectividad con Control Volumétrico.
• Monitor de Competencia.
• Cobranza Automática.
• Reportes ISR y DIOT.
• Soporte técnico Premium.
• Cumplimiento Regulatorio.
• Business Intelligence.
• Mantenimiento de estaciones.
Conceptos específicos del rubro: En el caso de un sistema ERP para una gasolinera,
algunos conceptos específicos podrían incluir:

• Control Volumétrico: Se refiere al control y seguimiento del volumen de gasolina


que se maneja en la gasolinera.
• Monitor de Competencia: Herramienta que permite monitorear los precios y
servicios de las gasolineras competidoras.
• Cobranza Automática: Proceso que permite la recolección automática de pagos
por los servicios prestados.
• Reportes ISR y DIOT: Informes fiscales requeridos por la autoridad tributaria.
• Cumplimiento Regulatorio: Cumplimiento con las regulaciones y normas
aplicables a las gasolineras.
1.2 Marco de Trabajo Ágil Scrum

Scrum es un marco de trabajo ágil que se utiliza para la gestión de proyectos,


especialmente en entornos de desarrollo de software. Se caracteriza por:

• Adoptar una estrategia de desarrollo incremental, en lugar de la planificación y


ejecución completa del producto.
• Basar la calidad del resultado más en el conocimiento tácito de las personas en
equipos auto organizados, que en la calidad de los procesos empleados.
• Solapamiento de las diferentes fases del desarrollo, en lugar de realizar una tras
otra en un ciclo secuencial o en cascada.
• Buscar obtener resultados pronto.
• Adaptarse a los requisitos cambiantes o poco definidos.
• Precisar de innovación, competitividad, flexibilidad, productividad.
Se utiliza cuando:

• Cuando lo que se está produciendo no satisface las necesidades del cliente.


• Si los plazos de entrega se prolongan excesivamente y los costos se
incrementan.
• Cuando la calidad del producto o servicio no cumple con los estándares
requeridos.
• Si se necesita una respuesta rápida y efectiva frente a los competidores.
• Cuando el ánimo del equipo es bajo y hay una alta rotación de personal.
• Si es necesario detectar y corregir ineficiencias de manera sistemática.
• Cuando se busca implementar un proceso especializado para el desarrollo del
producto.
• Cuando se necesita adaptabilidad y flexibilidad para responder a cambios en los
requisitos del proyecto.
• Si se busca mejorar la colaboración y la comunicación dentro del equipo.
• Cuando se requiere un enfoque iterativo e incremental para el desarrollo del
producto.
• Si se busca maximizar la entrega de valor en el menor tiempo posible.
• Cuando se necesita transparencia y visibilidad en el progreso del proyecto para
todas las partes interesadas.
Los roles de Scrum son:

Product Owner: Optimiza el valor del producto y gestiona el Product Backlog.


Gestiona todo el flujo de valor del producto, a través del Product Backlog, así como
todo lo relacionado con informes, presupuestos y relación con las partes interesadas en
el producto (Stakeholders). Es el encargado de establecer las prioridades y es el
representante del negocio.

Equipo de desarrollo: Crea incrementos terminados; se gestiona a sí mismo. Se


encarga de crear un incremento terminado a partir de los Product Backlog ítems
seleccionados durante el Sprint Planning. El aspecto más importante del equipo de
desarrollo es que se auto-organiza y se auto-gestiona.

Scrum Máster: Gestiona el proceso Scrum y elimina impedimentos. Se asegura de


que se lleve el proceso Scrum correctamente y de facilitar la ejecución eliminando
impedimentos.

Scrum se ha convertido en uno de los marcos de trabajo más populares para la gestión
de proyectos ágiles, gracias a su flexibilidad, adaptabilidad y eficacia en la entrega de
productos de alta calidad en plazos cortos. Scrum no es un acrónimo, es un nombre
propio y no es parte del manifiesto ágil, sino una implementación del mismo.

CAPÍTULO 2: HERRAMIENTAS TECNOLÓGICAS PARA EL DESARROLLO


2.1 Lenguajes de programación
2.1.1 JavaScript

Es un lenguaje de programación utilizado en el desarrollo web para mejorar la


interactividad y dar una experiencia de usuario rica. Fue desarrollado por Brendan Eich
en 1995 mientras trabajaba en Netscape Communications Corporation. Desde sus
humildes comienzos hasta convertirse en uno de los lenguajes de programación más
populares del mundo, JavaScript ha revolucionado la forma en que interactuamos con
los sitios web y las aplicaciones en línea. JavaScript es un lenguaje de programación
de alto nivel, interpretado y orientado a objetos. A diferencia de otros lenguajes como
HTML y CSS, JavaScript permite la manipulación del contenido de una página web de
forma dinámica, lo que brinda una experiencia más rica al usuario.

• Características: JavaScript es un lenguaje de programación interpretado,


orientado a objetos y con tipado débil. Es imperativo y estructurado, y se utiliza
en el desarrollo de páginas web. JavaScript es multiplataforma y se puede
ejecutar tanto en el cliente como en el servidor.
• Estructura: JavaScript permite una programación estructurada construida a
base de expresiones y sentencias. Las expresiones incluyen asignaciones a
variables, definición de arrays y objetos, invocación a funciones, operadores, etc.
Las sentencias incluyen controles de flujo, declaración de funciones, sentencias
de salto, entre otros.
• Funcionalidades: JavaScript permite crear funciones, bloques de código
diseñados para realizar una tarea específica. Estas funciones pueden ser
asignadas a variables o pasadas como argumentos a otras funciones
2.1.2 Dart

Es un lenguaje de programación contemporáneo desarrollado por Google. Aunque no


pude encontrar una historia detallada de Dart, se sabe que Dart fue diseñado para
facilitar la creación de aplicaciones de alto rendimiento para dispositivos móviles, web y
escritorio. Dart es conocido por su uso en Flutter, un marco de desarrollo de
aplicaciones móviles también desarrollado por Google.

• Características: Dart es un lenguaje de programación open source y gratuito


optimizado para clientes para apps de gran velocidad en diversas plataformas.
Está orientado a objetos y fue desarrollado por Google. Dart soporta una
escritura estática, clases de tipo abstracto, mixins, genéricos rectificados y más.
• Estructura: Dart incorpora patrones del lenguaje, una categoría nueva e
importante de gramática. Además de esta nueva forma de escribir código de
Dart, también se incluyen varias mejoras del lenguaje, como los registros para
empaquetar datos de distinto tipo, los modificadores de clase para controlar los
accesos y nuevas expresiones switch y sentencias if-case.
• Funcionalidades: Dart permite crear funciones, bloques de código diseñados
para realizar una tarea específica. Estas funciones pueden ser asignadas a
variables o pasadas como argumentos a otras funciones
2.1.3 SQL

(Structured Query Language) es un lenguaje de programación utilizado para gestionar


y manipular bases de datos relacionales. IBM lo desarrolló en la década de 1970. SQL
permite a los usuarios crear, modificar, eliminar y extraer datos de una base de datos,
así como administrar y controlar el acceso a la base de datos. SQL se usa mucho en
muchas industrias y es fundamental para cualquier trabajo que implique la
manipulación de datos almacenados en una base de datos relacional.

• Características: SQL es un lenguaje de programación de base de datos


relacionales. Los datos de la base están vinculados unos con otros. SQL permite
realizar consultas en una base de datos utilizando estas variables, así como
manipular, descargar y actualizar los datos.
• Estructura: Las tablas son los objetos de base de datos que actúan como
contenedores de información, en los que la información se organizará en formato
de filas y columnas. Cada fila se considera una entidad descrita por las
columnas con los atributos de la entidad.
• Funcionalidades: SQL permite la creación de funciones que realizan algunas
tareas específicas. Estas funciones pueden tener parámetros de entrada y
deben devolver un único valor o varios registros. Permiten realizar cálculos,
manipulación de cadenas, operaciones aritméticas, comparaciones, entre otros,
para obtener resultados
2.2 Framework y entorno de ejecución
Un framework, o marco de trabajo, es una plantilla para desarrollar software de manera
más rápida y eficiente. Proporciona una estructura base predefinida que los
desarrolladores pueden complementar o modificar según sus objetivos. Los frameworks
permiten reutilizar código y componentes, lo que agiliza el desarrollo y ayuda a
minimizar errores. También proporcionan herramientas y bibliotecas para tareas
específicas, patrones de diseño recomendados para estructurar el código, y estándares
de codificación para mantener la consistencia y legibilidad del código. El objetivo
principal de un framework es ahorrar tiempo y esfuerzo a los desarrolladores,
permitiendo aprovechar soluciones existentes y eliminando la necesidad de escribir
código desde cero para funciones comunes y repetitivas.

2.2.1 React.js

• Versión: La última versión de React.js es la 18.0.


• Renderizado: React.js utiliza un sistema de renderizado basado en un DOM
virtual.
• JSX: React.js utiliza JSX, una extensión de la sintaxis de JavaScript, para crear
elementos de React.
• Componentes: React.js se basa en componentes reutilizables que encapsulan
comportamiento, vista y estado.
• Desarrollo Declarativo Vs Imperativo: React.js adopta un enfoque declarativo
para el desarrollo, lo que significa que se centra en describir el estado final
deseado y deja que React.js se encargue de cómo lograr ese estado.
• Flujo de datos unidireccional: React.js implementa un flujo de datos
unidireccional, lo que significa que los datos en una aplicación React.js fluyen
hacia abajo desde el componente padre al componente hijo.
• Concurrencia: La adición más importante en React 18 es la concurrencia, un
nuevo mecanismo detrás de escena que permite a React preparar múltiples
versiones de tu interfaz de usuario al mismo tiempo.
• Basado en NPM: React.js se distribuye a través de npm, el administrador de
paquetes predeterminado para Node.js.
• Soporte para el caché: React.js no proporciona soporte para el caché
directamente, pero se puede integrar con otras bibliotecas para proporcionar
funcionalidades de caché.
• Soporte para MVC: React.js se ocupa principalmente de la “V” en MVC
(Modelo-Vista-Controlador), es decir, la vista. Sin embargo, se puede utilizar
junto con otras bibliotecas para implementar una arquitectura MVC completa.
• Uso de bibliotecas externas: React.js puede integrarse con una variedad de
bibliotecas externas para funcionalidades adicionales, como enrutamiento,
gestión del estado, etc.
• Adopta las especificaciones ECMAScript: React.js sigue las especificaciones
ECMAScript y se beneficia de las características del lenguaje JavaScript
estándar.
2.2.2 Node.js

• Versión: La última versión de Node.js es la 21.7.1.


• Motor JavaScript V8: Node.js utiliza el motor de ejecución de JavaScript V8,
que se actualiza regularmente para incluir las últimas características del lenguaje
JavaScript.
• Modelo de Permisos Experimental: Node.js v20 introduce un Modelo de
Permisos experimental que proporciona a los desarrolladores más control sobre
el acceso a recursos específicos durante la ejecución.
• Ejecutor de Pruebas Estable: Node.js v20 incluye un ejecutor de pruebas
estable.
• Import.meta.resolve() Síncrona: Node.js v20 introduce import.meta.resolve()
síncrona.
• Aplicaciones Experimentales de Ejecución Única (SEA): Node.js v20 introduce
Aplicaciones Experimentales de Ejecución Única (SEA).
• Soporte para el caché: Node.js no proporciona soporte para el caché
directamente, pero se puede integrar con otras bibliotecas para proporcionar
funcionalidades de caché.
• Soporte para MVC: Node.js se puede utilizar junto con otras bibliotecas para
implementar una arquitectura MVC completa.
• Uso de bibliotecas externas: Node.js puede integrarse con una variedad de
bibliotecas externas para funcionalidades adicionales.
• Adopta las especificaciones ECMAScript: Node.js sigue las especificaciones
ECMAScript y se beneficia de las características del lenguaje JavaScript
estándar.
2.2.3 Flutter

• Versión: La última versión de Flutter es la 3.19.0.


• Multiplataforma: Flutter permite desarrollar aplicaciones para Android, iOS,
Linux, macOS, Windows, Google Fuchsia y la web a partir de un único código
base.
• Motor de renderizado: Flutter utiliza el motor de renderizado Skia de Google,
que permite un alto rendimiento en todas las plataformas.
• Widgets: Flutter utiliza un sistema de widgets para construir la interfaz de
usuario. Los widgets son bloques de interfaz de usuario reutilizables que pueden
ser anidados para construir interfaces complejas.
• Hot Reload: Flutter ofrece la funcionalidad de “Hot Reload”, que permite a los
desarrolladores ver los cambios en el código casi instantáneamente sin perder el
estado de la aplicación.
• Dart: Flutter utiliza el lenguaje de programación Dart, que es fácil de aprender y
potente, y permite una alta productividad.
• Compatibilidad con escritorio: A partir de la versión 3, Flutter ofrece soporte
estable para el desarrollo de aplicaciones de escritorio en macOS, Linux y
Windows.
• Entrada de texto internacional: Flutter ofrece soporte completo para la entrada
de texto internacional, incluyendo idiomas que utilizan editores de métodos de
entrada de texto (IME), como chino, japonés y coreano.
• Accesibilidad: Flutter ofrece soporte para servicios de accesibilidad, como
lectores de pantalla, navegación accesible y colores invertidos.
• Binarios universales en macOS: A partir de la versión 3, las aplicaciones de
escritorio de Flutter para macOS se compilan como archivos binarios
universales, con compatibilidad nativa tanto con las Mac basadas en Intel
existentes como con los últimos dispositivos Apple Silicon de Apple.
• Soporte para MVC: Flutter se puede utilizar junto con otras bibliotecas para
implementar una arquitectura MVC completa.
• Uso de bibliotecas externas: Flutter puede integrarse con una variedad de
bibliotecas externas para funcionalidades adicionales.
• Adopta las especificaciones ECMAScript: Flutter sigue las especificaciones
ECMAScript y se beneficia de las características del lenguaje JavaScript
estándar.
2.3 Sistema de gestión de base de datos
MySQL es un sistema de gestión de bases de datos relacional (RDBMS) de código
abierto con un modelo cliente-servidor. Una compañía sueca llamada MySQL AB lo
desarrolló originalmente en 1994. Posteriormente, fue adquirido por Sun Microsystems
en 2008 y luego por Oracle Corporation en 2010.

Características:

• Base de datos relacional: MySQL organiza los datos en tablas y permite que
estas tablas se relacionen entre sí.
• Código abierto: MySQL es de código abierto, su código fuente está disponible
para el público y puede modificarse.
• Modelo cliente-servidor: En MySQL, las computadoras que tienen instalado y
ejecutan el software RDBMS se llaman clientes. Siempre que necesitan acceder
a los datos, se conectan al servidor RDBMS.
• Compatibilidad con SQL: MySQL es compatible con el lenguaje de consulta
estructurado (SQL), que es un lenguaje estándar para administrar y manipular
bases de datos.
Funcionalidades:

• MySQL permite la creación, modificación y eliminación de bases de datos y


tablas.
• Permite la inserción, actualización, consulta y eliminación de datos en las tablas.
• Soporta procedimientos almacenados, que son bloques de código SQL que se
pueden almacenar en el servidor para ser invocados posteriormente.
• Proporciona mecanismos para la gestión de usuarios y permisos.
MySQL es ampliamente utilizado en muchas aplicaciones web grandes y populares,
como Facebook, Twitter, YouTube, Google y Yahoo. Aunque inicialmente se creó para
un uso limitado, ahora es compatible con muchas plataformas de computación
importantes como Linux, macOS, Microsoft Windows y Ubuntu.

2.4 Lenguaje de modelado de software (MODELO C4)

Modelo C4

El modelo C4 es una técnica de notación gráfica que se utiliza para modelar la


arquitectura de sistemas de software. Fue concebido por Simon Brown en 2006. Este
modelo se basa en la descomposición estructural de un sistema en contenedores y
componentes.

El modelo C4 consta de cuatro niveles de diagramas de arquitectura de software:

• Diagrama de contexto del sistema: Muestra cómo se ajusta el sistema de


software al mundo que lo rodea. Por ejemplo, si estás desarrollando una
aplicación de comercio electrónico, el diagrama de contexto podría mostrar
cómo la aplicación interactúa con los usuarios, el sistema de pago y el sistema
de inventario.
• Diagrama de contenedores: Se adentra en el sistema de software y muestra
los bloques técnicos de alto nivel. En el caso de la aplicación de comercio
electrónico, los contenedores podrían ser la aplicación web, la base de datos y el
servidor de correo electrónico.
• Diagrama de componentes: Se adentra en un contenedor individual y muestra
los componentes que contiene. Por ejemplo, si te adentras en la aplicación web
de la aplicación de comercio electrónico, podrías ver componentes como el
carrito de compras, la página de productos y el sistema de autenticación.
• Diagrama de código: Se puede utilizar para adentrarse en un componente
individual, mostrando cómo se implementa ese componente. Por ejemplo,
podrías mostrar cómo se implementa el carrito de compras en términos de
clases, funciones y variables.
El modelo C4 es una forma de crear mapas de tu código, a varios niveles de detalle, de
la misma manera que usarías algo como Google Maps para acercarte y alejarte de un
área que te interesa. Es una forma de ayudar a los equipos de desarrollo de software a
describir y comunicar la arquitectura del software, tanto durante las sesiones de diseño
inicial como cuando se documenta retrospectivamente una base de código existente
2.5 Herramienta de diseño y modelado
Existen diferentes métodos de modelado, como el modelado relacional, que utiliza
tablas para organizar los datos y sus relaciones. Otros métodos incluyen el modelado
de red, que utiliza una estructura de gráficos para representar sistemas de información
complejos, y el modelado de objetos, que utiliza objetos, clases y herencia para
almacenar los datos. Además, el modelo de esquema de estrella se utiliza en sistemas
de inteligencia empresarial y es especialmente útil para sistemas de análisis de datos.

Para este proyecto, se utilizará la herramienta Enterprise Architect para el diseño de


datos. Enterprise Architect es una herramienta de software que ayuda a los equipos de
desarrollo a visualizar, analizar y diseñar soluciones de software complejas. Ofrece una
variedad de herramientas para el modelado, como diagramas UML, diagramas de flujo
de datos y diagramas de entidad-relación.

Enterprise Architect también ofrece herramientas de colaboración que permiten a los


equipos de desarrollo trabajar juntos en un proyecto en tiempo real, sin importar su
ubicación geográfica. Los miembros del equipo pueden trabajar en el mismo modelo y
ver los cambios realizados por otros miembros del equipo en tiempo real.

Además, Enterprise Architect puede generar código a partir de los modelos creados en
la herramienta, lo que ahorra tiempo y reduce la posibilidad de errores en el código
generado. También permite importar y exportar modelos desde y hacia otras
herramientas de modelado y programación, facilitando la integración con otras
herramientas utilizadas por el equipo de desarrollo.

2.6 Entorno de Desarrollo


Un Entorno de Desarrollo es un conjunto de procesos y herramientas que ayudan a los
programadores a escribir, probar y depurar programas. A veces, este término se usa
indistintamente con Entorno de Desarrollo Integrado (IDE), que es una aplicación de
software que proporciona un espacio de trabajo integral para la creación, edición,
depuración y administración de software.

Nosotros trabajaremos con los siguientes niveles:


• El servidor de montaje: se crea para que sea exactamente igual al entorno del
servidor de producción. La aplicación se prueba en el servidor de montaje para
verificar la fiabilidad y asegurarse de que no falle en el servidor de producción
real. Este tipo de pruebas en el servidor intermedio es el último paso antes de
que la aplicación se despliegue en un servidor de producción. La aplicación tiene
que ser aprobada antes de implementarse en el servidor de producción.
• El servidor de producción: es el entorno final donde se implementa y ejecuta la
aplicación. Una vez aprobada, la aplicación se convierte en parte de este
servidor. Es importante asegurarse de que los servidores de montaje y
producción sean lo más similares posible para evitar problemas al implementar
la aplicación en el servidor de producción.
• El entorno de desarrollo integrado (IDE): es una herramienta de desarrollo de
software que permite a los programadores escribir, generar, probar y depurar un
programa en un mismo lugar. Esto se traduce en un aumento de la eficiencia y
productividad al contar con todas las herramientas necesarias en una sola
interfaz.
2.7 Infraestructura de software (IaaS)
El modelado de datos es un proceso fundamental en el desarrollo de sistemas de
información y bases de datos. Este proceso consiste en representar los datos y su
interrelación de forma visual, utilizando diferentes técnicas y herramientas.

Nosotros utilizaremos en nuestro proyecto lo siguiente:

• Netlify: es una plataforma esencial para la entrega de experiencias web


excepcionales y dinámicas, sin limitaciones. Ofrece una nube frontend para
desarrolladores para construir y desplegar soluciones digitales a prueba de
futuro con herramientas modernas y componibles que funcionan con todos los
marcos modernos. Además, Netlify Connect es una capa de unificación de datos
que da a los equipos web la libertad de crear sitios web de clase mundial,
tiendas online y aplicaciones con datos de cualquier fuente de contenido
existente o nueva.
• Railway: es la nube para construir, enviar y monitorear aplicaciones.
Proporciona primitivas de infraestructura con valores predeterminados sensatos
para administrar secretos, compilaciones y despliegues. A medida que los
proyectos crecen, Railway red de servicios automáticamente. Puedes agregar
bases de datos como Postgres y Redis, y coordinar con Entornos y Changesets.
Railway mantiene tus aplicaciones en la pista mientras empujas los límites de lo
posible.
• Render: es una nube unificada para construir y ejecutar todas tus aplicaciones y
sitios web con certificados TLS gratuitos, CDN global, redes privadas y
despliegues automáticos desde Git. Es una plataforma en la nube moderna para
desarrolladores y equipos.
2.8 Herramientas Colaborativas para Seguimientos de Proyectos
Jira es una herramienta de gestión de proyectos ágiles, usado para planificar, rastrear y
lanzar software de alta calidad. Aquí tienes más detalles sobre sus características y
beneficios:

• Gestión de proyectos ágil: Jira es conocido por su capacidad para manejar el


desarrollo de software ágil. Proporciona soporte para marcos ágiles como Scrum
y Kanban, lo que permite a los equipos organizar eficazmente los proyectos,
definir, asignar y priorizar tareas.
• Tableros ágiles: Los tableros Scrum y Kanban en Jira ayudan a los equipos
ágiles a desglosar proyectos grandes y complejos en piezas de trabajo
manejables. Esto permite a los equipos enfocados, que trabajan en sprints,
entregar más rápido.
• Informes e insights: Jira ofrece informes y paneles de control listos para usar
que ofrecen información crítica dentro del contexto de tu trabajo. Esto asegura
que tus equipos estén siempre actualizados y preparados para el éxito.
• Flexibilidad del proyecto: Puedes elegir entre proyectos gestionados por el
equipo o por la empresa. Jira se adapta a tus flujos de trabajo.
• Automatización: Jira permite automatizar tareas, procesos y flujos de trabajo, lo
que te permite centrarte en las cosas importantes.
• Integraciones y aplicaciones: Jira se puede extender con más de 3000
aplicaciones e integraciones disponibles.
• Visibilidad de DevOps: Jira permite visualizar y medir el progreso desde la idea
hasta la producción en todas las herramientas.
• Seguridad y escalabilidad: Jira está diseñado para la seguridad y la
escalabilidad, con características como el inicio de sesión único SAML, la
verificación en dos pasos obligatoria, la provisión automática de usuarios y más.
Además de estas características, Jira también ofrece tutoriales y guías paso a paso
para ayudarte a aprender a usar la herramienta de manera efectiva. Ya sea que estés
utilizando Jira para el desarrollo de software, la gestión de servicios, la gestión de
productos o cualquier otro caso de uso, Jira tiene las características y la flexibilidad
para adaptarse a tus necesidades.

Sistema de control de Versiones de código

Git es un sistema de control de versiones distribuido que permite a los equipos de


desarrollo colaborar en proyectos de software.
Nosotros utilizaremos esta herramienta para el control de versiones de nuestro
proyecto.

Características y beneficios:

• Control de versiones: Git es un sistema que registra los cambios realizados en


un archivo o conjunto de archivos a lo largo del tiempo, de modo que puedas
recuperar versiones específicas más adelante. Esto es útil cuando varios
desarrolladores están trabajando en un proyecto.
• Distribuido: A diferencia de los sistemas de control de versiones centralizados,
Git permite que cada desarrollador tenga una copia local completa del historial
de desarrollo. Esto significa que no necesitas una conexión a la red para crear
confirmaciones, inspeccionar versiones anteriores de un archivo o realizar
diferencias entre confirmaciones.
• Ramas: Una de las mayores ventajas de Git son sus capacidades de
ramificación. A diferencia de los sistemas de control de versiones centralizados,
las ramas en Git son baratas y fáciles de fusionar. Esto facilita el flujo de trabajo
de la rama de características, popular entre muchos usuarios de Git.
• Colaboración: Git facilita la colaboración permitiendo que los cambios de
múltiples personas se fusionen en una sola fuente. 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.
• Uso: Git se utiliza en una variedad de casos de uso, como el seguimiento de
cambios en el código, la colaboración en proyectos de software y la gestión de
proyectos.
Herramientas de Gestión de Código en la Nube

Bitbucket es una herramienta de gestión de código basada en Git diseñada para


equipos profesionales. Aquí tienes más detalles sobre Bitbucket:

Gestión de código: Bitbucket proporciona un lugar central para administrar repositorios


de Git, colaborar en tu código fuente y guiarte a través del flujo de desarrollo. Ofrece
una gran cantidad de características que incluyen el despliegue de Bitbucket en tres
opciones diferentes: Bitbucket Cloud, Bitbucket Data Center y Bitbucket Server.

Integración con Jira: Bitbucket tiene una integración sin igual con Jira, lo que permite a
los usuarios rastrear el estado de los problemas o el informe de errores sin salir de la
herramienta actual.
Revisión de código: Bitbucket tiene un sistema de revisión de código mejorado con un
tiempo de respuesta más rápido para las solicitudes de extracción, lo que facilita la
colaboración tanto para el desarrollador como para el revisor.

Seguridad: Bitbucket está diseñado para la seguridad y la escalabilidad, con


características como la autenticación en dos pasos y las listas de aceptación de IP.

Integraciones y aplicaciones: Bitbucket se puede extender con más de 3000


aplicaciones e integraciones disponibles.

Casos de uso: Bitbucket se utiliza en una variedad de casos de uso, como el


seguimiento de cambios en el código, la colaboración en proyectos de software y la
gestión de proyectos.

2.9. Diagrama de Interacción de UML


2.9.1 Diagrama de Secuencia
2.9.2 Diagrama de Tiempo
2.9.3 Diagrama de Estado
2.9.4 Diagrama de Navegación

CAPÍTULO 3: REQUERIMIENTOS
3.1 Propósito
El propósito es fomentar la colaboración en los equipos para facilitar el desarrollo de
productos complejos. Además, busca simplificar el proceso de desarrollo para
satisfacer eficazmente las necesidades de los clientes.
3.2 Ámbito de Sistema
Es un sistema estructurado que permite utilizar diversas técnicas y procesos. Scrum
destaca la eficiencia de las estrategias de administración de productos y los métodos
de desarrollo, para facilitar su optimización.
3.3 Equipo SCRUM
RESPONSABLE ROL DETALLE
Fuentes Fuentes Julio Scrum Es responsable de garantizar la
Cesar Master coordinación y la armonía del equipo,
eliminando cualquier obstáculo que pueda
impedir el cumplimiento del trabajo
propuesto durante el sprint.
Camino Puma Ronald Product Es esencial para el éxito del mismo, ya que
Owner tiene mayor conocimiento del
funcionamiento del proyecto y ayuda a
resolver problemas que puedan afectar su
eficiencia.
Cisneros Laura Moises Development Es un equipo autónomo, multifuncional y
David Team auto organizado que trabaja en la
implementación del producto o servicio
durante el Sprint
Mendoza Guzmán Development Es un equipo autónomo, multifuncional y
José Daniel Team auto organizado que trabaja en la
implementación del producto o servicio
durante el Sprint
Vargas Avila Marcelo Development Es un equipo autónomo, multifuncional y
Team auto organizado que trabaja en la
implementación del producto o servicio
durante el Sprint
Cardona Espíndola Development Es un equipo autónomo, multifuncional y
Micael Team auto organizado que trabaja en la
implementación del producto o servicio
durante el Sprint
3.3.1 El Dueño de Producto (Product Owner)
El Dueño de Producto tiene la tarea de aumentar el valor del producto y del trabajo
realizado por el Equipo de Desarrollo. Cómo se logra esto puede variar mucho entre
organizaciones, equipos Scrum e individuos. El Dueño de Producto es la única persona
encargada de administrar la Lista del Producto (Product Backlog).

3.3.2 Equipo de desarrollo (Development team)


El Develoment team son todas las personas necesarias para hacer que un elemento
del backlog del producto se transforme en un incremento del producto potencialmente
entregable. De forma asertiva, son ellos las que hacen que sucedan las cosas. Si no
contamos con un buen Equipo de Desarrollo que construya el producto, poco importa
disponer de los mejores Product Owners y Scrum Másters algunas de las
características del development team son:

Autónomo y Multidisciplinario:
El Development Team es autónomo, lo que significa que no depende de otros equipos
o roles para su trabajo. Tienen la libertad de tomar decisiones y ejecutar tareas sin
restricciones externas.

Además, son multidisciplinarios, lo que implica que poseen una variedad de habilidades
técnicas necesarias para desarrollar el producto. Esto incluye programación, diseño,
pruebas, etc.

Tamaño del Equipo:


Idealmente, el equipo consta de 5 a 9 personas. Este tamaño permite una
comunicación efectiva y una toma de decisiones ágil.

Estable y Dedicado:
El Development Team debe estar comprometido con el proyecto y trabajar de manera
constante para entregar un incremento de software al final de cada ciclo de desarrollo.

3.3.3 El scrum máster


El scrum máster es el responsable de que un proyecto elaborado bajo esta
metodología llegue a su término con éxito. Agiliza cada parte del proceso,
asegurándose de que cada involucrado cumpla su función y comprenda el proyecto
completamente, para obtener el mejor resultado.

El scrum máster es el facilitador clave en un equipo que sigue la metodología ágil


Scrum. Su función principal es asegurarse de que el personal aplique correctamente
estos principios como organizar reuniones, eliminar obstáculos que puedan afectar la
productividad del equipo, promover la colaboración y la comunicación.

3.4 Definiciones, Acrónimos y Abreviaturas (Referencias)


● Administrador: Esta es la persona encargada de todo el sistema, aquel que tiene el
control total como la de gestionar a los usuarios, agregar o eliminar datos etc.

●Empleado: Es el encargado de interactuar con ciertos puntos del sistema como la de


verificar el nivel de las bombas interactuar con los clientes y brinda informe sobre estos.

●Cliente: Es aquel que tiene pocos privilegios en el sistema ya que solo puede ver
cierta información limitada y realizar pagos.

● RF: requisitos funcionales

● DB: base de datos

● HU: Historia de usuario

● SP: sprint

● CU: casos de uso

● RFN: requisitos no funcionales

3.5 Funciones del Producto (Describir características de funcionalidad)


3.5.1 función de gestión de usuarios
El sistema en cuestión brindará un login amigable con el usuario fácil de entender y
seguir el cual permitirá también una personalización dependiendo del rol al que
pertenece.

3.5.2 función de gestión de roles


El sistema permitirá asignar roles a los diferentes tipos de usuarios en el sistema cada
uno con su respectivo nivel de acceso 1) administrador, 2) cliente, 3) Empleado.
3.5.3 función de gestión de servicios
El sistema podrá gestionar los diferentes productos almacenados como Diesel,
Gasolina y Gas.

3.5.4 función de gestión de almacenes


Esta función permitirá tener un control de los niveles disponibles de cada uno de los
diferentes tipos de combustibles

3.5.5 función de gestión de facturas


El sistema proveerá de un apartado donde se podrá visualizar las facturas producto de
los análisis realizados como descuentos, precio neto y precio bruto.

3.6 Product Backlog


Product Backlog
Proyecto SISTEMA DE INFORMACIÓN PARA LA GESTIÓN DE
COMPRA, VENTA, INVENTARIO Y RECURSOS
HUMANOS PARA ESTACIONES DE SERVICIO
Product owner Ronald Camino
Versión 1
Id Rol Característica/Funcionalidad Sprint
Diseñar y crear la estructura de la
ES0 Development tabla para almacenar información
SPRINT 0
1 team sobre el tanque de almacenamiento,
bombas y el combustible.
ES0 Development Crear tablas para gestionar la
SPRINT 0
2 team información de los usuarios.
Diseñar y crear la estructura de la
ES0 Development tabla para almacenar información
SPRINT 0
3 team sobre compras y ventas de
combustible.
Diseñar y configurar tablas para
ES0 Development
gestionar la información de los SPRINT 0
4 team
proveedores de combustible.
ES0 Development Crear tablas para la gestión de la
SPRINT 0
5 team nómina y horario.
Establecer tablas para gestionar la
ES0 Development
asistencia de los empleados, SPRINT 0
6 team
registrando entradas y salidas.
Configurar tablas para almacenar
ES0 Development información sobre contratos,
SPRINT 0
7 team incluyendo fechas de inicio y
finalización.
Diseñar la estructura de la tabla para
ES0 Development
gestionar las cuotas de pagos y sus SPRINT 0
8 team
detalles.
Crear tablas para gestionar las
ES0 Development
cuentas por pagar, registrando los SPRINT 0
9 team
pagos pendientes y vencimientos.
Establecer tablas para la gestión de
ES1 Development
la información de la empresa y sus SPRINT 0
0 team
sucursales.
Configurar tablas para gestionar
ES1 Development
usuarios, roles y permisos en el SPRINT 0
1 team
sistema.
ES1 Crear las tareas del product backlog.
Product owner SPRINT 0
2
ES1 Product owner Determinar las herramientas de uso
SPRINT 0
3 en el proyecto.
ES1 Development Documentar el perfil del proyecto.
SPRINT 0
4 team
ES1 Realizar reuniones para coordinar y
Scrum Máster SPRINT 0
5 planificar.
Configurar la lógica de autenticación
ES1 Development
y autorización para gestionar SPRINT 1
6 team
usuarios, roles y permisos.
Diseñar e implementar la interfaz de
ES1 Development
usuario para el formulario de registro SPRINT 1
7 team
de nuevos clientes.
Implementar el CRUD (Crear, Leer,
ES1 Development
Actualizar, Eliminar) para la tabla SPRINT 1
8 team
usuario.
Implementar la lógica para gestionar
ES1 Development
la información de la empresa y sus SPRINT 1
9 team
sucursales.
Implementar pantallas de
ES2 Development
administración de usuarios, roles y SPRINT 1
0 team
permisos.
Implementar el CRUD (Crear, Leer,
ES2 Development
Actualizar, Eliminar) para la tabla SPRINT 1
1 team
tanque, bomba y combustible.
Diseñar y desarrollar formularios
ES2 Development
para la entrada de información sobre SPRINT 1
2 team
combustibles, tanques y bombas.
Diseñar interfaces para gestionar la
ES2 Development SPRINT 2
información de la empresa y sus
3 team
sucursales.
Configurar la lógica para generar
ES2 Development nóminas de empleados según las
SPRINT 2
4 team horas trabajadas y las tasas de
pago.
Desarrollar funciones para registrar
ES2 Development
la asistencia de los empleados y SPRINT 2
5 team
calcular horas trabajadas.
Implementar la lógica para gestionar
ES2 Development
contratos de empleados, incluyendo SPRINT 2
6 team
la renovación y finalización.
ES2 Development Diseñar interfaces para registrar la
SPRINT 2
7 team asistencia de los empleados.
Crear interfaces para registrar
ES2 Development compras y ventas de combustible,
SPRINT 2
8 team con opciones para seleccionar
proveedores y tipos de combustible.
Diseñar interfaces para registrar la
ES2 Development
asistencia de los empleados y ver SPRINT 2
9 team
los registros de horas trabajadas.
Crear formularios para la gestión de
ES3 Development contratos de empleados, con
SPRINT 2
0 team opciones para establecer fechas y
detalles.
Desarrollar vistas para visualizar y
ES3 Development
gestionar las cuotas de pagos y las SPRINT 2
1 team
cuentas por pagar.
implementar la lógica para gestionar
ES3 Development
la información de la empresa y sus SPRINT 3
2 team
sucursales.
Desarrollar vistas para la gestión de
ES3 Development
la nómina, mostrando detalles de los SPRINT 3
3 team
pagos y deducciones.
Desarrollar la lógica para calcular el
ES3 Development inventario disponible de combustible
SPRINT 3
4 team en base a las transacciones de
compra y venta.
Desarrollar funciones para gestionar
ES3 Development
cuentas por pagar y generar SPRINT 3
5 team
recordatorios de pagos pendientes.
Desarrollar la lógica para calcular el
ES3 Development inventario disponible de combustible
SPRINT 3
6 team en base a las transacciones de
compra y venta.
Configurar la lógica para calcular las
ES3 Development
cuotas de pagos y registrar los SPRINT 3
7 team
pagos realizados.
Integrar servicios de mapas (como
ES3 Development Google Maps o Mapbox) en la
SPRINT 3
8 team aplicación para mostrar ubicaciones
de estaciones de servicio.
Diseñar la interfaz de usuario para la
aplicación móvil, incluyendo
ES3 Development
pantallas para la visualización del SPRINT 4
9 team
mapa y la búsqueda de estaciones
de servicio.
Crear diseños responsivos que se
ES4 Development adapten a diferentes tamaños de
SPRINT 4
0 team pantalla y orientaciones de
dispositivo.
Configurar la funcionalidad de
ES4 Development geolocalización para obtener la
SPRINT 4
1 team ubicación actual del usuario y
mostrarla en el mapa.
Implementar la funcionalidad de
ES4 Development
búsqueda que permita a los usuarios SPRINT 4
2 team
buscar estaciones de servicio por
ubicación, nombre o tipo de
combustible.
Configurar opciones de filtrado para
que los usuarios puedan refinar los
ES4 Development
resultados de búsqueda según SPRINT 4
3 team
diferentes criterios (distancia, precio,
calificación, etc.).
Integrar la funcionalidad de
navegación que permita a los
ES4 Development
usuarios trazar rutas desde su SPRINT 4
4 team
ubicación actual hasta una estación
de servicio seleccionada.

3.7 Requisitos Funcionales (Elaborar tabla App web y movil)


ID Descripcion Tipo
RF1 Inicio de sesión Web
RF2 Gestionar roles Web
RF3 Gestionar permisos Web
RF4 Gestionar contratos Web
RF5 Gestionar asistencias Web
RF6 Gestionar nominas Web
RF7 Gestionar horarios Web
RF8 Gestionar proveedor Web
RF9 Gestionar compras Web
RF10 Gestionar combustibles Web y Móvil
RF11 Gestionar empresa Web y Movil
RF12 Gestionar sucursal Web y Movil
RF13 Gestionar bombas Web
RF14 Gestionar ventas Web
RF15 Gestionar clientes Web
RF16 Gestionar puntos Web
RF17 Gestionar automóviles Web
RF18 Gestionar reportes Web
RF19 Gestionar bitácora Web

3.8 Requisitos no funcionales


RNF1 - Seguridad: La seguridad es un punto crítico debido a que se debe encriptar
cada contraseña del usuario.

RFN2 - Copias de Seguridad: Para garantizar la disponibilidad y la recuperación de


datos en caso de fallos inesperados, es crucial realizar copias de seguridad regulares
de los datos críticos de la plataforma. Estas copias deben incluir tanto la base de datos
como cualquier otro recurso relevante. Las estrategias de respaldo pueden incluir
copias completas, incrementales o diferenciales, según las necesidades específicas del
sistema.

RFN3 - Escalabilidad: La escalabilidad es esencial para adaptarse a un aumento


significativo de tráfico. En eventos de alta demanda, como promociones o ventas
especiales, la plataforma debe manejar más usuarios sin degradar su rendimiento.
Para lograrlo, se pueden implementar técnicas como la distribución de carga, el uso de
cachés, la optimización de consultas y la escalabilidad horizontal (agregando más
servidores). Esto asegurará que la aplicación siga siendo ágil y receptiva a medida que
crece su base de usuarios.

3.9 Lista de casos de uso (web)


MODULO GESTION RECURSOS-HUMANOS
CU1: Iniciar Sesión
CU2: Cerrar Sesión
CU3: Gestión de Usuarios
CU4: Gestión de Roles
CU5: Gestión de Permisos
MODULO GESTION RECURSOS-HUMANOS
CU6: Gestión de Asistencia
CU7: Gestión de Nomina
CU8: Gestión de Horario
CU9: Gestión de Contrato
MODULO DE COMPRA
CU10: Gestión de Proveedor
CU11: Gestión de Compra del producto
CU12: Gestión de Detalle Compra el Producto
MODULO DE INVENTARIO
CU13: Gestión de Empresa
CU14: Gestión de Modulos
CU15: Gestión de Sucursal
CU16: Gestión de Tanque de combustible
CU17: Gestión de Combustible
CU18: Gestión de Bomba combustible
CU19: Gestion de Bomba
MODULO DE VENTAS
CU20: Gestión de Venta de combustible
CU21: Gestión de Detalle venta de combustible
CU22: Gestión de Cliente
CU23: Gestión de Automóvil del Cliente
CU24: Gestión de Puntos

3.9.1 Lista de casos de uso (móvil)


CU25: Agregar mapa de google maps.
CU26: Administrar marcadores de google maps.
CU27: Realizar filtros de búsqueda
CU28: Gestionar guía a surtidor en el mapa.
3.10 Paquetes y casos de Uso
3.11 Planificación Sprint (Diagrama de Gantt)
CAPÍTULO 4: PROCESO DE DESARROLLO DE SOFTWARE
4.1 Sprint 1
Lista de casos de uso (WEB):

• CU1: Iniciar Sesión


• CU2: Cerrar Sesión
• CU3: Gestión de Usuarios
• CU4: Gestión de Roles
• CU5: Gestión de Permisos
• CU10: Gestión de Horario
• CU12: Gestión de Contrato
4.1.1 Sprint Planning
4.1.1.1 Objetivos del Sprint
El objetivo del Sprint 1 es tener listo un sistema donde los usuarios puedan
iniciar sesión, cerrar sesión, gestionar los trabajadores que operan el
establecimiento a través del uso de un sistema de roles y permisos. Además, se
verá la parte de los contratos que va ligado con un horario a cada empleado que
será administrado por el administrador de usuarios.
4.1.1.2 Historias de usuario
Código Historia de usuario
HU1 Crear login de usuario
HU2 Visualizar usuarios
HU3 Administrar usuarios
HU4 Visualizar roles
HU5 Administrar roles
HU6 Ver lista de permisos
HU7 Asignar permisos
HU8 Administrar contrato
HU9 Visualizar contratos
HU10 Administrar horario
HU11 Visualizar horarios

Crear Login de Usuario

<Id> <Descripción>
HU1 Como Administrador intentará ingresar
con su respectiva cuenta para ingresar al
sistema
<Prioridad Valor> <Estimación PHU>
Alta 12
<Criterios de Aceptación>
1. El sistema permite a los usuarios registrarse proporcionando un nombre de usuario
válido, una dirección de correo electrónico válida y una contraseña segura.
2. Se envía un correo electrónico de verificación o se muestra un mensaje de
confirmación después de que se completa el registro.
3. Los usuarios pueden iniciar sesión con las credenciales proporcionadas durante el
registro.
4. Las credenciales de inicio de sesión son autenticadas correctamente antes de
permitir el acceso al sistema.
<Desarrollador a Cargo>
Mendoza Guzman Jose Daniel
Prototipo
Visualizar Usuarios
<Id> <Descripción>
HU2 El administrador podrá tener la opción de
visualizar todos los usuarios que forman
parte de la Estación de Servicio
<Prioridad Valor> <Estimación PHU>
Media 5
<Criterios de Aceptación>
1. La lista de usuarios se muestra correctamente en una interfaz de usuario intuitiva.
2. Cada usuario en la lista muestra información relevante, como nombre, correo
electrónico, roles asignados, etc.
3. Los usuarios pueden filtrar y ordenar la lista de usuarios según diferentes criterios
(por ejemplo, nombre, roles, estado de la cuenta, etc.).

<Desarrollador a Cargo>
Fuentes Fuentes Julio Cesar
Prototipo
Administrar Usuarios
<Id> <Descripción>
HU3 El Administrador podrá tener el control
sobre manipular, designar u otorgar algún
cargo o rol para cada usuario
<Prioridad Valor> <Estimación PHU>
Alta 12
<Criterios de Aceptación>
1. Los usuarios con roles de administrador pueden agregar nuevos usuarios al
sistema.
2. Los usuarios con roles de administrador pueden editar la información de los
usuarios existentes, como nombre, correo electrónico, roles asignados, etc.
3. Los usuarios con roles de administrador pueden desactivar o eliminar cuentas de
usuario según sea necesario.
<Desarrollador a Cargo>
Fuentes Fuentes Julio Cesar
Prototipo

Visualizar Roles
<Id> <Descripción>
HU4 Ya sea si el administrador terminó de
designar los Roles, podrá visualizar la
lista de Roles
<Prioridad Valor> <Estimación PHU>
Media 5
<Criterios de Aceptación>
1. La lista de roles se muestra correctamente en una interfaz de usuario clara.
2. Cada rol en la lista muestra información relevante, como nombre, descripción,
permisos asociados, etc.
3. Los usuarios pueden ver qué roles están asignados a cada usuario en la vista de
detalles del usuario.
<Desarrollador a Cargo>
Fuentes Fuentes Julio Cesar
Prototipo

Administrar Roles

<Id> <Descripción>
HU5 El usuario podrá tener la opción de
administrar los roles, él designará los
roles para cada usuario.
<Prioridad Valor> <Estimación PHU>
Alta 12
<Criterios de Aceptación>
1. Los usuarios con roles de administrador pueden crear nuevos roles en el sistema.
2. Los usuarios con roles de administrador pueden editar la información de roles
existentes, como nombre, descripción, permisos asociados, etc.
3. Los usuarios con roles de administrador pueden eliminar roles del sistema si no
están siendo utilizados.
<Desarollador a Cargo>
Cardona Espíndola Micael
Prototipo
Ver lista de Permisos

<Id> <Descripción>
HU6 Una vez designado los permisos, el
administrador podré observar una lista de
todos los permisos designados.
<Prioridad Valor> <Estimación PHU>
Media 5
<Criterios de Aceptación>
1. La lista de permisos se muestra correctamente en una interfaz de usuario clara.
2. Cada permiso en la lista muestra información relevante, como nombre, descripción,
etc.
3. Los usuarios pueden ver qué permisos están asociados con cada rol en la vista de
detalles del rol.
<Desarrollador a Cargo>
Camino Puma Ronald
Prototipo
Asignar Permisos
<Id> <Descripción>
HU7 El Administrador podrá tener el control
total sobre la designación de permisos de
cada usuario.
<Prioridad Valor> <Estimación PHU>
Alta 2
<Criterios de Aceptación>
1. Los usuarios con roles de administrador pueden asignar permisos a roles
existentes.
2. Los cambios en los permisos asignados se reflejan correctamente en el sistema y
afectan los privilegios de los usuarios que tienen esos roles.

<Desarrollador a Cargo>
Camino Puma Ronald
Prototipo
Administrar Contratos
<Id> <Descripción>
HU8 El Administrador podrá administrar todos
los contratos.
<Prioridad Valor> <Estimación PHU>
Alta 12
<Criterios de Aceptación>
1. Los usuarios con roles de administrador pueden crear nuevos contratos en el
sistema.
2. Los usuarios con roles de administrador pueden editar la información de los
contratos existentes, como nombre, descripción, permisos asociados, etc.
3. Los usuarios con roles de administrador pueden eliminar contratos del sistema en
caso de algún incumplimiento del mismo.
<Desarrollador a Cargo>
Vargas Avila Marcelo
Prototipo
Visualizar Contratos
<Id> <Descripción>
HU9 El Administrador podrá visualizar todos
los contratos.
<Prioridad Valor> <Estimación PHU>
Alta 5
<Criterios de Aceptación>
1. Los usuarios con roles de administrador pueden visualizar los contratos en el
sistema.
2. Los usuarios de tipo empleado podrán visualizar su contrato.

<Desarrollador a Cargo>
Vargas Avila Marcelo
Prototipo
Administrar Horarios
<Id> <Descripción>
HU10 El Administrador podrá administrar todos
los horarios.
<Prioridad Valor> <Estimación PHU>
Alta 12
<Criterios de Aceptación>
1. Los usuarios con roles de administrador pueden crear nuevos horarios en el
sistema.
2. Los usuarios con roles de administrador pueden editar la información de los horarios
existentes, como nombre, descripción, etc.
3. Los usuarios con roles de administrador pueden eliminar horarios del sistema.
<Desarrollador a Cargo>
Cisneros Laura Moises David
Prototipo
Visualizar Horarios
<Id> <Descripción>
HU11 El Administrador podrá visualizar los
respectivos horarios.
<Prioridad Valor> <Estimación PHU>
Media 8
<Criterios de Aceptación>
1. La lista de horarios se muestra correctamente en una interfaz de usuario clara.
2. Cada horario en la lista muestra información relevante, como dia inicio, dia fina,
hora inicio, hora fin, día libre.
3. Los usuarios pueden ver qué horarios están asignados a cada usuario en la vista
de contratos.

<Desarrollador a Cargo>
Cisneros Laura Moises David
Prototipo
4.1.1.3 Contexto del sistema
4.1.1.4 Sprint backlog
Sprint Backlog
Número de Sprint: 1 Tiempo Programado:17 horas

Objetivo: Ofrecer un sistema donde los usuarios puedan iniciar sesión, cerrar sesión,
gestionar los trabajadores que operan el establecimiento a través del uso de un
sistema de roles y permisos. Así como poder ver los contratos y visualizar los horarios
para una mejor estructura en el sistema
Fecha de Inicio: 02/04/2024 Fecha de Finalización: 16/04/2024
Versión 1
Id Tipo Tarea Estimación Responsable Estado
Crear login de 1 hr Mendoza Guzmán José COMPLETADO
HU1 Desarrollo
usuario Daniel
Visualizar 45 COMPLETADO
HU2 Desarrollo usuarios Fuentes Fuentes Julio Cesar
min
Administrar 1 hr COMPLETADO
HU3 Desarrollo usuarios
Fuentes Fuentes Julio Cesar

HU4 Desarrollo Visualizar roles 1 hr Cardona Espíndola COMPLETADO


Micael
Desarrollo Administrar 3hr COMPLETADO
HU5 Cardona Espíndola
roles 30min Micael
Desarrollo Ver lista de 1 hr COMPLETADO
HU6 Camino Puma Ronald
permisos
Desarrollo Asignar 1 hr COMPLETADO
HU7 Camino Puma Ronald
permisos
Desarrollo Administrar 1 hr COMPLETADO
HU8 Vargas Ávila Marcelo
contrato
Desarrollo Visualizar 3 hr COMPLETADO
HU9 Vargas Ávila Marcelo
contratos
Desarrollo Administrar 1 hr Cisneros Laura Moisés COMPLETADO
HU10
horario 30min David
Desarrollo Visualizar 1 hr Cisneros Laura Moisés COMPLETADO
HU11
Horario 30min David
4.1.2 Proceso de Desarrollo por Historia de Usuario
4.1.2.1 Diseño
4.1.2.1.1 Diseñar la arquitectura
4.1.2.1.1.1 Diseño físico (Diagrama de Despliegue)
4.1.2.1.1.2 Diseño Lógico (Diagrama Organizado en Capas)
4.1.2.1.2 Diseño de datos
4.1.2.1.2.1 diseño lógico
4.1.2.1.2.1.1 Diagrama de clase

4.1.2.1.2.1.2 Mapeo
ROL_P
PERMI ERMIS
ROL SO O

PK PK PK/FK PK/FK
descrip descrip id_per
id nombre cion id nombre cion id_rol miso

USUARI
O

PK FK FK
contraseñ id_contrat
codigo nombre apellido telefono correo a id_rol o

HORARIO

PK
id dia_inicio dia_fin hora_inicio hora_fin dia_libre
CONTRAT
O

PK FK
fecha_inici tipo_contra
id o fecha_fin salario to estado id_horario

NOMINA

PK FK
id fecha_pago monto_pago descuento id_usuario

4.1.2.1.2.1.3 Normalización
Las tablas ya están normalizadas, por lo cual no se necesita.
4.1.2.1.2.2 Diseño Físico
4.1.2.1.2.2.1Tabla de volumen
USUARIO
Amplit
Atributos Identificador Nulo Descripcion Llaves
ud
codigo Numérico entero 8 NO Identificador del usuario Primaria
nombre Alfanumérico 100 NO nombre del usuario No
apellido Numérico entero 100 NO apellido del usuario No
telefono Numérico entero 8 NO telefono del usuario No
correo Alfanumérico 100 NO correo del usuario No
contraseña Alfanumérico 50 NO contaseña del usuario No
id_rol Numérico entero 8 NO Identificador fóranea del rol Foránea
id_contrato Numérico entero 8 NO Identificador fóranea de contrato Foránea

PERMISO
Amplit
Atributos Identificador Nulo Descripcion Llaves
ud
id Numérico entero 6 NO Identificador del permiso Primaria
nombre Alfanumérico 100 NO nombre del permiso No
descripcion Alfanumérico 150 NO Descripción acerca del permiso No

ROL
Amplit
Atributos Identificador Nulo Descripcion Llaves
ud
id Numérico entero 6 NO Identificador del rol Primaria
nombre Alfanumérico 100 NO nombre del rol No
descripcion Alfanumérico 150 NO Descripción acerca del rol No

ROL_PERMISO
Amplit
Atributos Identificador Nulo Descripcion Llaves
ud
Primaria,
id_permiso Numérico entero 6 NO Identificador fóranea del permiso
Foránea
Primaria,
id_rol Numérico entero 6 NO Identificador fóranea del rol
Foránea

HORARIO
Amplit
Atributos Identificador Nulo Descripcion Llaves
ud
id Numérico entero 6 NO Identificador del horario Primaria
dia_inicio Fecha - NO Día de inicio del horario No
dia_fin Fecha - NO Día final del horario No
hora_inicio Hora - NO Hora de inicio del horario No
hora_fin Hora - NO Hora final del horario No
dia_libre Fecha - NO Día libre del horario No

NOMINA
Amplit
Atributos Identificador Nulo Descripcion Llaves
ud
id Numérico entero 6 NO Identificador de la nómina Primaria
Fecha de pago del contrato en
fecha_pago Fecha - NO No
nómina
Monto de pago del contrato en
monto_pago Numérico real 6 NO No
nómina
descuento Numérico real 3 NO Descuento porcentual del salario No
id_usuario Numérico entero 4 NO Identificador fóranea del usuario Foránea

ASISTENCIA
Amplit
Atributos Identificador Nulo Descripcion Llaves
ud
id Numérico entero 6 NO Identificador del contrato Primaria
fecha Fecha - NO Fecha de registro de la asistencia No
hora_entrada Hora - NO Hora de la entrada No
hora_salida Hora - NO Hora de las salida No
hora_trabajada Hora - NO Horas trabajadas del dia No
id_usuario Numérico entero 4 NO Identificador fóranea del usuario Foránea

4.1.2.1.2.2.2 Script

CREATE DATABASE estacion_servicio;


USE estacion_servicio;

-- Tabla ROL
CREATE TABLE rol (
id INT AUTO_INCREMENT PRIMARY KEY,
nombre VARCHAR(50),
descripcion VARCHAR(100)
);

-- Tabla PERMISO
CREATE TABLE permiso (
id INT AUTO_INCREMENT PRIMARY KEY,
nombre VARCHAR(50),
descripcion VARCHAR(100)
);

-- Tabla ROL_PERMISO
CREATE TABLE rol_permiso (
id_rol INT,
id_permiso INT,
PRIMARY KEY (id_rol, id_permiso),
FOREIGN KEY (id_rol) REFERENCES rol(id),
FOREIGN KEY (id_permiso) REFERENCES permiso(id)
);

-- Tabla HORARIO
CREATE TABLE horario (
id INT AUTO_INCREMENT PRIMARY KEY,
dia_inicio DATE,
dia_fin DATE,
hora_inicio TIME,
hora_fin TIME,
dia_libre VARCHAR(20)
);

-- Tabla CONTRATO
CREATE TABLE contrato (
id INT AUTO_INCREMENT PRIMARY KEY,
fecha_inicio DATE,
fecha_fin DATE,
salario DECIMAL(10, 2),
tipo_contrato VARCHAR(50),
estado VARCHAR(50),
id_horario INT,
FOREIGN KEY (id_horario) REFERENCES horario(id)
);

-- Tabla USUARIO
CREATE TABLE usuario (
codigo INT AUTO_INCREMENT PRIMARY KEY,
nombre VARCHAR(50),
apellido VARCHAR(50),
telefono VARCHAR(20),
correo VARCHAR(100),
contraseña VARCHAR(100),
id_rol INT,
id_contrato INT,
FOREIGN KEY (id_rol) REFERENCES rol(id),
FOREIGN KEY (id_contrato) REFERENCES contrato(id)
);

-- Tabla NOMINA
CREATE TABLE nomina (
id INT AUTO_INCREMENT PRIMARY KEY,
fecha_pago DATE,
monto_pago DECIMAL(10, 2),
descuento DECIMAL(10, 2),
id_usuario INT,
FOREIGN KEY (id_usuario) REFERENCES usuario(codigo)
);

-- Tabla ASISTENCIA
CREATE TABLE asistencia (
id INT AUTO_INCREMENT PRIMARY KEY,
fecha DATE,
hora_entrada TIME,
hora_salida TIME,
hora_trabajada TIME,
id_usuario INT,
FOREIGN KEY (id_usuario) REFERENCES usuario(codigo)
);

4.1.2.1.2.2.3 Diagrama relacional

4.1.2.1.2.2.4 Población de datos


-- Población de datos para la tabla ROL
INSERT INTO ROL (nombre, descripcion) VALUES
('Administrador', 'Rol con permisos administrativos'),
('Empleado', 'Rol para empleados regulares'),
('Supervisor', 'Rol para supervisores de equipo');

-- Población de datos para la tabla PERMISO


INSERT INTO PERMISO (nombre, descripcion) VALUES
('Crear usuario', 'Permiso para crear nuevos usuarios'),
('Modificar usuario', 'Permiso para modificar la información de un usuario'),
('Eliminar usuario', 'Permiso para eliminar usuarios existentes'),
('Generar reportes', 'Permiso para generar reportes de actividad');

-- Población de datos para la tabla ROL_PERMISO


INSERT INTO ROL_PERMISO (id_rol, id_permiso) VALUES
(1, 1),
(1, 2),
(1, 3),
(2, 2),
(2, 4),
(3, 1),
(3, 2),
(3, 4);

-- Población de datos para la tabla USUARIO


INSERT INTO USUARIO (nombre, apellido, telefono, correo, contraseña, id_rol,
id_contrato) VALUES
('Juan', 'Pérez', '123456789', '[email protected]', 'password123', 1, 1),
('María', 'García', '987654321', '[email protected]', 'password456', 2, 2),
('Pedro', 'Rodríguez', '555555555', '[email protected]', 'password789', 2, 3),
('Ana', 'Martínez', '666666666', '[email protected]', 'passwordabc', 3, 4);

-- Población de datos para la tabla HORARIO


INSERT INTO HORARIO (dia_inicio, dia_fin, hora_inicio, hora_fin, dia_libre) VALUES
('2024-04-10', '2024-04-15', '08:00:00', '17:00:00', 'Sábado y Domingo'),
('2024-04-10', '2024-04-14', '09:00:00', '18:00:00', 'Sábado y Domingo');

-- Población de datos para la tabla CONTRATO


INSERT INTO CONTRATO (fecha_inicio, fecha_fin, salario, tipo_contrato, estado,
id_horario) VALUES
('2024-01-01', '2024-12-31', 2500.00, 'Tiempo completo', 'Activo', 1),
('2024-02-15', '2024-08-15', 1800.00, 'Medio tiempo', 'Activo', 2);

-- Población de datos para la tabla NOMINA


INSERT INTO NOMINA (fecha_pago, monto_pago, descuento, id_usuario) VALUES
('2024-04-30', 2000.00, 100.00, 1),
('2024-04-30', 1500.00, 50.00, 2),
('2024-04-30', 900.00, 30.00, 3);

-- Población de datos para la tabla ASISTENCIA


INSERT INTO ASISTENCIA (fecha, hora_entrada, hora_salida, hora_trabajada,
id_usuario) VALUES
('2024-04-10', '08:00:00', '17:00:00', '09:00:00', 1),
('2024-04-10', '09:00:00', '17:00:00', '08:00:00', 2),
('2024-04-10', '09:30:00', '17:30:00', '08:00:00', 3);
4.1.2.1.2.2.5 Consultas

4.1.2.1.2.2.6 Procedimientos almacenados


No se realizaron por el momento procedimientos almacenados porque no se ha
utilizado, es más si en el futuro se lograra dar uso.
4.1.2.1.2.2.7 Triggers (disparadores)
No se realizaron por el momento ningún trigger porque no se ha utilizado, es más si en
el futuro se logra dar uso.
4.1.2.1.3 Diseño de la lógica de negocio

horarios

RolPermisos
Contrato

4.1.2.2 Implementación
4.1.2.2.1 Componentes y artefactos generados
4.1.2.3 Pruebas
4.1.2.3.1 Plan de pruebas
// Diseño de caso de prueba:
4.1.2.3.1.1 Identificar los casos de prueba
4.1.2.3.1.2 Objetivo de prueba
4.1.2.3.1.3 Desarrollar una lista de pruebas.
4.1.2.3.1.4 Describir casos de uso de prueba
Prueba CU#
Revisión CU#
Entrada
Resultado
Condiciones
Procedimiento
4.1.2.3.2 Reporte de prueba
4.1.3 Daily Scrum
Daily Scrum
Miércoles 3 Jueves 4 Viernes 5 Sábado 6 Domingo 7 Lunes 8 Martes 9 de
Desarrollador Pregunta Domingo 14 de abril
de abril de abril de abril de abril de abril de abril abril
Analice y Termine de
Cardona ¿Qué hice Analice y Termine la Termine el front
cree los implementa Termine mi parte de
Espíndola ayer para cree las parte de end para los
diferentes todos los la documentación
Micael lograr el respectivas los roles permisos
enpoint enpoints
objetivo del tablas para para los
Sprint? los roles diferentes
roles
Empezar
Coordinar
Tratar de con la parte
¿Qué haré Poblare y con mi
terminar del front Preparar la Presentar la
hoy para creare las equipo
todo el para documentación documentación
mejorar el diferentes para
backed visualizar para el sprint 1 terminada
equipo? tablas asignar
los roles
permisos

¿Tengo algún
NO NO NO NO SI SI NO NO
impedimento?

Daily Scrum
Sábado Domingo
Miércoles 3 de Jueves 4 de Viernes 5 Domingo 7 Lunes 8 Martes 9
Desarrollador Pregunta 6 de 14 de
abril abril de abril de abril de abril de abril
abril abril
Hacer
Seleccionar una
Realice
en revisión Ayudar a
el
¿Qué hice paquetes general Hice una consumir
Analizar y Hacer historial
ayer para Colabore con los casos hasta supervisión las apis
diseñar la revision de
lograr el la de usos donde en el del
base Datos general del usarios
objetivo del Documentación para tener se llevo backend backend
documento de los
Sprint? mayor a cabo el hacia el
casos de
orden avance front
usos
del
Camino
informe
Puma
Ayudar
Ronald Verificar
en lo Selecionar
las Trate de
Seleccionar que los Ayudar
¿Qué haré Dar enpoint hacer las
Analizar los las hace casosde a
hoy para sugerencias para el supervición
posibles Casos prioridades falta usos para revisar
mejorar el sobre la consumo en el
de usos a los casos para el sus el
equipo? base datos de las Frontend
de usos codigo respectivos backend
Apis
del historiales
frontend
¿Tengo algún
NO NO NO NO NO NO NO NO
impedimento?

Daily Scrum
Miércol Sábado Doming Domingo
Desarrollad Jueves 4 de Viernes 5 Lunes 8 Martes 9
Pregunta es 3 de 6 de o 7 de 14 de
or abril de abril de abril de abril
abril abril abril abril

Realizar Correcion
Enliste las
la logica Termina Hacer Terminar del
¿Qué hice Ayude a historias
Realizar el backend r la vista el crud la vista document
ayer para prepar de
diseño de las de la basico de la o,
lograr el el usuario y
conceptual historias HU6 de la HU10 y acomode
objetivo del product los casos
del Sprint 1 de HU10 realizar las listas
Sprint? backlog de uso.
usuario pruebas. de
como me usuario.
Cisneros
toco
Laura
Comunicarn Investig Realizar Guiar en
Moises
os mediante Acomode ar las un la
David ¿Qué haré Enlistar Comunica
una reunion el Coordin pautas reunion realizacio
hoy para los r lo
para prepar document ar una del para n del
mejorar el casos investigad
el o. reunion. scrum repartirn document
equipo? de uso o.
documento para os o del
guiar. tareas.. sprint 1.
¿Tengo
algún
NO NO NO NO NO NO NO NO
impediment
o?

Daily Scrum
Viernes Domingo
Miércoles Jueves 4 de Sábado 6 Domingo Lunes 8 Martes 9
Desarrollador Pregunta 5 de 14 de
3 de abril abril de abril 7 de abril de abril de abril
abril abril
Cree el
Realize la
enpoint
Valide Cree las interfas
Cree la Cree el crud Cree los Para el
¿Qué hice los rutas Realize la de
tabla en la base midelware login y
ayer para enpoint para el interfas de gestionar
usuario de datos y helpers logout
lograr el de login, login y usuario y
en la con sus para el quitar y
objetivo del creacion logout y cambiar ise el
base de respectivos json web poner el
Fuentes Sprint? de gestionar contracena respectivo
datos enpoint tokken tokken en
Fuentes Julio usuario usuarios consumo
las
Cesar de la api
cabezeras
Realizar Realizar
¿Qué haré coordicion una
hoy para para definir reunion
mejorar el las para dar
equipo? validaciones el visto
bueno
del
diseño
de la
interfaz
¿Tengo algún
NO NO NO NO NO NO NO NO
impedimento?

Daily Scrum
Marte
Miércol Doming Lunes Domingo
Desarrollad Jueves 4 de Viernes 5 Sábado 6 s9
Pregunta es 3 de o 7 de 8 de 14 de
or abril de abril de abril de
abril abril abril abril
abril
Diseñé
Avanc
¿Qué hice Leí la
é en el
ayer para documentaci lógica
registr
lograr el ón de de
o de
objetivo del anteriores inicio
usuario
Sprint? trabajos de
s
sesión
Ayudar
¿Qué haré
Mendoza Motivar a con la
hoy para
Guzman mi equipo organizaci
mejorar el
Jose Daniel con pizza. ón de las
equipo?
tareas
Si, tuve
una Si, el dolor
¿Tengo
lesión Si, la herida en no me
algún
(muñec no me dejó deja NO NO NO NO NO
impediment
a trabajar. concentrar
o?
derecha me
)

Daily Scrum
Sábado Domingo Lunes Martes Domingo
Miércoles Jueves 4 Viernes 5
Desarrollador Pregunta 6 de 7 de 8 de 9 de 14 de
3 de abril de abril de abril
abril abril abril abril abril
Investigué
Diseñé Ayudé
¿Qué hice diseños
formulari Al estar con la
ayer para para el
Vargas Avila os para estancado lógica
lograr el registro
Marcelo la trabajé en de
objetivo del de
entrada paralelo autenti
Sprint? nuevos
de cación
clientes
combusti
bles

Verifica
¿Qué haré Adelanta Igualar
Investigar Consultar r la Igualar el
hoy para r las el
document sobre el docum trabajo
mejorar el próximas trabajo
ación progreso entació perdido
equipo? tareas perdido
n
¿Tengo algún
NO NO NO NO NO NO NO NO
impedimento?

4.1.4 Sprint Review


Revisión del Sprint

Objetivos del Sprint


• Tener un producto semifuncional con las necesidades básicas para presentar
Participantes
Nombre Rol
Camino Puma Ronald Producto owner
Mendoza Guzman Jose Daniel SCUM máster
Vargas Avila Marcelo Development team
Cardona Espíndola Micael Development team
Cisneros Laura Moises David Development team

Fuentes Fuentes Julio Cesar Development team

Presentación del Incremento


Función Presentada Retroalimentación
Creación de las diferentes vistas para
Administrar usuarios manejar y controlar los usuarios backend
y frontend.
Gestión de los contratos que estarán
involucrados en el sistema así también se
Crear login de usuario
implementó una forma de accesos para
los usuarios principales según su rol
Se ha integrado una funcionalidad
completa para gestionar los contratos.
Esto incluye la capacidad de asignar
contratos a usuarios específicos,
Administrar contratos
establecer fechas de vencimiento y
renovación, adjuntar documentos
relacionados, y registrar cualquier cambio
o actualización importante relacionada
con el contrato.
Se ha creado una página para que el
usuario con rol administrador pueda
Visualizar Contratos visualizar los contratos de los usuarios
tipo empleado que están activos en el
sistema
Se han creado los diferentes endpoints
para los diferentes usuarios que abran en
el sistema así también se hizo de la
Administrar roles y asignar permisos
misma manera los permisos y al final se
crearon una vista amigable para mejorar
la UE
Ver lista de permisos: Desarrollé una
función para que los usuarios vean sus
permisos, con una interfaz intuitiva para
fácil navegación.
Ver lista de permisos y administrar
horario Administrar horario: Creé una página
para que el administrador gestione los
horarios, con las funcionalidades de
agregar, eliminar y editar horarios.

Visualizar roles: Desarrollé una función


Visualizar roles y visualizar permisos
para que los usuarios vean una lista de
roles disponibles en el sistema. Interfaz
intuitiva para una fácil visualización de los
roles y sus descripciones.

Visualizar usuarios: Implementé una


herramienta que permite a los usuarios
ver una lista de otros usuarios registrados
en el sistema. Aseguré que la información
mostrada incluyera detalles relevantes
como nombre, correo electrónico y roles
asignados.

4.1.5 Sprint Retrospective


Sprint Retrospective
Fecha 14/04/2024
FacilitadorMendoza Guzmán José Daniel

Objetivo: Analizar las ventajas y problemas generados en el sprint 1


Nombres de asistentes
• Camino Puma Ronald
• Cardona Espíndola Micael
• Cisneros Laura Moisés David
• Fuentes Fuentes Julio Cesar
• Mendoza Guzmán José Daniel
• Vargas Ávila Marcelo
Temas para tratar
• Manejo óptimo de la base de datos y las diferentes herramientas frontend
• Analizar retrasos en la entrega de tareas
Discusión
¿Qué salió bien? ¿Qué haremos de manera diferente?
¿Qué no salió bien?
A lo largo de toda a Primeramente, mejorar la comunicación en el equipo ya que
implementación todas Malas prácticas causaron la falta de este genera problemas como ser retrasos por la
las pruebas cumplieron ligeros retrasos al momento inexperiencia en el manejo de las diferentes herramientas
con los requisitos de optimizar el código Mejorar el orden de los archivos tanto en el backend como en
definidos el frontend para un mejor entendimiento a nivel general
Uno de los principales
La base de datos resulto problemas fue el manejo de
Dar una pequeña ambientación a los que son nuevos en este
ser confiable y maneja MySQL ya que la mayoría
gestor para así lograr más velocidad al momento de realizar
todos los datos tal y del equipo solía trabajar con
las consultas y creación de tablas
como fue previsto PostgreSQL
Adaptación

4.1.6 Burn down y Burn up


• Gráfica de tareas
Código Tarea Prioridad Estimación Puntuación
Configurar la lógica de autenticación y
ES16 autorización para gestionar usuarios, 3hr 12
roles y permisos. MEDIA
Diseñar e implementar la interfaz de
ES17 usuario para el formulario de registro de 4hr 12
nuevos clientes. ALTA
Implementar el CRUD (Crear, Leer,
ES18 Actualizar, Eliminar) para la tabla 1hr 6
usuario. MEDIA
Implementar la lógica para gestionar la
ES19 información de la empresa y sus 1hr 5
sucursales. MEDIA
Implementar pantallas de administración
ES20 de usuarios, roles y permisos. 4hr 8
ALTA
Implementar el CRUD (Crear, Leer,
ES21 Actualizar, Eliminar) para la tabla tanque, 1hr 30min 15
bomba y combustible. MEDIA
Diseñar y desarrollar formularios para la
ES22 entrada de información sobre 2hr 30min 6
combustibles, tanques y bombas. ALTA
17hr 64

Burn Down
Día Fecha Estimación Avance real Progresión
Inicio Inicio 41 41
martes 2 de abril 36 3 38

miércoles 3 de abril 31 5 33

jueves 4 de abril 26 10 23

viernes 5 de abril 21 8 15

sábado 6 de abril 15 5 10

domingo 7 de abril 10 4 6

lunes 8 de abril 5 6 0

Burn Up
Día Fecha Acumulado
martes 2 de abril 0
miércoles 3 de abril 10
jueves 4 de abril 15
viernes 5 de abril 23
sábado 6 de abril 33
domingo 7 de abril 38
lunes 8 de abril 41

4.1.7 Gráfica de esfuerzo y Datos de esfuerzo


Nombre Puntos
Camino Puma Ronald 33

Cardona Espíndola Micael 30

Cisneros Laura Moises David 45

Fuentes Fuentes Julio Cesar 60

Mendoza Guzman Jose Daniel 25

Vargas Avila Marcelo 38


Gráfico de esfuerzo por puntos sprint 1
Nombre Horas
Camino Puma Ronald 17

Cardona Espíndola Micael 15

Cisneros Laura Moises David 24

Fuentes Fuentes Julio Cesar 30

Mendoza Guzman Jose Daniel 10

Vargas Avila Marcelo 19

Gráfico de esfuerzo por horas de Sprint 1


4.1.8 Scrum Taskboard
4.2 Sprint 2
Lista de casos de uso (WEB):

• CU6: Gestión de Asistencia


• CU7: Gestión de Nomina
• CU13: Gestión de Empresa
• CU14: Gestión de Módulos
• CU15: Gestión de Sucursal
• CU16: Gestión de Tanque de combustible
• CU17: Gestión de Combustible
Lista de casos de uso (MOVIL):

• CU25: Agregar mapa de google maps.


• CU26: Administrar marcadores de google maps.
4.2.1 Sprint Planning
4.2.1.1 Objetivos del Sprint
El objetivo del Sprint 2 es ampliar el sistema para gestionar asistencia, nóminas,
empresas, módulos, sucursales, combustible y tanques de combustibles, asegurando
integración con el sistema existente. Se implementarán funcionalidades según los
casos de uso y las historias de usuario proporcionadas, priorizando una interfaz
intuitiva.

4.2.1.2 Historias de usuario


Código Historia de usuario
HU12 Visualizar Sucursal
HU13 Administrar Sucursales
HU14 Mostrar Coordenadas de Sucursales en
el Mapa
HU15 Registrar Asistencias
HU16 Visualizar Asistencia (Empleado)
HU17 Visualizar Asistencias (Administrador)
HU18 Generar Reporte de Asistencias
HU19 Administrar Empresas
HU20 Administrar Módulos
HU21 Visualizar Empresas
HU22 Visualizar nomina de Empleados
HU23 Administrar nomina de Empleados
HU24 Generar Reportes (Administrador)
HU25 Visualizar Bitácora
HU26 Visualizar Tanques (Administrador)
HU27 Administrar Tanques (Administrador)
HU28 Visualizar Tanques por Sucursal
(Administrador)
HU29 Visualizar Combustibles
HU30 Administrar Combustibles
HU31 Vista de Pagina Dev
HU32 Login de página Dev
HU33 Reportes Bitacora
HU34 Formulario de Compra Módulos
HU35 Administrar marcadores de las sucursales
(Dev)

Visualizar Sucursales
<Id> <Descripción>
HU12 El dueño de la empresa podrá visualizar
todas las sucursales disponibles que
tiene.
<Prioridad Valor> <Estimación PHU>
Alta 8
<Criterios de Aceptación>
1. La lista de sucursales se muestra correctamente en una interfaz de usuario
intuitiva.
2. Cada sucursal en la lista muestra información relevante, como nombre,
ubicación, acciones a realizar.
3. Los dueños de la empresa pueden filtrar y ordenar la lista de sucursales
según diferentes criterios (por ejemplo, nombre, ubicación).
<Desarrollador a Cargo>
Cisneros Laura Moises David
Prototipo
Administrar Sucursales
<Id> <Descripción>
HU13 El dueño de la empresa podrá visualizar
todas las sucursales disponibles que
tiene.
<Prioridad Valor> <Estimación PHU>
Alta 12
<Criterios de Aceptación>
1. Los usuarios con rol de CLIENTE pueden crear nuevos horarios en el sistema.
2. Los usuarios con roles de CLIENTE pueden editar la información de las
sucursales existentes, como nombre, ubicación, etc.
3. Los usuarios con roles de CLIENTE pueden eliminar las sucursales del
sistema.
<Desarrollador a Cargo>
Cisneros Laura Moises David
Prototipo
Mostrar Coordenadas de Sucursales en el Mapa
<Id> <Descripción>
HU14 Se mostrarán mediante coordenadas de
latitud y longitud todas las sucursales en
el mapa.
<Prioridad Valor> <Estimación PHU>
Media 8
<Criterios de Aceptación>
1. El mapa se muestra en la interfaz de usuario y está integrado correctamente
con la API de Google Maps.
2. Cada sucursal debe ser representada en el mapa por un marcador de manera
clara visible y con corrección posicionado en las coordenadas geográficas
correspondientes.
3. Las coordenadas de cada sucursal deben ser precisas y coincidir con la
ubicación real de la sucursal en el mapa.
<Desarollador a Cargo>
Cisneros Laura Moises David

Prototipo
Registrar asistencia
<Id> <Descripción>
HU15 Se podrá registrar Asistencia de los
trabajadores para el control de sus
trabajos Diarios
<Prioridad Valor> <Estimación PHU>
Alta 12
<Criterios de Aceptación>
1. Los trabajadores podrán marcar su asistencia por cada dia de trabajo, de esa
forma tener un control diaria de cada trabajor en su respectivo labor que tiene cada
uno.

2. El trabajor deber marcar si o si, para tener de respaldo su responsabilidad.

<Desarollador a Cargo>
Mendoza Guzman Jose Daniel

Prototipo

Visualizar Asistencia (Empleado)


<Id> <Descripción>
HU16 Los empleados podrán tener su
visualización de sus Asistencia
<Prioridad Valor> <Estimación PHU>
Alta 8
<Criterios de Aceptación>
1. Los empleados por cada día deben marcar sus asistencias para el control de
ingreso al trabajo
2. El mismo empleado podra visualizar sus asistencias anteriores que marcó.
<Desarollador a Cargo>
Mendoza Guzman Jose Daniel

Prototipo

Visualizar Asistencia (Administrador)


<Id> <Descripción>
HU17 El Administrador, obervará la asistencia
de sus empleados

<Prioridad Valor> <Estimación PHU>


Media 12
<Criterios de Aceptación>
1. El administrador, podrá tener el control de las vistas diarias de los empleados
que marcaron sus asistencias.
2. El adminstrador podra tener un mejor control, de sus empleados en su
responsabilidad y cumplimiento de horario de trabajo

<Desarollador a Cargo>
Mendoza Guzman Jose Daniel

Prototipo

Generar reporte de asistencia


<Id> <Descripción>
HU18 El usuario y administrador podrán
generar sus reportes.
<Prioridad Valor> <Estimación PHU>
Media 20
<Criterios de Aceptación>
1. El admistrador como tambien los empleados de cada uno podran realizar u
obtener un reporte de control de todas sus asistencias.
2. El reporte tendrá información de todas las asistencias que hicieron los
empleados la cual se podra observar de manera general por cada dia sus
asistencias
<Desarollador a Cargo>
Mendoza Guzman Jose Daniel

Prototipo
Administrar Empresas
<Id> <Descripción>
HU19 El desarrollador podrá tener la opción de
poder gestionar todas las empresas que
forman parte de la Estación de Servicio
<Prioridad Valor> <Estimación PHU>
Alta 12
<Criterios de Aceptación>
1. La lista de empresas se gestiona correctamente en una interfaz de empresa
intuitiva.
2. Cada empresa se gestiona se podrá agregar, eliminar, actualizar y filtrar todas las
empresas dentro de la estación de servicio.
<Desarrollador a Cargo>
Cardona Espíndola Micael

Prototipo
Administrar Modulo
<Id> <Descripción>
HU20 El dev podrá tener la opción de poder
gestionar todas los modulos que forman
parte de la Estación de Servicio
<Prioridad Valor> <Estimación PHU>
Media 5
<Criterios de Aceptación>
1. La lista de módulos se gestiona correctamente en una interfaz de empresa
intuitiva.
2. Cada módulo se gestiona se podrá agregar, eliminar, actualizar y filtrar todas las
empresas dentro de la estación de servicio.
<Desarollador a Cargo>
Cardona Espíndola Micael
Prototipo
Visualizar Empresas
<Id> <Descripción>
HU21 El dev podrá tener la opción de visualizar
todas las empresas que forman parte de
la Estación de Servicio
<Prioridad Valor> <Estimación PHU>
Alta 8
<Criterios de Aceptación>
1. La lista de empresas se muestra correctamente en una interfaz de empresa
intuitiva.
2. Cada empresa en la lista muestra información relevante, como nombre, correo
electrónico, cantidad de sucursales, etc.
3. Las empresas pueden ser filtradas y ordenar la lista de usuarios según diferentes
criterios (por ejemplo, nombre, roles, estado de la cuenta, etc.).
<Desarrollador a Cargo>
Cardona Espindola Micael
Prototipo

Visualizar Nomina de Empleados


<Id> <Descripción>
HU22 El administrador podra ver todas las
nóminas de los pagos
<Prioridad Valor> <Estimación PHU>
Alta 8
<Criterios de Aceptación>
1. La lista de nóminas se gestiona correctamente en una interfaz de empresa
intuitiva.

<Desarrollador a Cargo>
Julio cesar fuentes fuentes

Prototipo
Administrar Nomina de Empleados
<Id> <Descripción>
HU23 El administrador podra agregartodas las
nominas de los pagos
<Prioridad Valor> <Estimación PHU>
Alta 12
<Criterios de Aceptación>
1. La lista de nominas se gestiona correctamente en una interfaz de empresa
intuitiva.

2. poder agregar y anular nomina de un usuario


<Desarollador a Cargo>
Julio cesar fuentes fuentes

Prototipo

Generar Reportes de Nomina (Administrador)


<Id> <Descripción>
HU24 El administrador podra generar los
reportes personalizados
<Prioridad Valor> <Estimación PHU>
Media 20
<Criterios de Aceptación>
1. se genera el reporte de la nómina tanto Excel como pdf.
<Desarrollador a Cargo>
Julio cesar fuentes fuentes
Prototipo

Visualizar bitácora
<Id> <Descripción>
HU25 El administrador podrá ver la bitácora del
sistema
<Prioridad Valor> <Estimación PHU>
Alta 8
<Criterios de Aceptación>
1. se visualiza los reportes de la bitacora
<Desarrollador a Cargo>
Julio cesar fuentes fuentes

Prototipo
Visualizar Tanques (Administrador)
<Id> <Descripción>
HU26 El administrador podrá visualizar todos
los tanques de combustibles más sus
características
<Prioridad Valor> <Estimación PHU>
Alta 8
<Criterios de Aceptación>
1. se visualiza los tanques

<Desarrollador a Cargo>
Marcelo Vargas Avila

Prototipo
Administrar Tanques (Administrador)
<Id> <Descripción>
HU27 El administrador podrá crear y editar los
tanques
<Prioridad Valor> <Estimación PHU>
Alta 12
<Criterios de Aceptación>
1. Se modifica un tanque

<Desarrollador a Cargo>
Marcelo Vargas Avila

Prototipo
Administrar Tanques (Administrador)
<Id> <Descripción>
HU28 El administrador podrá crear y editar los
tanques
<Prioridad Valor> <Estimación PHU>
Media 20
<Criterios de Aceptación>
1. Se modifica un tanque

<Desarrollador a Cargo>
Marcelo Vargas Avila

Prototipo

Visualizar Combustible (Dev)


<Id> <Descripción>
HU29 El administrador podrá visualizar, la
cantidad de combustible
<Prioridad Valor> <Estimación PHU>
Alta 8
<Criterios de Aceptación>
1. Los usuarios podrán ver los combustibles en los que tendrán u observarán
datos de los respectivos combustibles.
<Desarrollador a Cargo>
Ronald Camino Puma
Prototipo

Administrar Combustible (Dev)


<Id> <Descripción>
HU30 El administrador podrá adminstrar, crear,
editar, actualizar y borrar los datos de los
combustible.
<Prioridad Valor> <Estimación PHU>
Alta 12
<Criterios de Aceptación>
1. El usuario podrá tener el control y manipulación si desea admintrar por
completo los datos de los combustibles.
<Desarrollador a Cargo>
Ronald Camino Puma
Prototipo
Vista de Pagina Dev
<Id> <Descripción>
HU31 El dev podra ver datos generales de la
página oficial cualquier duda, o dirigirse
al login para ingresar a la página oficial
podra ingresar
<Prioridad Valor> <Estimación PHU>
Alta 8
<Criterios de Aceptación>
1. Cuando el Usuario ingresa podrá ver una visualización general de los datos de
la página luego si desea dirigirse al login.
<Desarrollador a Cargo>
Camino Puma Ronald
Prototipo
Login de Pagina Dev
<Id> <Descripción>
HU32 El dev podra ingresar sus datos mediente
el login si los datos son incorrectos no
tendrá acceso
<Prioridad Valor> <Estimación PHU>
Alta 8
<Criterios de Aceptación>
1. Se deberá ingresar los respectivos datos adecuados para el ingreso a la página
oficial
2. El usuario si no agrega correcto los datos no podrá ingresar a los pagina oficial
<Desarollador a Cargo>
Camino Puma Ronald
Prototipo
Generar Reportes de la bitácora (Administrador)
<Id> <Descripción>
HU33 El administrador podra generar los
reportes personalizados de la bitácora
<Prioridad Valor> <Estimación PHU>
Media 20
<Criterios de Aceptación>
1. se genera el reporte de la bitácora en formato pdf

<Desarrollador a Cargo>
Julio cesar fuentes fuentes

Prototipo
Formulario de Compra Módulos
<Id> <Descripción>
HU34 Los dueños de empresa podrán tener la
opción de elegir los modulos que quieres
para su ERP en la Estación de Servicio
<Prioridad Valor> <Estimación PHU>
Alta 12
<Criterios de Aceptación>
1. El formulario se muestra correctamente mostrando asi los datos que la empresa
debe rellenar
2. Podrá seleccionar cada módulo teniendo el de usuario por defecto
<Desarrollador a Cargo>
Cardona Espíndola Micael
Prototipo
Administrar marcadores de las sucursales (Dev)
<Id> <Descripción>
HU35 Los desarrolladores podrán ver que
sucursales poner en el mapa
dependiendo del estado visible de la
sucursal.
<Prioridad Valor> <Estimación PHU>
Media 20
<Criterios de Aceptación>
2. Los usuarios con rol de DEV pueden cambiar el estado visible de las
sucursales.
<Desarrollador a Cargo>
Cisneros Laura Moises David
Prototipo
4.2.1.3 Contexto del sistema
4.2.1.4 Sprint backlog
Sprint Backlog
Número de Sprint: 2 Tiempo Programado: 30 horas

Objetivo: El objetivo es ampliar el sistema para gestionar asistencia, nóminas,


empresas, módulos, sucursales, combustible y tanques de combustibles, asegurando
integración con el sistema existente. Se implementarán funcionalidades según los
casos de uso y las historias de usuario proporcionadas, priorizando una interfaz
intuitiva.
Fecha de Inicio: 26/04/2024 Fecha de Finalización: 14/05/24
Versión 1
Id Tipo Tarea Estimac Responsable Estado
ión
Desarro Visualizar Sucursal 1 hr COMPLET
ll ADO
HU Cisneros Laura
o
12 Moises David

Desarro Administrar Sucursales 1 hr 20 COMPLET


HU ll min Cisneros Laura ADO
13 o Moises David

Desarro Mostrar Coordenadas de COMPLET


HU ll Sucursales en el Mapa 2 hr Cisneros Laura ADO
14 o Moises David

Desarro Registrar Asistencias PENDIENT


ll 1 hr Mendoza E
HU
o Guzman Jose
15
Daniel

Desarro Visualizar Asistencia (Empleado) PENDIENT


ll 1 hr Mendoza E
HU
o Guzman Jose
16
Daniel

Desarro Visualizar Asistencias PENDIENT


ll (Administrador) 1 hr Mendoza E
HU
o 30m Guzman Jose
17
Daniel

Desarro Generar Reporte de Asistencias PENDIENT


ll 1 hr Mendoza E
HU
o 30m Guzman Jose
18
Daniel

Desarro Administrar Empresas 1 hr COMPLET


ll ADO
HU Cardona
o
19 Espíndola Micael

Desarro Administrar Módulos 1 hr PENDIENT


ll 30m E
HU Cardona
o
20 Espíndola Micael

Desarro Visualizar Empresas 45 m COMPLET


HU ll Cardona ADO
21 o Espíndola Micael
HU Desarro Visualizar Sueldos de Empleados 1 hr Fuentes Fuentes COMPLET
22 llo Julio Cesar ADO
HU Desarro Administrar Sueldos de Empleados 1 hr Fuentes Fuentes PENDIENT
23 llo Julio Cesar E
HU Desarro Generar Reportes (Administrador) 1 hr Fuentes Fuentes COMPLET
24 llo 30m Julio Cesar ADO
HU Desarro Bitácora 2 hr Fuentes Fuentes COMPLET
25 llo 30m Julio Cesar ADO
HU Desarro Visualizar Tanques (Administrador) 1 hr Vargas Avila COMPLET
26 llo Marcelo ADO
HU Desarro Administrar Tanques 1 hr Vargas Avila COMPLET
27 llo (Administrador) Marcelo ADO

HU Desarro Visualizar Tanques por Sucursal 1 hr Vargas Avila PENDIENT


28 llo (Administrador) 30m Marcelo E
HU Desarro Visualizar Combustibles 45 m Camino Puma PENDIENT
29 llo Ronald E
HU Desarro Administrar los combustibles 1 hr Camino Puma PENDIENT
30 llo Ronald E
HU Desarro Vista de Pagina Dev 3 hr Camino Puma COMPLET
31 llo Ronald ADO
HU Desarro Login de pagina Dev 45 min Camino Puma COMPLET
32 llo Ronald ADO
HU Desarro Reportes Bitacora 1 hr Fuentes Fuentes COMPLET
33 llo 30m Julio Cesar ADO
Desarro formulario 1 hr COMPLETADO
llo de 30m
HU Cardona
compra
34 Espíndola Micael
de la
empresa
HU Desarro Administrar marcadores de las 2 hr Cisneros Laura COMPLET
35 llo sucursales (Dev) Moises David ADO

Equipo SCRUM
INTEGRANT ROL TAREAS HORAS HORAS CALIFICACI
ES ESTIMADA REALIZADA ÓN
S S
Cardona Scrum 4 6 hr 15 min 12 hr 95
Espíndola Máster
Micael
Vargas Avila Product 3 3 hr 30 min 4 hr 30 min 80
Marcelo Owner

Camino Team Dev 4 4 hr 30 min 8 hr 90


Puma
Ronald
Fuentes Team Dev 5 7 hr 30 min 18 hr 100
Fuentes
Julio Cesar
Mendoza Team Dev 4 5 hr 6 hr 30 min 63
Guzman
Jose Daniel
Cisneros Team Dev 4 6 hr 20 min 12 hr 99
Laura
Moises
David
4.2.2 Proceso de Desarrollo por Historia de Usuario
4.2.2.1 Diseño
4.2.2.1.1 Diseñar la arquitectura (Modelo C4)
Contexto
Contenedor
Componente
Código

4.2.2.1.2 Diseño de datos


4.2.2.1.2.1 Diseño Lógico
4.2.2.1.2.1.1 Diagrama de clase

4.2.2.1.2.1.2 Mapeo
Empresa

id(PK) nombre telefono correo direccion cant_sucursal


Sucursal
id_empresa(F
id(PK) nombre ubicación latitud longitud K)

Tanque_Combusti
ble
cap_maxi id_tanque(F
id(PK) ma descripcion modelo stock stock_min K)

combustible
descripcio unidad_medid
id(PK) n precio_compra precio_venta a

modulo

id(PK) nombre descripcion precio

asistencia
horas_trabaja id_usuario(FK
id(PK) fecha hora_entrada hora_salida das )

usuario
id_usuario(F
codigo(PK) nombre apellido email contrasena telefono K)

nomina
fecha_pag monto_total_p descuento_sala
id(PK) o ago rio descripcion

4.2.2.1.2.1.3 Normalización
Las tablas ya están normalizadas, por lo cual no se necesita.
4.2.2.1.2.2 Diseño Físico
4.2.2.1.2.2.1 Tabla de volumen

USUARIO
Atributos Identificador Amplitud Nulo Descripcion Llaves
codigo Numérico entero 8 NO Identificador del usuario Primaria
nombre Alfanumérico 100 NO nombre del usuario No
apellido Numérico entero 100 NO apellido del usuario No
telefono Numérico entero 8 NO telefono del usuario No
correo Alfanumérico 100 NO correo del usuario No
contraseña Alfanumérico 50 NO contaseña del usuario No
id_rol Numérico entero 8 NO Identificador fóranea del rol Foránea
id_contrato Numérico entero 8 NO Identificador fóranea de contrato Foránea

MODULO
Atributos Identificador Amplitud Nulo Descripcion Llaves
id Numérico entero 6 NO Identificador del permiso Primaria
nombre Alfanumérico 100 NO nombre del permiso No
descripcion Alfanumérico 150 NO Descripción acerca del permiso No
precio Numeriuco decimal 6 NO Ver precio No

EMPRESA
Atributos Identificador Amplitud Nulo Descripcion Llaves
id Numérico entero 6 NO Identificador del permiso Primaria
nombre Alfanumérico 100 NO nombre del permiso No
descripcion Alfanumérico 150 NO Descripción acerca del permiso No
TELEFONO Numerico 6 NO Ver telefono No

combustile
Atributos Identificador Amplitud Nulo Descripcion Llaves
id Numérico entero 6 NO Identificador del rol Primaria
nombre Alfanumérico 100 NO nombre del rol No
descripcion Alfanumérico 150 NO Descripción acerca del rol No
SUCURSAL
Atributos Identificador Amplitud Nulo Descripcion Llaves
id Numérico entero 6 NO Identificador del horario Primaria
Nombre alphanumerico 256 NO Atributo No
telefono alphanumerico 256 NO Atributo No
Hora de inicio del
ubicacion alphanumerico 256 NO No
horario
latitud alphanumerico 256 NO Atributo No
longitud alphanumerico 256 NO Día libre del horario No
TANQUE_COMBUSTIBLE
Atributos Identificador Amplitud Nulo Descripcion Llaves
Id Numérico entero 8 NO Identificador del usuario Primaria
Cap_max Alfanumérico 100 NO nombre del usuario No
descripcion Alfanumérico 100 NO apellido del usuario No
modelo Numérico entero 8 NO telefono del usuario No
stock Alfanumérico 100 NO correo del usuario No
Stock_min Alfanumérico 50 NO contaseña del usuario No

NOMINA
Atributos Identificador Amplitud Nulo Descripcion Llaves
id Numérico entero 6 NO Identificador de la nómina Primaria
Fecha de pago del contrato en
fecha_pago Fecha - NO No
nómina
Monto de pago del contrato en
monto_pago Numérico real 6 NO No
nómina
descuento Numérico real 3 NO Descuento porcentual del salario No
id_usuario Numérico entero 4 NO Identificador fóranea del usuario Foránea

ASISTENCIA
Atributos Identificador Amplitud Nulo Descripcion Llaves
id Numérico entero 6 NO Identificador del contrato Primaria
fecha Fecha - NO Fecha de registro de la asistencia No
hora_entrada Hora - NO Hora de la entrada No
hora_salida Hora - NO Hora de las salida No
hora_trabajada Hora - NO Horas trabajadas del dia No
id_usuario Numérico entero 4 NO Identificador fóranea del usuario Foránea
4.2.2.1.2.2.2 Script
use railway;

create table empresa (


id int auto_increment primary key,
nombre varchar(256) not null,
telefono int not null,
correo varchar(256),
direccion varchar(525) not null,
cant_sucursal int default 1
);

create table sucursal(


id int auto_increment primary key,
nombre varchar(256) not null,
id_empresa int not null,
foreign key (id_empresa) references empresa(id)
);

create table empresa_modulo(


id_empresa int not null,
id_modulo int default 5 not null,
fecha timestamp default now(),
primary key(id_empresa,id_modulo),
foreign key (id_empresa) references empresa(id) ON DELETE CASCADE ON UPDATE
CASCADE,
foreign key (id_modulo) references modulo(id) ON DELETE CASCADE ON UPDATE
CASCADE
);
create table modulo(
id int auto_increment primary key,
nombre varchar(256) not null,
descripcion text not null,
precio decimal (12,2) not null
);

4.2.2.1.2.2.3 Diagrama relacional

4.2.2.1.2.2.4 Población de datos


-- Insertar valores en la tabla empresa
INSERT INTO empresa (nombre, telefono, correo, direccion,cant_sucursal) VALUES
('Tech Solutions', 123456789, '[email protected]', 'Av. Principal 123',2),
('Innovatech', 987654321, '[email protected]', 'Calle Secundaria 456',3);

-- Insertar valores en la tabla empresa_modulo


INSERT INTO empresa_modulo (id_empresa, id_modulo) VALUES
(1,1),
(2,1),
(2,2);
alter table sucursal add column ubicacion text not null;
select * from sucursal;
-- Insertar valores en la tabla modulo
INSERT INTO modulo (nombre, descripcion, precio) VALUES
('Gestión de Inventario', 'Módulo para la gestión eficiente de inventario', 200.00),
('Gestion de Compras', 'Módulo para la gestionar las compras y ventas', 399.99),
('Gestion de Ventas', 'Módulo para la gestión de ventas', 1399.99),
('Gestion de recursos humanos', 'Módulo para la gestión de ventas', 1400.00),
('Gestión de Usuarios', 'Módulo para gestionar a todos los usuarios', 599.99);
select * from empresa;

4.2.2.1.2.2.5 Consultas
SELECT * FROM empresa; (Muestra todos los registros de la tabla "empresa")
SELECT nombre, telefono FROM empresa; (Muestra el nombre y teléfono de todas las
empresas)
SELECT * FROM empresa WHERE direccion LIKE '%calle%'; (Muestra las empresas
que tienen "calle" en su dirección)
SELECT e.nombre, s.nombre FROM empresa e JOIN sucursal s ON e.id =
s.id_empresa; (Muestra el nombre de las empresas y sus sucursales)
SELECT COUNT(*) FROM empresa; (Cuenta el número total de empresas)
SELECT MAX(cant_sucursal) FROM empresa; (Muestra la empresa con el máximo
número de sucursales)
SELECT * FROM modulo WHERE precio > 1000; (Muestra los módulos con un precio
superior a 1000)
SELECT e.nombre, m.nombre FROM empresa_modulo em JOIN empresa e ON
em.id_empresa = e.id JOIN modulo m ON em.id_modulo = m.id; (Muestra el nombre de
las empresas y los módulos que tienen contratados)
SELECT COUNT(*) FROM empresa_modulo GROUP BY id_empresa; (Cuenta el
número de módulos por cada empresa)
SELECT e.nombre, SUM(m.precio) AS total_gasto FROM empresa_modulo em JOIN
empresa e ON em.id_empresa = e.id JOIN modulo m ON em.id_modulo = m.id GROUP
BY e.nombre; (Muestra el gasto total de cada empresa en módulos)
INSERT INTO empresa (nombre, telefono, correo, direccion) VALUES ('Empresa X',
123456, '[email protected]', 'Calle Principal 123'); (Inserta una nueva empresa)
UPDATE empresa SET telefono = 987654 WHERE id = 1; (Actualiza el teléfono de la
empresa con id 1)
DELETE FROM empresa WHERE id = 3; (Elimina la empresa con id 3)
SELECT e.nombre, COUNT(s.id) AS cant_sucursales FROM empresa e LEFT JOIN
sucursal s ON e.id = s.id_empresa GROUP BY e.nombre;
4.2.2.1.2.2.6 Procedimientos almacenados
CREATE PROCEDURE InsertarEmpresaYModulo(
IN p_nombre VARCHAR(256),
IN p_telefono INT,
IN p_correo VARCHAR(256),
IN p_direccion VARCHAR(525),
IN p_cant_sucursal INT,
IN p_modulosID INT
)
BEGIN
DECLARE empresa_id INT;

-- Verificar si la empresa ya existe


SELECT id INTO empresa_id FROM empresa WHERE nombre = p_nombre;

IF empresa_id IS NULL THEN


-- Si la empresa no existe, insertarla
INSERT INTO empresa (nombre, telefono, correo, direccion, cant_sucursal)
VALUES (p_nombre, p_telefono, p_correo, p_direccion, p_cant_sucursal);

SET empresa_id = LAST_INSERT_ID();


END IF;

-- Insertar valores en la tabla empresa_modulo


INSERT INTO empresa_modulo (id_empresa, id_modulo)
VALUES (empresa_id, p_modulosID);
END //
DELIMITER ;
4.2.2.1.2.2.7 Triggers (disparadores)
No se realizaron por el momento ningun trigger porque no se ha utilizado, es mas si en
el futuro se logra darl uso.
4.2.2.1.3 Diseño de la lógica de negocio

Diagrama de clase del Diseño: CU6 Gestión de asistencia

4.2.1.2.2.1.1.2 Diagrama de clase del Diseño: CU7 Gestión de nomina

4.2.1.2.2.1.1.3 Diagrama de clase del Diseño: CU13 Gestión de Empresa


4.2.2.1.3.1 Diagrama de secuencia
Diagrama de secuencia asistencia

4.1.1.2.1.1.2 Diagrama de secuencia nomina


4.1.1.2.1.1.3 Diagrama de secuencia empresa
4.1.1.2.1.1.4 Diagrama de secuencia sucursal
4.1.1.2.1.1.5 Diagrama de secuencia tanque combustible
4.1.1.2.1.1.6 Diagrama de combustible
4.2.2.1.3.2 Diagrama de Tiempo
Gestión Empleado Para Entrada

1. MarcarEntrada()

2. RegistrarEntrada()

3. CerrarAsistencia()

4. ConfirmacionDeCreacion()

5. ConfirmacionEntregaAsitencia()

Gestión Empleado Para Salida

1. MarcarSalida()

2. RegistrarSalida()

3. ActualizarAsistencia()

4. ConfirmacionDeActualizacion()

5. ConfirmacionSalidaRegistrado()
Gestión Administrador Para Visualizar

1. VerAsistencia()

2. ConsultarAsistencia()

4. ObtenerAsistencia()

5. ListaDeAsistencia()

6. ConfirmacionListaDeAsistencia ()

Gestión Administrador Para Agregar Nóminas

1. AgregarRegistroNomina()

2. AgregarNomina(json datos)

4. ConfirmacionDeCreacion()

5. ConfirmacionDeRegistroAgregado()
Gestión Administrador Para Eliminar Nóminas

1. EliminarNomina()

2. EliminarNomina(int id)

3. ConfirmacionDeEliminacion()

Gestión Administrador Para Actualizar Nóminas

1. ActualizarNominas()

2. ConfirmacionActualizacion()

3. ConfirmacionRegistroActualizacion()
4.2.2.1.3.3 Diagrama de estado
4.2.2.1.3.4 Diagrama de navegación

4.1.2.2 Implementación
4.1.2.2.1 Componentes y artefactos generados
4.1.2.3 Pruebas
4.1.2.3.1 Plan de pruebas
4.1.2.3.1.1 Identificar los casos de prueba
CU7: Gestión de Nomina
descripcion
Se gestionara la parte de la paga del sueldo a cada empleado de la empresa
4.1.2.3.1.2 Objetivo de prueba
4.1.2.3.1.3 Desarrollar una lista de pruebas.
4.1.2.3.1.4 Describir casos de uso de prueba
Prueba CU#7: Gestión de Nomina
Revisión CU#7: Gestión de Nomina
Entrada
• Codigo del empleado
• Fecha del dia que se realizo el pago
• Monto del sueldo
• Monto del descuento
• Descripcion de que se esta pagando
Resultado
La nomina debera ser registrado en la base de datos satifactoriamente
Condiciones
El usuario al que se le pagara debera estar registrado previamente en el sistema
Procedimiento
• Ingresar al formulario del registro de la nomina
• Introducir el codigo del usuario al que se le va a pagar, y los demas datos
correspondientes
• Proseder con el pago del sueldo
4.1.2.3.2 Reporte de prueba
El sistema debera guardar los pagos realizados y poder generar los reportes o poder
anular en caso de equibocacion
Realizamos el guardado de datos de la nueva nomina
Guardado de los datos en la base de datos y visualizados en el front-end

Podemos generar los reportes


4.1.2.3.1.4 Describir casos de uso de prueba
Prueba CU#11: Gestión de Empresa
Revisión CU#11: Gestión de Empresa
Entrada
• Id de la empresa
• Nombre de la empresa
• Teléfono de la empresa
• Correo de la empresa
• Dirección
• Cantidad de sucursales
Resultado
La Empresa debera ser registrado en la base de datos satisfactoriamente
Condiciones
El desarrollador debe ingresar previamente en el sistema
Procedimiento
• Ingresar al formulario del registro de la empresa
• Seleccionar el boton agregar para crear una nueva empresa si es necesario
• Seleccionar el 1er botón de acciones para actualizar una nueva empresa si es
necesario
• Seleccionar el 2do botón de acciones para eliminar una nueva empresa si es
necesario
4.1.2.3.2 Reporte de prueba
El sistema debera guardar las empresas creadas y poder mostrarlos en la tabla
Prueba CU#12: Gestión de Modulos
Revisión CU#12:
Gestión de Prueba CU#12: Gestión de Modulos
Revisión CU#12: Gestión de Modulos
Entrada
• Id de la modulo
• Nombre de la modulo
• Descripcion
• precio
Resultado
El modulo debera ser registrado en la base de datos satisfactoriamente
Condiciones
El desarrollador debe ingresar previamente en el sistema
Procedimiento
• Ingresar al formulario del registro del modulo
• Seleccionar el boton agregar para crear un nuevo modulo si es necesario
• Seleccionar el 1er botón de acciones para actualizar un nuevo modulo si es
necesario
• Seleccionar el 2do botón de acciones para eliminar un nuevo modulo si es
necesario
4.1.2.3.2 Reporte de prueba
El sistema debera guardar los modulos creadas y poder mostrarlos en la tabla

4.2.3 Daily Scrum


4.2.4 Sprint Review
Revisión del Sprint

Objetivos del Sprint


• Tener un proyecto funcional para poder gestionar la estación de servicio,
landing page y compras
Participantes
Nombre Rol
Camino Puma Ronald Development team
Mendoza Guzmán José Daniel Development team
Vargas Ávila Marcelo Producto owner
Cardona Espíndola Micael SCUM máster
Cisneros Laura Moises David Development team

Fuentes Fuentes Julio Cesar Development team

Presentación del Incremento


Función Presentada Retroalimentación
Se realizo la landing page donde los
clientes que accedan podrán ver los
Pagina Dev y login Dev precios de los módulos a comprar, como
también podrán logearse para poder
administrarlos.
Se hizo de la misma manera las
interfaces de las páginas de
Administrar y Visualizar Combustible Combustible para que se pueda
administrar los datos que tiene cada
combustible con una interfaz intuitiva.
Se hizo de la misma manera las interfaces
de las páginas de Asistencia para que se
Administrar y Visualizar Asistencia
pueda administrar los datos que tiene cada
asistencia con una interfaz intuitiva.
Se han creado los diferentes endpoints
para que el dev que estará en el sistema
Administrar Empresas y Visualizar así también se hizo de la misma manera
Empresas los empresas y al final se crearon una
vista amigable para mejorar la UI.

Se ha integrado una funcionalidad


completa para gestionar los módulos.
Esto incluye la capacidad de asignar
Administrar Módulos módulos , actualizar y registrar cualquier
cambio o actualización importante
relacionada con los módulos.

Se ha implementado vistas para la


visualización, creación, edición y
eliminación de tanques, así como
Administrar Tanques y Visualizarlos
visualizar los tanques por sucursal. Por
supuesto, también se crearon sus rutas
y controladores.

Se completó la vista de las páginas de


Administrar y visualizar Sucursales sucursales, como también se hizo la
parte de administrar las sucursales lo
cual es intuitiva y amigable con el
usuario.

Se muestra una interfaz amigable en la


Mostrar Coordenadas en el mapa de aplicación móvil donde se ven los
Google Maps marcadores de las sucursales, para que
el usuario pueda verlos.

Se completó la vista para configurar la


visibilidad de los marcadores en el mapa
Administrar marcadores de Sucursales mediante un estado que se puede
administrar por el usuario de manera
intuitiva.

Se realizaron los reportes necesarios


para poder personalizar cada reporte
Reportes Bitacora y Nomina
generado mediante un archivo excel o
pdf.

4.2.5 Sprint Retrospective

Sprint Retrospective
Fecha 11/05/2024
Facilitador Cardona Espíndola Micael

Objetivo: Analizar las ventajas y problemas generados en el sprint 2


Nombres de asistentes
• Camino Puma Ronald
• Cardona Espíndola Micael
• Cisneros Laura Moisés David
• Fuentes Fuentes Julio Cesar
• Mendoza Guzmán José Daniel
• Vargas Ávila Marcelo
Temas para tratar
• Retrasos inesperados

¿Qué salió Discusión


¿Qué haremos de manera diferente?
bien? ¿Qué no salió bien?
Se ha planteado
La implementación cambiar la manera de
Dificultades a nivel frontend por Así también se dará
fue exitosa ya que se crear los crud en el
parte de algunos desarrolladores más libertad y ayudar al
lograron los objetivos front, para así mejorar equipo
del equipo
propuestos el nivel de compresión
de este.

4.2.6 Burn down y Burn up


4.2.6.1 Burn Down
4.2.6.2 Burn Up

4.2.7 Gráfica de esfuerzo y Datos de esfuerzo

4.1.7 Gráfica de esfuerzo y Datos de esfuerzo


Nombre Puntos
Camino Puma Ronald 40
Cardona Espíndola Micael 44
Cisneros Laura Moises David 48
Fuentes Fuentes Julio Cesar 68
Mendoza Guzman Jose Daniel 48
Vargas Avila Marcelo 28

Nombre Horas
Camino Puma Ronald 4 hr 30 min
Cardona Espíndola Micael 6 hr 15 min
Cisneros Laura Moises David 6 hr 20 min
Fuentes Fuentes Julio Cesar 7 hr 30 min
Mendoza Guzman Jose Daniel 5 hr
Vargas Avila Marcelo 3 hr 30 min
4.2.8 Scrum Taskboard
10. Bibliografía
Primer caso de estudio de software:

Gas/Petrol Station Management System in PHP and SQLite Free Source Code |
SourceCodester

Segundo caso de estudio de software:

Petro Genius - Cloud Based Petrol Pump Accounting Software

Tercer caso de estudio de software:

Petrol Pump Software | Petrol Pump Billing & Management Software - MMI
(mmsoftwares.com)

11. Anexos
11.1 Sistema de gestión de gasolineras/petróleo
11.1.1 funcionalidades
• Inicio de sesión seguro: El administrador usa credenciales para entrar y salir del
sistema de forma segura.
• Página principal: Proporciona una vista general del sistema o acceso rápido a
funciones comunes.
• Lista de clientes (CRUD): Permite Crear, Leer, Actualizar y Eliminar información de
clientes, incluyendo posiblemente su historial de compras.
• Punto de venta (POS): Facilita la gestión de transacciones de venta de combustible
a los clientes.
• Ver deudas y lista de pagos de clientes: El administrador puede ver el saldo
pendiente de los clientes y gestionar sus pagos.
• Agregar nuevo pago de cliente: Registrar abonos o pagos completos de facturas de
clientes.
• Generar recibo imprimible: El sistema puede generar recibos impresos para cada
transacción.
• Generar informe de ventas imprimible por fecha: El administrador puede ver
reportes detallados de las ventas diarias.
• Gestionar lista de tipos de combustible (CRUD): Permite agregar, editar o eliminar
los diferentes tipos de combustible que se venden (p.ej., gasolina regular, diésel, etc.).
• Gestionar lista de usuarios (CRUD): El administrador crea, elimina y modifica las
cuentas de otros usuarios para acceder al sistema (por ejemplo, cajeros adicionales).
• Gestionar credenciales de cuenta: Restablecer o cambiar las contraseñas de las
cuentas de usuario.

11.2 Software de Gestión de Inventarios y Contabilidad de Bombas de


Gasolina basada en la nube-Petro Genius
11.2.1 Módulos
1.Contabilidad: Petro Genius proporciona una solución completa de contabilidad e
inventario basada en la nube. Los datos se almacenan en servidores dedicados
completamente seguros, y los informes están disponibles en cualquier momento y lugar.

2.Tablero personalizado para propietarios de estaciones de servicio: Los


propietarios de estaciones de servicio pueden acceder a un panel personalizado que les
permite supervisar y controlar las operaciones.

3.Módulo de Recursos Humanos/Payroll: Petro Genius incluye un módulo de recursos


humanos y nómina para gestionar aspectos relacionados con el personal.

4.Programa de lealtad para conductores: Ofrece un programa de lealtad para


conductores y sistemas de puntos.

5.Control total sobre ventas y límites de crédito: Los propietarios de estaciones de


servicio tienen un control completo sobre las ventas y los límites de crédito.

6.Informes analíticos: Petro Genius proporciona informes detallados, como ventas por
boquilla o unidad de dispensación, ventas por ubicación, compras por mes, análisis de
deudas, entre otros.

7.Gestión de inventario: Incluye informes de inventario, seguimiento de existencias y


cálculo de existencias finales según las tasas de compra o venta.
8.Cumplimiento con GST: Petro Genius está listo para GST y proporciona todos los
informes y cálculos requeridos según las normas de GST.

9.Comunicación por SMS: Ofrece notificaciones por SMS para ventas en efectivo,
ventas a crédito, generación de estados de cuenta, recibos de pago, pagos atrasados,
entre otros.

10.Lubricantes y ventas directas: Petro Genius también maneja las ventas de


lubricantes y ofrece informes detallados.

11.2.2 funcionalidades
• Contabilidad completa

o Registro de transacciones financieras (compras, ventas, gastos, ingresos).


o Generación de estados financieros (balance general, estado de resultados, flujo de
efectivo).
o Seguimiento de cuentas por cobrar y cuentas por paga

• Tablero personalizado para propietarios de estaciones de servicio


o Visualización de métricas clave (ventas, inventario, margen de beneficio).
o Alertas y notificaciones relevantes

• Módulo de Recursos Humanos/Payroll:


o Gestión de empleados (registro, seguimiento de horas trabajadas, salarios).
o Cálculo de nóminas y retenciones.

• Programa de lealtad para conductores:


o Registro de conductores y seguimiento de compras.
o Asignación de puntos y recompensas.

• Control total sobre ventas y límites de crédito:


o Establecimiento de límites de crédito para clientes.
o Monitoreo de ventas en tiempo real.
• Informes analíticos:
o Informes detallados sobre ventas, inventario y deudas.
o Análisis de tendencias y patrones.

• Gestión de inventario:
o Seguimiento de existencias y movimientos.
o Cálculo de existencias finales.

• Cumplimiento con GST:


o Generación de informes y cálculos según las normas de GST.
o Presentación de declaraciones fiscales.

• Comunicación por SMS:


o Notificaciones automáticas por SMS para diversas transacciones.
o Recordatorios de pagos y vencimientos.

• Lubricantes y ventas directas:


o Registro y seguimiento de ventas de lubricantes.
o Generación de informes específicos para estas ventas.

11.3 Oilex Petrol Pumps


11.3.1 funcionalidades
ADMINISTRACIÓN
• Registrar Ventas por Medidor y por Medición
• Mantener la Diferencia de Ventas entre Tanques y Medidores
• Gráficos de Medición Precargados
• Cálculos de Densidad
• Alimentación por Decantación con Compra
• Procedimiento de Inspección de Bombas
• Registro de Vouchers Eliminados/Modificados
• Informes de DSO
CONTABILIDAD
• Contabilidad Financiera Completa
• Flujo de Efectivo y Flujo de Fondos
• Informes con el GST
• Conciliación Bancaria
• Establecer Límite de Crédito y Bloqueo Automático de Vehículos
• Comparación de Ganancias Diarias/Semanales/Mensuales
• Análisis de Ganancias de Deudores

FACTURACIÓN
• Factura de Impuestos según Cumplimiento del GST
• Facturación a Crédito (Semanal / Quincenal / Mensual)
• Opciones de Facturación por Vehículo, Producto y Cliente
• Opción de Descuentos Especiales al Momento de la Facturación
• Facilidad de Envío Directo de Facturas por Correo Electrónico

INVENTARIO
• Valoración Automática de Existencias
• Opción de Tarifas con Impuestos Incluidos
• Entradas Automáticas de Débito/Crédito en Compras y Ventas
• Informes de Inventario por Tanque
• Informes por Vendedor y Turno

DERECHOS DE ACCESO
• Los Derechos de Acceso te permiten proporcionar o restringir el acceso a
funcionalidades específicas para diferentes inicios de sesión.
• Crea tantos inicios de sesión como desees al crear empleados.
• El administrador puede proporcionar una contraseña adicional en cualquier
funcionalidad.

11.4 flujo del modelo de negocio

También podría gustarte