SlideShare ist ein Scribd-Unternehmen logo
1 von 48
Downloaden Sie, um offline zu lesen
I
UNIVERSIDAD TÉCNICA DE ORURO
DIRECCIÓN DE POSTGRADO
INGENIERÍA INFORMÁTICA
MONOGRAFÍA
APLICACIÓN DE MÉTODOS Y
HERRAMIENTAS ÁGILES PARA EL
DESARROLLO DE UN SISTEMA
INFORMÁTICO DE VENTAS
AUTOR:
Saul Mamani Mamani
Oruro – Bolivia
II
RESUMEN
La presente monografía muestra que la aplicación de los métodos y las herramientas ágiles
para desarrollar sistemas de información de calidad en el tiempo planificado y con los recursos pre
establecidos.
Se emplea el marco de trabajo Scrum como metodología ágil de desarrollo de software; y métodos
y herramientas ágiles.
Estos conceptos y herramientas ágiles se ponen en práctica desarrollando un sistema para la venta
de productos. Se comprende mejor la visión del proyecto con un mapa de impactos (Impact
Mapping).
Los requerimientos funcionales son capturados con historias de usuario escritas por el product
owner, se organizan y priorizan las historias de usuario en un product backlog, se estiman el
esfuerzo y el tiempo de cada historia, y se dividen las historias en tres iteraciones (sprints). Las
historias de usuario se detallan con los criterios de aceptación.
Además, se realiza el seguimiento de todas las tareas programadas en un tablero Scrum, y se lleva
un historial de todo el código fuente con una herramienta de control de versiones. En cada iteración
se realiza el sprint review y el sprint restrospective.
III
ÍNDICE GENERAL
RESUMEN......................................................................................................................................II
CAPITULO I IDENTIFICACIÓN DEL PROBLEMA ............................................................ 1
1.1 INTRODUCCIÓN............................................................................................................ 1
1.2 PLANTEAMIENTO DEL PROBLEMA ......................................................................... 1
1.3 PREGUNTA DE INVESTIGACIÓN............................................................................... 2
1.4 OBJETIVOS ..................................................................................................................... 2
1.4.1 OBJETIVO GENERAL ............................................................................................ 2
1.4.2 OBJETIVOS ESPECÍFICOS .................................................................................... 2
1.5 JUSTIFICACIÓN ............................................................................................................. 3
1.5.1 SOCIAL..................................................................................................................... 3
1.5.2 TÉCNICA.................................................................................................................. 3
1.5.3 ADMINISTRATIVA................................................................................................. 3
CAPITULO II MARCO TEÓRICO CONCEPTUAL ............................................................... 4
2.1 SISTEMA INFORMÁTICO............................................................................................. 4
2.2 SISTEMA DE INFORMACIÓN EMPRESARIAL ......................................................... 4
2.3 MANIFIESTO AGIL........................................................................................................ 4
2.4 IMPACT MAPPING ........................................................................................................ 4
2.5 SCRUM............................................................................................................................. 6
2.6 HISTORIAS DE USUARIO............................................................................................. 8
2.6.1 CRITERIOS DE ACEPTACION.............................................................................. 8
2.6.2 MOCKUP.................................................................................................................. 9
2.7 PUNTOS HISTORIA ....................................................................................................... 9
2.8 CÓDIGOS QR .................................................................................................................. 9
2.9 TRANSFERENCIAS BANCARIAS CON CÓDIGO QR............................................. 10
2.10 TRELLO...................................................................................................................... 10
2.11 GIT .............................................................................................................................. 10
CAPITULO III MARCO METODOLÓGICO.......................................................................... 11
3.1 MÉTODOS Y TÉCNICAS UTILIZADAS.................................................................... 11
3.2 FASES DEL PROCESO DE INVESTIGACIÓN .......................................................... 11
IV
3.3 DESARROLLO DEL TRABAJO .................................................................................. 12
3.4 CRITERIO DE ANÁLISIS............................................................................................. 12
3.5 ALCANCES Y LIMITACIONES .................................................................................. 13
CAPITULO IV MARCO PROPOSITIVO ................................................................................ 14
5.1 INICIO............................................................................................................................ 14
5.1.1 VISIÓN DEL PRODUCTO .................................................................................... 14
5.1.2 IDENTIFICACIÓN DEL EQUIPO SCRUM Y LOS STAKEHOLDERS............. 15
5.1.3 PRODUCT BACKLOG PRIORIZADO................................................................. 15
5.1.4 RELEASE PLANNING .......................................................................................... 20
5.2 DESARROLLO ITERATIVO........................................................................................ 20
5.2.1 PRIMER SPRINT.................................................................................................... 21
5.2.2 SEGUNDO SPRINT ............................................................................................... 29
5.2.3 TERCER SPRINT................................................................................................... 34
CAPITULO V CONCLUSIONES Y RECOMENDACIONES............................................... 40
5.1 CONCLUSIONES.......................................................................................................... 40
6.2 RECOMENDACIONES................................................................................................. 40
BIBLIOGRAFÍA........................................................................................................................... 41
ANEXOS....................................................................................................................................... 42
V
ÍNDICE DE TABLAS
Tabla 1. Puntos historia ................................................................................................................... 9
Tabla 2. El proceso de Scrum........................................................................................................ 12
Tabla 3: Historia de usuario – Ingresar al sistema como administrador ....................................... 15
Tabla 4: Historia de usuario – Ingresar al sistema como vendedor............................................... 15
Tabla 5: Historia de usuario – Gestionar usuarios del sistema...................................................... 15
Tabla 6: Historia de usuario – Administrar perfil de usuario........................................................ 16
Tabla 7: Historia de usuario – Cambiar contraseña....................................................................... 16
Tabla 8: Historia de usuario – Gestionar productos ...................................................................... 16
Tabla 9: Historia de usuario – Gestionar clientes.......................................................................... 16
Tabla 10: Historia de usuario – Listar ventas................................................................................ 16
Tabla 11: Historia de usuario – Registrar ventas........................................................................... 17
Tabla 12: Historia de usuario – Generar recibo............................................................................. 17
Tabla 13: Historia de usuario – Anular ventas .............................................................................. 17
Tabla 14: Historia de usuario – Restablecer ventas....................................................................... 17
Tabla 15: Historia de usuario – Registrar precio en Código QR................................................... 18
Tabla 16: Historia de usuario – Pagar con QR .............................................................................. 18
Tabla 17: Historia de usuario – Generar informe económico ....................................................... 18
Tabla 18: Historia de usuario – Generar reportes estadísticos ...................................................... 18
Tabla 19: Product backlog............................................................................................................. 19
Tabla 20: Plan de despliegue......................................................................................................... 20
Tabla 21: HU iniciar sesión........................................................................................................... 21
Tabla 22: HU gestionar usuarios ................................................................................................... 22
Tabla 23: HU gestionar clientes .................................................................................................... 22
Tabla 24: HU gestionar productos................................................................................................. 23
Tabla 25: HU Administrar perfil ................................................................................................... 23
Tabla 26: HU Cambiar contraseña ................................................................................................ 24
Tabla 27: Primer sprint planning................................................................................................... 24
Tabla 28: Primer sprint backlog .................................................................................................... 25
Tabla 29: Caso de uso Listar ventas.............................................................................................. 29
Tabla 30: Caso de uso Registrar ventas......................................................................................... 29
Tabla 31: Caso de uso Generar recibo........................................................................................... 30
Tabla 32: Segundo sprint planning................................................................................................ 30
Tabla 33: Segundo sprint backlog ................................................................................................. 30
Tabla 34: Caso de uso Anular ventas ............................................................................................ 34
Tabla 35: Caso de uso Restablecer ventas..................................................................................... 34
Tabla 36: Caso de uso Restablecer ventas..................................................................................... 35
Tabla 37: Caso de uso Restablecer ventas..................................................................................... 35
Tabla 38: Caso de uso Generar reportes........................................................................................ 35
Tabla 39: Tercer sprint planning ................................................................................................... 36
Tabla 40: Tercer sprint backlog..................................................................................................... 36
VI
ÍNDICE DE FIGURAS
Figura 1: Impact Mapping............................................................................................................... 5
Figura 2: Flujo de Scrum para un Sprint ......................................................................................... 6
Figura 3: Prácticas de Scrum........................................................................................................... 7
Figura 4: Contextos de cynefin........................................................................................................ 8
Figura 5: Modelo de historia de usuario.......................................................................................... 8
Figura 6: Información que representa un código QR .................................................................... 10
Figura 7: Impact mapping.............................................................................................................. 14
Figura 8: Tablero Kanban primer sprint........................................................................................ 26
Figura 9: Tablero Kanban primer sprint........................................................................................ 26
Figura 10: Control de versiones del primer sprint......................................................................... 26
Figura 11: Pantalla login................................................................................................................ 27
Figura 12: Pantalla lista de productos............................................................................................ 27
Figura 13: Pantalla gestión de productos....................................................................................... 28
Figura 14: Seguimiento del primer sprint...................................................................................... 28
Figura 15: Tablero Kanban segundo sprint ................................................................................... 31
Figura 16: Tablero Kanban segundo sprint ................................................................................... 31
Figura 17: Control de versiones del segundo sprint ...................................................................... 32
Figura 18: Pantalla de ventas......................................................................................................... 32
Figura 19: Pantalla recibo con código QR para el pago................................................................ 33
Figura 20: Seguimiento del segundo sprint................................................................................... 33
Figura 21: Tablero Kanban tercer sprint........................................................................................ 37
Figura 22: Tablero Kanban tecer sprint......................................................................................... 37
Figura 23: Control de versiones del tercer sprint .......................................................................... 38
Figura 24: Ventana de ventas realizadas ....................................................................................... 38
Figura 25: Pantalla de gestión de clientes ..................................................................................... 38
Figura 26: Reporte de ventas realizadas........................................................................................ 39
Figura 27: Seguimiento del tercer sprint ....................................................................................... 39
Figura 28: Modelo Relacional....................................................................................................... 42
1
CAPITULO I IDENTIFICACIÓN DEL PROBLEMA
1.1 INTRODUCCIÓN
La información es considerada el activo más importante en cualquier institución, empresa u
organización. La buena o mala administración de este activo es fundamental, principalmente en lo
que se refiere a la toma de decisiones, ya que podría determinar el éxito o el fracaso de los proyectos
o tareas que realizan la institución. Es por esto que las instituciones dependen cada vez más de la
creación, gestión y publicación de sistemas informáticos; capaces de automatizar y administrar su
información de manera fiable y eficiente.
En este contexto la ingeniería de software juega un papel muy importante, ya que nos brinda un
conjunto de metodologías, métodos, técnicas, y herramientas para desarrollar sistemas software
fiable, que cumplan con los requerimientos de los usuarios, y con los estándares de calidad
impuestos por la industria del software.
El desarrollo de software se puede realizar de muchas maneras. Hay diferentes procesos de
desarrollo que los proyectos siguen, desde el modelo de la cascada hasta los procesos basados en
objetivos, pasando por los procesos iterativos e incrementales hasta las metodologías ágiles.
Las metodologías ágiles son aquellas que permiten adaptar la forma de trabajo a las condiciones
del proyecto, consiguiendo flexibilidad e inmediatez en la respuesta para amoldar el proyecto y su
desarrollo a las circunstancias específicas del entorno. En esencia, las empresas que apuestan por
esta metodología consiguen gestionar sus proyectos de forma flexible, autónoma y eficaz
reduciendo los costes e incrementando su productividad.
1.2 PLANTEAMIENTO DEL PROBLEMA
Durante mucho tiempo el desarrollo de software siguió un proceso en cascada. En este
modelo se analizaban los requisitos, se diseñaban, se desarrollaban, se probaban y por último se
desplegaba el sistema. Una de las principales limitaciones del modelo en cascada es que no permite
retroalimentación en cada una de sus etapas, después de algún tiempo cuando se termina el proyecto
y se lo entrega a los usuarios probablemente el negocio ha experimentado cambios mientras se
construía el sistema, y los usuarios responden “Esto es lo que pedí, pero ya no me sirve”.
Por todas las limitaciones del modelo en cascada surge el concepto de desarrollo iterativo e
incremental. Un proyecto puede verse como una serie de pequeñas cascadas, realizando entregas
2
incrementales a los usuarios finales, de los cuales recibimos retroalimentación para la siguiente
iteración. Siguiendo esta visión aparecen un sin fin de modelos; como la metodología en Espiral,
el Proceso Unificado de desarrollo (UP o sus variantes RUP, AUP, EUP, etc.), Ingeniería Web
basada en UML (UWE), etc. Sin embargo, estos modelos se enfocan en una planificación estricta
antes de comenzar el desarrollo del sistema, esto conlleva mucha documentación, burocracia e
iteraciones largas.
Por esta razón surgen los marcos de trabajo y las metodologías ágiles, como SCRUM,
programación extrema (XP), Kanban, etc. cuya visión se centra en el manifiesto ágil. Estas
metodologías se enfocan en el trabajo en equipo, se considera al cliente como parte del equipo, y
se realizan entregables e iteraciones cortas para que el usuario o el cliente constantemente realice
retroalimentación para construir un producto de calidad acorde a sus necesidades.
1.3 PREGUNTA DE INVESTIGACIÓN
Por todo lo expuesto, se plantea la siguiente pregunta de investigación:
¿Qué métodos y herramientas ágiles son las necesarias para desarrollar de manera eficiente (en el
tiempo y presupuesto planificado) un sistema de información para la venta de productos?
1.4 OBJETIVOS
1.4.1 OBJETIVO GENERAL
Identificar los métodos y las herramientas ágiles adecuadas y necesarias para desarrollar un
sistema informático para la venta de productos, de manera eficiente cumpliendo la planificación
establecida.
1.4.2 OBJETIVOS ESPECÍFICOS
− Elaborar un impact mapping para entender mejor el objetivo del sistema que se va a
desarrollar y determinar la visión del proyecto.
− Utilizar una metodología de gestión de desarrollo ágil, para que el sistema sea desarrollado
en el tiempo planificado.
− Especificar los criterios de aceptación de las historias de usuario escritas por el product
owner, para describir el comportamiento esperado del sistema.
− Estimar el esfuerzo y el tiempo de las historias de usuarios con el método puntos historia y
planning pocker.
3
− Gestionar el avance del proyecto con la herramienta Trello, para revisar que se cumpla con
la planificación y asegurar la calidad de sistema.
1.5 JUSTIFICACIÓN
1.5.1 SOCIAL
1.5.2 TÉCNICA
El desarrollo de sistemas informáticos utilizando metodologías ágiles como Scrum,
herramientas de gestión de software como Trello, herramientas de control de versiones como
Git, y Frameworks MVC como Laravel; hacen posible que la construcción de software
cumpla con los altos estándares de calidad.
1.5.3 ADMINISTRATIVA
Toda empresa, que desea tener una gestión adecuada en el desarrollo de sus sistemas,
necesariamente debe utilizar herramientas y metodologías para lograr sus objetivos
organizacionales.
4
CAPITULO II MARCO TEÓRICO CONCEPTUAL
2.1 SISTEMA INFORMÁTICO
Un sistema informático es un sistema que permite almacenar y procesar información; es el
conjunto de partes interrelacionadas: hardware, software y personal informático. El hardware
incluye computadoras o cualquier tipo de dispositivo electrónico, que consisten en procesadores,
memoria, sistemas de almacenamiento externo, etc. El software incluye al sistema operativo,
firmware y aplicaciones, siendo especialmente importante los sistemas de gestión de bases de
datos. Por último, el componente humano incluye al personal técnico que apoya y mantienen el
sistema (analistas, programadores, operarios, etc.) y a los usuarios que lo utilizan.
2.2 SISTEMA DE INFORMACIÓN EMPRESARIAL
Un Sistema de Información Empresarial o SIE es generalmente cualquier tipo de sistema de
computación que es de "clase enterprise". Esto significa normalmente que ofrece alta calidad de
servicio, lidia con grandes volúmenes de datos - capaz de soportar cualquier organización grande.
2.3 MANIFIESTO AGIL
Como consecuencia de una reunión donde se acuño el término “Metodologías Ágiles” (febrero
2001), se establecieron los valores de estas metodologías agrupándoles en cuatro postulados;
quedando esta agrupación denominada como Manifiesto Ágil. A continuación, se mencionan los
cuatro postulados de este manifiesto:
− Valorar más a los individuos y su interacción que a los procesos y las herramientas.
− Valorar más el software que funciona que la documentación exhaustiva.
− Valorar más la colaboración con el cliente que la negociación contractual.
− Valorar la respuesta al cambio que el seguimiento de un plan.
Esto quiere decir que se valora más lo primero, sin dejar de lado lo segundo. (Manifesto, 2019)
2.4 IMPACT MAPPING
El Impact Mapping es una técnica de planificación estratégica creada por Gojko Adzic. Fue
presentada en Octubre de 2013 en el 5º Agile Tour como herramienta para mejorar la utilización
de técnicas ágiles en el desarrollo de software.
5
Esta técnica crea un marco de trabajo visual para entender los objetivos y los resultados esperados,
hecho que facilita la toma de decisiones de forma colaborativa. (Pomares, 2021)
Figura 1: Impact Mapping
Fuente: (Pomares, 2021)
Entre las ventajas que nos proporcionan los Impact Mapping están:
− Son rápidos, muy visuales y colaborativos.
− Facilitan la participación de personas con diferentes funciones y experiencia.
− Ponen al descubierto las suposiciones que puedan estar ocultas y documenta las decisiones
importantes.
− Proporcionan la estructura suficiente para facilitar una planificación y priorización eficaces,
todo ello sin imponer un lenguaje técnico y burocracia que nos entorpezcan.
En resumen:
− Se centra en la colaboración entre todas las partes interesadas.
− Visualiza y comunica claramente las suposiciones.
− Es rápido e iterativo para poder adaptar los cambios sin demora.
6
2.5 SCRUM
Scrum es un marco de trabajo para la gestión y desarrollo de productos complejos, en un
proceso iterativo e incremental utilizado comúnmente en entornos donde existe gran incertidumbre.
Scrum está basado en un pequeño conjunto de valores, principios, y prácticas; que se basan en los
principios de inspección y adaptación, enfocados más en el aspecto humano y el trabajo en equipo
donde se involucra totalmente al cliente en todo el proceso. (Rubin, 2013)
Figura 2: Flujo de Scrum para un Sprint
Fuente: (Rubin, 2013)
En Scrum se realizan entregas parciales y regulares del producto final, priorizadas por el beneficio
que aportan al receptor del proyecto. Por ello, Scrum está especialmente indicado para proyectos
en entornos complejos, donde se necesita obtener resultados pronto, donde los requisitos son
cambiantes o poco definidos, donde la innovación, la competitividad, la flexibilidad y la
productividad son fundamentales.
7
Figura 3: Prácticas de Scrum
Fuente: (Rubin, 2013)
“Todo en el software cambia. Los requisitos cambian. El diseño cambia. El negocio cambia. La
tecnología cambia. El equipo cambia. Los miembros del equipo cambian. El problema no es el
cambio en sí mismo, puesto que sabemos que el cambio va a suceder; el problema es la incapacidad
de adaptarnos a dicho cambio cuando éste tiene lugar.” Kent Beck.
Scrum es un marco de trabajo ágil que está basado en un pequeño conjunto de valores, principios
y prácticas. Scrum ha ganado popularidad en estos últimos años ya que se adapta bien en proyecto
cuyos requisitos cambian constantemente, proyectos no predecibles, y proyectos de entorno
complejos con gran incertidumbre.
8
Figura 4: Contextos de cynefin
Fuente: (Mercurial, 2019)
2.6 HISTORIAS DE USUARIO
Es una narración que describe una funcionalidad del sistema que tiene valor para un usuario
del sistema.
Las historias de usuario deben ser independientes, negociables, evaluables, estimables, pequeñas,
y se las deben probar.
Figura 5: Modelo de historia de usuario
Fuente: Elaboración propia
2.6.1 CRITERIOS DE ACEPTACION
Los criterios de aceptación están escritos por el Product Owner (a veces en colaboración con
el equipo de desarrollo o por el QA) y acompañan cada historia de usuario: representan un conjunto
de condiciones que se deben cumplir para considerar la historia de usuario completa y terminada.
9
2.6.2 MOCKUP
Un mockup o maqueta es un diseño digital de una web y / o aplicación. Las maquetas se
utilizan en la fase de diseño inicial para visualizar ideas y conceptos en el contexto del diseño web
e incluyen la estructura de navegación, el sitio y los elementos de diseño en detalle.
2.7 PUNTOS HISTORIA
El método de los puntos de historia es la forma de realizar estimaciones de esfuerzo y tiempo
a las historias de usuario. También nos sirve para medir la velocidad del sprint en la reunión de
retrospectiva.
Se escoge una historia de usuario sencilla, una que todo el mundo entiende, para emplearla como
referencia. Esa sería la definición de 1 punto de historia en el proyecto. Para estimas las otras
historias de usuario, bastará con compararlo con la historia de referencia.
Se emplea la actividad de planning pocker para determinar el valor de los puntos y el tiempo de las
historias de usuario, según el siguiente cuadro.
SIZE POINTS TIME [Days]
XtraSmall (XS) 1 ½
Small (S) 2 1
Medium (M) 3 2
Large (L) 5 3
XtraLarge (XL) 8 5
Tabla 1. Puntos historia
Fuente: Elaboración propia
2.8 CÓDIGOS QR
Un código es la evolución del código de barras. Es un módulo para almacenar información
en una matriz de puntos o en un código de barras bidimensional. La matriz se lee en el dispositivo
móvil por un lector específico (lector de QR) y de forma inmediata nos lleva a una aplicación en
Internet, un mapa de localización, un correo electrónico, una página web o un perfil en una red
social. Fue creado en 1994 por la compañía japonesa Denso Wave, subsidiaria de Toyota. Presenta
tres cuadrados en las esquinas que permiten detectar la posición del código al lector.
10
Figura 6: Información que representa un código QR
Fuente: (DENSO WAVE INCORPORATED , 01)
2.9 TRANSFERENCIAS BANCARIAS CON CÓDIGO QR
Para realizar transferencias bancarias, sólo se necesita tener una cuenta en una entidad
bancaria o en una cooperativa y un teléfono inteligente. Los códigos QR son códigos de barras
bidimensionales que tienen información codificada y encriptada para efectuar transacciones de
transferencia a terceros y transferencias ACH de forma segura.
En Bolivia los pagos QR han logrado incluir más personas a la inclusión financiera. La tecnología
ha se ha popularizado con las transacciones de dinero electrónico en compras rutinarias, desde
pagos lujosos hasta mercados populares. (Soli, 2022)
2.10 TRELLO
Trello es una herramienta en línea para la administración de tareas de un proyecto, el
seguimiento de errores e incidencias y para la gestión operativa de proyectos. La herramienta fue
desarrollada por la empresa australiana Atlassian.
2.11 GIT
Git es un software de control de versiones, pensando en la eficiencia y la confiabilidad del
mantenimiento de versiones de aplicaciones cuando éstas tienen un gran número de archivos de
código fuente.
11
CAPITULO III MARCO METODOLÓGICO
3.1 MÉTODOS Y TÉCNICAS UTILIZADAS.
La metodología representa un conjunto ordenado de guías que permiten inferir la manera de
hacer frente a una situación. Para esto se emplean los modelos, que son una abstracción del
comportamiento de un sistema.
Se van a utilizar los siguientes métodos y técnicas:
− Scrum, como marco metodológico ágil de desarrollo de software.
− Impact Mapping, como técnica ágil para la elicitación y captura de necesidades y
requisitos del sistema
− Historias de usuario, para describir de manera detallada los requerimientos del sistema
escritas por los usuarios y por el product owner
− Puntos de historia, como método para estimar el tiempo de desarrollo y el costo de
implementación de las historias de usuario.
− Burdown Chart, como gráfica para revisar la gestión o el avance de los requerimientos del
usuario según lo planificado.
− Tablero Scrum, como herramienta ágil para visualizar el avance de las tareas o historias
de usuario.
− Definition of Done (DoD), como técnica para definir si una historia de usuario o una tarea
se considera completada.
− Lenguaje de Modelado Unificado (UML), como notación gráfica para el análisis y diseño
de la base de datos.
3.2 FASES DEL PROCESO DE INVESTIGACIÓN
Los procesos de Scrum abordan las actividades y el flujo específico de un proyecto Scrum.
En total hay diecinueve procesos que se agrupan en cinco fases. Al ser una metodología ágil, los
procesos se adaptan según el tipo y el tamaño del proyecto que se está construyendo.
12
Tabla 2. El proceso de Scrum
Fuente: (Satpathy, 2013)
3.3 DESARROLLO DEL TRABAJO
El trabajo de investigación se va a desarrollar aplicando las metodologías y herramientas
ágiles identificadas en el punto [3.1].
Para poner en práctica la idea que se quiere mostrar en la presente monografía, se desarrolla un
sistema de ventas para la venta de todo tipo de productos, vestimenta, tecnología, etc.
3.4 CRITERIO DE ANÁLISIS
Para el análisis del sistema se van a emplear los métodos ágiles como son el Impact Mapping
y las historias de usuario con los criterios de aceptación bien definidos. Con el Lenguaje de
Modelado Unificado (UML) se va a analizar y diseñar la base de datos.
13
3.5 ALCANCES Y LIMITACIONES
Para poner en práctica la propuesta que se quiere mostrar en la presente monografía, se
desarrolla un sistema de ventas para la venta de todo tipo de productos.
a) Alcances:
− Administración de usuarios, roles y permisos
− Gestión de productos
− Gestión de clientes
− Registro de venta de productos
− Anulación y restablecimiento de las ventas
− Generación de un recibo o nota de venta.
− Generación de códigos QR para la venta de productos por transferencia bancaria
− Generación de informes económicos y reportes estadísticos
b) Limitaciones:
− Para mantener la simplicidad del proyecto, no se implementa un módulo de facturación
computarizada.
− La monografía está enfocada en el análisis, diseño y desarrollo del sistema. Por esta
razón no se documenta las pruebas realizadas ni la puesta en producción.
14
CAPITULO IV MARCO PROPOSITIVO
5.1 INICIO
5.1.1 VISIÓN DEL PRODUCTO
El sistema de información propuesto, en los alcances y limitaciones, va enfocado a cualquier
negocio cuyo rubro principal consiste en la venta de productos en general.
Como el proyecto no se enfoca en un negocio o empresa en particular, se hace uso de un mapa de
impacto (impact mapping) para comprender mejor la visión del sistema que se va a desarrollar.
Figura 7: Impact mapping
Fuente: Elaboración propia
Objetivo
Actores
Impactos Entregables
15
5.1.2 IDENTIFICACIÓN DEL EQUIPO SCRUM Y LOS STAKEHOLDERS
Con fines académicos, los roles de Scrum están representados por una sola persona.
a) Product owner: Saul Mamani M.
b) Scrum master: Saúl Mamani M.
c) Equipo de desarrollo: Saul Mamani M.
d) Stakeholder: Los stakeholders están representados por los usuarios y los clientes que
van a utilizar el sistema.
5.1.3 PRODUCT BACKLOG PRIORIZADO
5.1.3.1 IDENTIFICACIÓN DE HISTORIAS DE USUARIO
Para la determinación de requerimientos del sistema se recolectan historias de usuario.
HU1: Ingresar al sistema como administrador
Como Administrador
Quiero Ingresar al sistema con una cuenta y un password
Para
Tener el acceso a toda la funcionalidad del sistema, incluyendo
la funcionalidad de los vendedores
Tabla 3: Historia de usuario – Ingresar al sistema como administrador
Fuente: Elaboración propia
HU2: Ingresar al sistema como vendedor
Como Vendedor
Quiero Ingresar al sistema con una cuenta y un password
Para Vender productos y generar informes económicos
Tabla 4: Historia de usuario – Ingresar al sistema como vendedor
Fuente: Elaboración propia
HU3: Gestionar usuarios del sistema
Como Administrador
Quiero Listar, insertar, modificar y eliminar datos de los vendedores
Para Que utilicen el sistema según su rol seleccionado
Tabla 5: Historia de usuario – Gestionar usuarios del sistema
Fuente: Elaboración propia
HU4: Administrar perfil de usuario
Como Vendedor
16
Quiero Ver y actualizar mis datos personales y mi foto de perfil
Para Personalizar mi cuenta y cambiar la foto de perfil
Tabla 6: Historia de usuario – Administrar perfil de usuario
Fuente: Elaboración propia
HU5: Cambiar contraseña
Como Vendedor
Quiero Cambiar mi contraseña asignada
Para Mantener seguro mi sesión y mis acciones en el sistema
Tabla 7: Historia de usuario – Cambiar contraseña
Fuente: Elaboración propia
HU6: Gestionar productos
Como Vendedor
Quiero
Listar, buscar, insertar, modificar y eliminar productos
categorizados.
Para
Tener un catálogo completo de los productos al momento de
registrar las ventas solicitadas
Tabla 8: Historia de usuario – Gestionar productos
Fuente: Elaboración propia
HU7: Gestionar clientes
Como Vendedor
Quiero
Listar, buscar, insertar, modificar y eliminar datos de los
clientes
Para
Registrar los datos del cliente al realizar una venta, llevar un
adecuado control de los clientes y generar reportes estadísticos
Tabla 9: Historia de usuario – Gestionar clientes
Fuente: Elaboración propia
HU8: Listar ventas
Como Vendedor
Quiero
Listar todas las ventas realizadas por rango de fechas,
mostrando el total vendido
Para
Llevar un control económico de todo lo que he vendido.
Además de, re imprimir los recibos, anular y/o restablecer
ventas erradas
Tabla 10: Historia de usuario – Listar ventas
Fuente: Elaboración propia
17
HU9: Registrar ventas
Como Vendedor
Quiero
Registrar en el sistema la venta de uno o varios productos del
catálogo, y buscar o registrar los datos del cliente
Para
Llevar un control económico adecuado de todas las ventas
realizadas
Tabla 11: Historia de usuario – Registrar ventas
Fuente: Elaboración propia
HU10: Generar recibo
Como Vendedor
Quiero
Que el sistema genere un recibo con los datos de la venta
realizada, la información del cliente, y un código QR
Para
Tener constancia de que la transacción se ha realizado de
manera correcta
Tabla 12: Historia de usuario – Generar recibo
Fuente: Elaboración propia
HU11: Anular ventas
Como Vendedor
Quiero
Anular las ventas que yo he registrado y que tengan datos
erróneos. Las ventas se pueden anular solo el día en el que se
realizó la transacción y antes de generar el informe económico
Para
Que no sean tomados en cuenta a la hora de generar el informe
económico diario
Tabla 13: Historia de usuario – Anular ventas
Fuente: Elaboración propia
HU12: Restablecer ventas
Como Vendedor
Quiero
Restablecer una venta que yo he anulado previamente por error.
Las ventas se pueden restablecer solo el día en que se realizó la
transacción y antes de generar el informe económico diario
Para
Que vuelva a ser tomada en cuenta a la hora de generar el
informe económico diario
Tabla 14: Historia de usuario – Restablecer ventas
Fuente: Elaboración propia
HU13: Registrar precio en código QR
Como Vendedor
18
Quiero
Registrar el precio y la información del producto en un código
QR.
Para
Que los clientes puedan pagar el costo del producto
directamente desde sus aplicaciones de banco
Tabla 15: Historia de usuario – Registrar precio en Código QR
Fuente: Elaboración propia
HU14: Pagar con QR
Como Cliente
Quiero
Escanear el precio y la información del producto contenido en
un código QR desde mi aplicación de banca móvil.
Para Realizar el transferencia bancaria del precio del producto
Tabla 16: Historia de usuario – Pagar con QR
Fuente: Elaboración propia
HU15: Generar informe económico
Como Vendedor
Quiero
Quiero que el sistema genere informes económicos diarios,
mensuales y anuales de todas las ventas realizadas
Para
Llevar un control adecuado de todas las transacciones que se
han realizado en un determinado tiempo
Tabla 17: Historia de usuario – Generar informe económico
Fuente: Elaboración propia
HU16: Generar reportes estadísticos
Como Administrador
Quiero
Que el sistema genere reportes estadísticos económicos y
reportes estadísticos de los clientes potenciales
Para
Tener una adecuada toma de decisiones, como lanzar y publicar
promociones y descuentos especiales
Tabla 18: Historia de usuario – Generar reportes estadísticos
Fuente: Elaboración propia
5.1.3.2 PRODUCT BACKLOG
La pila del producto de pendientes a desarrollar está constituida por las historias de usuario, y
ordenada según prioridad de implementación.
19
Historia de usuario Descripción Prioridad
HU1 Ingresar al Sistema como administrador 1
HU2 Ingresar al sistema como vendedor 1
HU3 Gestionar usuarios del sistema 1
HU4 Administrar perfil de usuario 1
HU5 Cambiar contraseña 1
HU6 Gestionar productos 1
HU7 Gestionar clientes 1
HU8 Listar ventas 2
HU9 Registrar ventas 2
HU10 Generar recibo 2
HU11 Anular ventas 3
HU12 Restablecer ventas 3
HU13 Registrar precio con código QR 3
HU14 Pagar con QR 3
HU15 Generar informe económico 3
HU16 Generar reportes estadísticos 3
Tabla 19: Product backlog
Fuente: Elaboración propia
5.1.3.3 DEFINICIÓN DE HECHO
Se establece la “definición de hecho” cuando todas las tareas definidas en el sprint backlog de una
iteración se han completado, se han verificado los criterios de aceptación, y se ha desplegado el
product increment en un servidor de pruebas.
20
5.1.4 RELEASE PLANNING
En el plan de despliegue se identifican las iteraciones (Sprints) y los entregables que se van a
realizan durante el transcurso del proyecto.
Sprint /
Entregable
HU Descripción
Primer
Sprint
HU1 Ingresar al Sistema como administrador
HU2 Ingresar al sistema como vendedor
HU3 Gestionar usuarios del sistema
HU4 Administrar perfil
HU5 Cambiar contraseña
HU6 Gestionar productos
HU7 Gestionar clientes
Segundo
Sprint
HU8 Listar ventas
HU9 Registrar ventas
HU10 Generar recibo
Tercer
Sprint
HU11 Anular ventas
HU12 Restablecer ventas
HU13 Registrar precio con código QR
HU14 Pagar con QR
HU15 Generar informe económico
HU16 Generar reportes estadísticos
Tabla 20: Plan de despliegue
Fuente: Elaboración propia
5.2 DESARROLLO ITERATIVO
El desarrollo iterativo (Sprints) lo conforman las fases de:
− Planificación y estimación
− Implementación
− Revisión y retrospectiva
21
En base al reléase planning se tienen que desarrollar 3 iteraciones.
5.2.1 PRIMER SPRINT
5.2.1.1 PLANIFICACIÓN Y ESTIMACIÓN
a) Historias de usuario y criterios de aceptación
Nombre: Iniciar Sesión Historia de usuario: HU1
Actor: Vendedor Depende de: HU3
Descripción: Ingresar al sistema con una cuenta y un password
Criterio de Aceptación:
− El actor ingresa su email y una contraseña y presiona el botón Aceptar.
− El sistema busca las credenciales en la base de datos.
− Una vez verificada las credenciales, el sistema abre la pantalla principal
de acuerdo al rol del actor. Si es vendedor tiene acceso solo a la
funcionalidad mostrada en diagrama de casos de uso, y si es
administrador tiene acceso a toda la funcionalidad del sistema.
Elaborado por:
Saul Mamani
Responsable:
Saul Mamani
Versión:
1.0
Tabla 21: HU iniciar sesión
Fuente: Elaboración propia
Nombre: Gestionar usuarios Historia de usuario: HU3
Actor: Administrador Depende de:
Descripción: Crear, modificar, eliminar y listar usuarios del sistema
Criterio de Aceptación:
− El sistema muestra la lista de todos los usuarios registrados y un menú
con las siguientes opciones:
Nuevo
− El actor presiona el botón Nuevo
− El sistema abre un formulario con los datos del usuario en base a la clase
“User” del diagrama de clases
− El actor llena los datos y presión el botón Guardar
− El sistema inserta el registro en la base de datos y lanza un mensaje
Modificar
− El actor selecciona un registro presiona el botón Modificar
− El sistema abre un formulario con los datos del usuario seleccionado
− El actor modifica uno o más campos y presiona el botón Guardar
− El sistema modifica los datos y lanza un mensaje
22
Eliminar
− El actor selecciona un registro presiona el botón Eliminar
− El sistema muestra un mensaje de confirmación
− El actor confirma el mensaje
− El sistema elimina el registro de la base de datos
Elaborado por:
Saul Mamani
Responsable:
Saul Mamani
Versión:
1.0
Tabla 22: HU gestionar usuarios
Fuente: Elaboración propia
Nombre: Gestionar clientes Historia de usuario: HU7
Actor: Vendedor Depende de:
Descripción: Crear, modificar, eliminar y listar clientes
Criterio de Aceptación:
− El sistema muestra la lista de todos los clientes registrados y un menú con
las siguientes opciones:
Nuevo
− El actor presiona el botón Nuevo
− El sistema abre un formulario con los datos del cliente en base a la clase
“Client” del diagrama de clases
− El actor llena los datos y presión el botón Guardar
− El sistema inserta el registro en la base de datos y lanza un mensaje
Modificar
− El actor selecciona un registro presiona el botón Modificar
− El sistema abre un formulario con los datos del cliente seleccionado
− El actor modifica uno o más campos y presiona el botón Guardar
− El sistema modifica los datos y lanza un mensaje
Eliminar
− El actor selecciona un registro presiona el botón Eliminar
− El sistema muestra un mensaje de confirmación
− El actor confirma el mensaje
− El sistema elimina el registro de la base de datos
Elaborado por:
Saul Mamani
Responsable:
Saul Mamani
Versión:
1.0
Tabla 23: HU gestionar clientes
Fuente: Elaboración propia
Nombre: Gestionar productos Historia de usuario: HU6
Actor: Vendedor Depende de:
Descripción: Crear, modificar, eliminar y listar producto
23
Criterio de Aceptación:
− El sistema muestra la lista de todos los productos registrados y un menú
con las siguientes opciones:
Nuevo
− El actor presiona el botón Nuevo
− El sistema abre un formulario con los datos del producto en base a la clase
“Product” del diagrama de clases
− El actor llena los datos, carga una imagen no más de 2MB de tamaño y
presión el botón Guardar
− El sistema inserta el registro en la base de datos y lanza un mensaje
Modificar
− El actor selecciona un registro presiona el botón Modificar
− El sistema abre un formulario con los datos del producto seleccionado
− El actor modifica uno o más campos y presiona el botón Guardar
− El sistema modifica los datos y lanza un mensaje
Eliminar
− El actor selecciona un registro presiona el botón Eliminar
− El sistema muestra un mensaje de confirmación
− El actor confirma el mensaje
− El sistema elimina el registro de la base de datos
Elaborado por:
Saul Mamani
Responsable:
Saul Mamani
Versión:
1.0
Tabla 24: HU gestionar productos
Fuente: Elaboración propia
Nombre: Administrar perfil Historia de usuario: HU4
Actor: Vendedor Depende de: HU3
Descripción: Administrar datos del usuario logeado
Criterio de Aceptación:
− Al actor presiona el botón Perfil de usuario de la pantalla principal
− El sistema llena los datos del usuario logeado
− El actor modifica uno o más datos, carga una foto de no más de 2MB, y
presiona Aceptar
− El sistema actualiza la información del usuario en la base de datos, y
refresca el sistema.
Elaborado por:
Saul Mamani
Responsable:
Saul Mamani
Versión:
1.0
Tabla 25: HU Administrar perfil
Fuente: Elaboración propia
24
Nombre: Cambiar contraseña Historia de usuario: HU5
Actor: Vendedor Depende de: HU3, HU4
Descripción: Cambiar contraseña de un usuario logado
Criterio de Aceptación:
− El sistema muestra la pantalla para cambiar contraseña
− El actor llena la contraseña actual, la nueva contraseña y la verificación de la contraseña
− El sistema verifica las credenciales en la base de datos, actualiza la contraseña, y lanza
un mensaje de éxito.
o Las contraseñas deben estar protegidas por un algoritmo de cifrado.
Elaborado por:
Saul Mamani
Responsable:
Saul Mamani
Versión:
1.0
Tabla 26: HU Cambiar contraseña
Fuente: Elaboración propia
b) Sprint planning y estimación
El sprint planning muestra qué1
es lo que se tiene que desarrollar en esta iteración, y los tiempos
comprometidos para finalizar cada historia de usuario.
HU Descripción
Tamaño Puntos
historia
Tiempo
[Días]
Inicio Finalización
HU1
Ingresar al Sistema
como administrador
XS 1 ½ 06/06/2022 06/06/2022
HU2
Ingresar al sistema
como vendedor
XS 1 ½ 06/06/2022 06/06/2022
HU3
Gestionar usuarios del
sistema
S 2 1 07/06/2022 07/06/2022
HU4 Administrar perfil XS 1 ½ 08/06/2022 08/06/2022
HU5 Cambiar contraseña XS 1 ½ 08/06/2022 08/06/2022
HU6 Gestionar productos S 2 1 09/06/2022 09/06/2022
HU7 Gestionar clientes S 2 1 10/06/2022 10/06/2022
Puntos de historia/Tiempo
estimado
10 5
Tabla 27: Primer sprint planning
Fuente: Elaboración propia
1
La palabra qué es lo que se tiene que hacer, hace referencia al análisis de sistemas dentro el ciclo de
vida un proyecto de desarrollo de software.
25
Para completar este sprint se estima un esfuerzo de 10 puntos de historia y tiempo de desarrollo
de cinco días.
c) Sprint backlog e identificación de tareas
Para determinar cómo2
se va a desarrollar el sprint, se identifican una o varias tareas por historia
de usuario, las cuales son agrupadas en un sprint backlog y asignadas a los miembros del equipo
de desarrollo.
HU Descripción Tareas
HU1
Ingresar al Sistema como
administrador
T1. Diseñar las migraciones en Laravel
T2. Desarrollar el Login.
HU2
Ingresar al sistema como
vendedor
T3. Diseñar el IU del sistema
T4. Controlar los permisos en el menú
HU3 Gestionar usuarios del sistema T5. Desarrollar el CRUD de usuarios
HU4 Administrar perfil T6. Diseñar la pantalla de perfil de usuario
HU5 Cambiar contraseña T7. Desarrollar el cambio de contraseña
HU6 Gestionar productos T8. Desarrollar el CRUD de productos
HU7 Gestionar clientes T9. Desarrollar el CRUD de clientes
Tabla 28: Primer sprint backlog
Fuente: Elaboración propia
5.2.1.2 IMPLEMENTACIÓN
a) Create deliverables (Ejecución del Sprint)
Para controlar la ejecución del sprint y el avance de las tareas, empleamos un tablero scrum
con la herramienta Trello.
2
La palabra cómo se va a desarrollar, hace referencia al diseño de sistemas dentro el ciclo de vida un
proyecto de desarrollo de software.
26
Figura 8: Tablero Kanban primer sprint
Fuente: Elaboración propia
Figura 9: Tablero Kanban primer sprint
Fuente: Elaboración propia
b) Control de versiones
El avance del código fuente del proyecto se emplea el sistema de control de versiones GIT.
Figura 10: Control de versiones del primer sprint
Fuente: Elaboración propia
27
5.2.1.3 REVISIÓN Y RESTROSPECTIVA
a) Sprint review. El product increment representa los entregables realizados al cliente, que
reflejan el cumplimiento del primer sprint.
Figura 11: Pantalla login
Fuente: Elaboración propia
Figura 12: Pantalla lista de productos
Fuente: Elaboración propia
28
Figura 13: Pantalla gestión de productos
Fuente: Elaboración propia
b) Sprint retrospective. El desarrollo del primer sprint se concluyó de manera adecuada
cumpliendo las tareas, los tiempos establecidos, y la definición de hecho establecido al
inicio del sprint. Esta evolución se puede apreciar en el gráfico burndown.
Figura 14: Seguimiento del primer sprint
Fuente: Elaboración propia
29
5.2.2 SEGUNDO SPRINT
5.2.2.1 PLANIFICACIÓN Y ESTIMACIÓN
a) Historias de usuario y criterios de aceptación
Nombre: Listar ventas Historia de usuario: HU8
Actor: Vendedor Depende de: HU9
Descripción: Muestra la lista de las ventas realizadas
Criterio de Aceptación:
− El sistema muestra la lista de todas las ventas realizadas y un formulario
de búsquedas por rango de fechas, estado, y clientes.
− El actor llena los datos del formulario y pulsa el botón Buscar
− El sistema actualiza el listado según los parámetros de búsqueda
Elaborado por:
Saul Mamani
Responsable:
Saul Mamani
Versión:
1.0
Tabla 29: Caso de uso Listar ventas
Fuente: Elaboración propia
Nombre: Registrar ventas Historia de usuario: HU9
Actor: Vendedor Depende de: HU6
Descripción: Registro de ventas de uno más productos
Criterio de Aceptación:
− El sistema muestra la pantalla de ventas con el catálogo de los productos
habilitados para vender.
− El actor selecciona uno o más productos y los añade al carrito de ventas,
además puede modificar las cantidades en el carrito.
− El sistema calcula el subtotal y el total del monto a cobrar en bolivianos
− El actor llena los datos de la venta, en base a las clases “Sale” y “Detail”
del diagrama de clases.
− Al llenar el campo Nit el sistema busca la razón social del Nit, si lo
encuentra llena el campo; y si no lo encuentra deja en campo vacío.
− El actor presiona el botón Finalizar venta.
− El sistema inserta la nueva venta en la base de datos y prepara la
impresión del recibo.
Elaborado por:
Saul Mamani
Responsable:
Saul Mamani
Versión:
1.0
Tabla 30: Caso de uso Registrar ventas
Fuente: Elaboración propia
Nombre: Generar recibo Historia de usuario: HU10
Actor: Vendedor Depende de: HU9
30
Descripción: Generación o impresión de la nota de venta o recibo
Criterio de Aceptación:
− Después de realizar una venta, el sistema genera y muestra en una pantalla
el recibo con todos los datos de la venta correspondiente, y crea un código
QR con los datos del cliente, el número y el total vendido.
− El actor presiona el botón imprimir
− El sistema imprimir el recibo en una impresora pre instalada.
Elaborado por:
Saul Mamani
Responsable:
Saul Mamani
Versión:
1.0
Tabla 31: Caso de uso Generar recibo
Fuente: Elaboración propia
b) Sprint planning y estimación
HU Descripción Tamaño
Puntos
historia
Tiempo
[Días]
Inicio Finalización
HU8 Listar ventas S 2 1 13/06/2022 13/06/2022
HU9 Registrar ventas L 5 3 14/06/2022 16/06/2022
HU11 Generar recibo S 2 1 17/06/2022 17/06/2022
Puntos de historia / Tiempo
estimado
9 5
Tabla 32: Segundo sprint planning
Fuente: Elaboración propia
Para completar este sprint se estima un esfuerzo de 9 puntos de historia y tiempo de desarrollo
de cinco días.
c) Sprint backlog e identificación de tareas
HU Descripción Tareas
HU8 Listar ventas
T1. Diseñar el Formulario de búsquedas
T2. Desarrollar los listados
HU9 Registrar ventas
T3. Listar los productos a ser vendidos
T4. Registrar en el carrito de ventas
T5. Calcular los totales
T6. Registrar la venta
HU10 Generar recibo T8. Diseñar el recibo integrando un código QR
Tabla 33: Segundo sprint backlog
Fuente: Elaboración propia
31
5.2.2.2 IMPLEMENTACIÓN
a) Create deliverables (Ejecución del Sprint)
Para controlar la ejecución del sprint y el avance de las tareas, empleamos un tablero scrum
con la herramienta Trello.
Figura 15: Tablero Kanban segundo sprint
Fuente: Elaboración propia
Figura 16: Tablero Kanban segundo sprint
Fuente: Elaboración propia
b) Control de versiones
Para controlar el avance del código fuente del proyecto se emplea el sistema de control de
versiones GIT
32
Figura 17: Control de versiones del segundo sprint
Fuente: Elaboración propia
5.2.2.3 REVISIÓN Y RETROSPECTIVA
a) Sprint review. El product increment representa los entregables realizados al cliente, que
reflejan el cumplimiento del segundo sprint.
Figura 18: Pantalla de ventas
Fuente: Elaboración propia
33
Figura 19: Pantalla recibo con código QR para el pago
Fuente: Elaboración propia
b) Sprint retrospective. El desarrollo del segundo sprint se concluyó de manera adecuada
cumpliendo las tareas, los tiempos establecidos, y la definición de hecho establecido al
inicio del sprint. Esta evolución se puede apreciar en el gráfico burndown.
Figura 20: Seguimiento del segundo sprint
Fuente: Elaboración propia
34
5.2.3 TERCER SPRINT
5.2.3.1 PLANIFICACIÓN Y ESTIMACIÓN
a) Historias de usuario y criterios de aceptación
Nombre: Anular ventas Historia de usuario: HU11
Prioridad: Baja Depende de: HU8
Descripción: Anulación de ventas erróneas
Criterio de Aceptación:
− El sistema muestra la lista de ventas realizadas de la fecha actual, con el
botón para Anular una venta
− El actor pulsa el botón Anular Venta
− El sistema cambia el estado de la venta en la base de datos y recarga la lista.
o Las ventas anuladas no son contabilizadas tomadas en cuenta para
el reporte económico.
Elaborado por:
Saul Mamani
Responsable:
Saul Mamani
Versión:
1.0
Tabla 34: Caso de uso Anular ventas
Fuente: Elaboración propia
Nombre: Restablecer ventas Historia de usuario: HU12
Prioridad: Baja Depende de: HU12
Descripción: Restablece ventas anuladas por error
Criterio de Aceptación:
− El sistema muestra la lista de ventas anuladas de la fecha actual.
− El actor pulsa el botón Restablecer Venta
− El sistema cambia el estado de la venta en la base de datos y recarga la lista.
Elaborado por:
Saul Mamani
Responsable:
Saul Mamani
Versión:
1.0
Tabla 35: Caso de uso Restablecer ventas
Fuente: Elaboración propia
Nombre: Registrar precio con código QR Historia de usuario: HU13
Prioridad: Baja Depende de: HU6
Descripción: Generar código QR con el precio y la información del producto
Criterio de Aceptación:
− El actor selecciona un producto
− El sistema recoge la información y el precio del producto
− El actor presiona el botón Solicitar código QR.
− El sistema solicita el código QR a la API del banco, el banco responde
con el código en formato de 64 bytes.
35
− El sistema almacena el código QR en la base de datos asociado al
producto, y refresca el catálogo de productos.
Elaborado por:
Saul Mamani
Responsable:
Saul Mamani
Versión:
1.0
Tabla 36: Caso de uso Restablecer ventas
Fuente: Elaboración propia
Nombre: Pagar con QR Historia de usuario: HU14
Prioridad: Baja Depende de: HU13
Descripción: Ofrecer al cliente un código QR para que realice un traspaso
bancario como pago del producto.
Criterio de Aceptación:
− El sistema muestra el producto con un Código QR
− El cliente escanea el código QR con la aplicación de su banca móvil, y
realiza el traspaso de dinero.
− El sistema verifica con la API del banco si el producto ha sido pagado, y
entonces registra la venta.
Elaborado por:
Saul Mamani
Responsable:
Saul Mamani
Versión:
1.0
Tabla 37: Caso de uso Restablecer ventas
Fuente: Elaboración propia
Nombre: Generar reportes Historia de usuario: HU15, HU15
Prioridad: Baja Depende de:
Descripción: Generar informes y reportes estadísticos
Criterio de Aceptación:
Reporte económico
− En la lista de ventas (HU8) el sistema muestra un botón para imprimir el
reporte, y el actor lo pulsa ese botón
− El sistema genera el reporte económico en formato PDF
Reporte estadístico
− El actor pulsa el botón Reportes del menú principal
− El sistema genera dos reportes estadísticos:
o Gráfica del total de las ventas realizadas agrupadas por mes
o Lista de clientes potenciales (clientes con más compras
realizadas)
Elaborado por:
Saul Mamani
Responsable:
Saul Mamani
Versión:
1.0
Tabla 38: Caso de uso Generar reportes
Fuente: Elaboración propia
36
b) Sprint planning y estimación
HU Descripción
Tam
año
Puntos
historia
Tiempo
[Días]
Inicio Finalización
HU11 Anular ventas XS 1 ½ 20/06/2022 20/06/2022
HU12 Restablecer ventas XS 1 ½ 20/06/2022 20/06/2022
HU13 Registrar precio con código QR S 2 1 21/06/2022 21/06/2022
HU14 Pagar con QR S 2 1 22/06/2022 22/06/2022
HU15 Generar informe económico S 3 1 23/06/2022 23/06/2022
HU16 Generar reportes estadísticos S 3 1 24/06/2022 24/06/2022
Puntos historia/Tiempo estimado
(Time Boxing)
12 5
Tabla 39: Tercer sprint planning
Fuente: Elaboración propia
Para completar este sprint se estima un esfuerzo de 12 puntos de historia y tiempo de desarrollo
de cinco días.
c) Sprint backlog e identificación de tareas
HU Descripción Tareas
HU11 Anular ventas T1. Desarrollar anular ventas
HU12 Restablecer ventas T2. Desarrollar restablecer ventas
HU13
Registrar precio
con código QR
T1. Realizar la comunicación con el banco
T2. Generar el código QR con la
información del producto
HU14 Pagar con QR
T1. Asociar el código QR en el catálogo
de productos
HU15
Generar informe
económico
T3. Diseñar el reporte económico en PDF
HU16
Generar reportes
estadísticos
T4. Diseñar el reporte de los clientes
potenciales
T5. Diseñar el reporte de ingresos
económicos por año
Tabla 40: Tercer sprint backlog
Fuente: Elaboración propia
37
5.2.3.2 IMPLEMENTACIÓN
a) Create deliverables (Ejecución del Sprint)
Para controlar la ejecución del sprint y el avance de las tareas, empleamos un tablero scrum
con la herramienta Trello.
Figura 21: Tablero Kanban tercer sprint
Fuente: Elaboración propia
Figura 22: Tablero Kanban tecer sprint
Fuente: Elaboración propia
b) Control de versiones
Para controlar el avance del código fuente del proyecto se emplea el sistema de control de
versiones GIT
38
Figura 23: Control de versiones del tercer sprint
Fuente: Elaboración propia
5.2.3.3 REVISIÓN Y RETROSPECTIVA
a) Sprint review. El product increment representa los entregables realizados al cliente, que
reflejan el cumplimiento del tercer sprint.
Figura 24: Ventana de ventas realizadas
Fuente: Elaboración propia
Figura 25: Pantalla de gestión de clientes
Fuente: Elaboración propia
39
Figura 26: Reporte de ventas realizadas
Fuente: Elaboración propia
b) Sprint retrospective. El desarrollo del tercer sprint se concluyó de manera adecuada
cumpliendo las tareas, los tiempos establecidos, y la definición de hecho establecido al
inicio del sprint. Esta evolución se puede apreciar en el gráfico burndown.
Figura 27: Seguimiento del tercer sprint
Fuente: Elaboración propia
40
CAPITULO V CONCLUSIONES Y RECOMENDACIONES
Después de haber culminado las diferentes etapas del desarrollo de la monografía, se puede
llegar a las siguientes conclusiones y realizar las siguientes recomendaciones:
5.1 CONCLUSIONES
Durante el transcurso del proyecto se han identificado y aplicado los métodos y herramientas
ágiles adecuadas, que han permitido desarrollar un sistema para la venta de productos de manera
eficiente cumpliendo con el análisis y la planificación pre establecida.
Se han cumplido también los objetivos específicos planteadas al principio del proyecto.
− Con la ayuda de la técnica ágil del impact mapping (mapa de impacto) se logró comprender
la visión del producto que fue desarrollado como ejemplo para la monografía.
− Con el empleo del marco de trabajo Scrum como metodología de desarrollo, se pudo
desarrollar el sistema dentro el tiempo planificado. Siguiendo los plazos estimados dentro
las iteraciones y las entregas establecidas en el despliegue
− El ámbito del sistema fue determinado con las historias de usuario y los criterios de
aceptación escrita por el product owner.
− Para controlar el avance de las tareas identificadas en el sprint backlog de cada iteración,
se ha utilizado un tablero virtual Kanban, apoyándonos en la herramienta online Trello.
− Se tiene un historial completo de todos los cambios realizados al código del sistema con la
herramienta de control de versiones Git.
6.2 RECOMENDACIONES
− Se recomienda la integración de una pasarela de pagos para realizar la venta de productos
directamente por internet.
− Se recomienda integrar mecanismos de seguridad a la hora de lanzar a producción el
sistema, ya que maneja información sensible y muy importante para las empresas que van
a utilizar el sistema.
41
BIBLIOGRAFÍA
DENSO WAVE INCORPORATED . (2020 de 01 de 01). qrcodemonckey. Obtenido de
qrcodemonckey: https://www.qrcode-monkey.com/es/
Group, O. M. (13 de 09 de 2019). omg. Obtenido de omg: https://www.omg.org/spec/UML/About-
UML/
Hiromoto, H. (31 de 12 de 2017). scrumorganico. Obtenido de scrumorganico:
https://medium.com/scrumorganico
Manifesto, A. (13 de 09 de 2019). agilemanifesto. Obtenido de agilemanifesto:
https://agilemanifesto.org/iso/es/manifesto.html
Mercurial, A. (5 de 9 de 2019). Agile Mercurial. Obtenido de Agile Mercurial: https://agile-
mercurial.com/excel-templates/burndown-chart/
Pomares, F. B. (02 de 03 de 2021). Adictos al trabajo. Obtenido de Adictos al trabajo:
https://www.adictosaltrabajo.com/2021/03/02/impact-mapping-creando-productos-y-
proyectos-de-gran-impacto/
Rubin, K. S. (2013). Essential Scrum. Boston: Addison Wesley.
Saiz, J. (2018 de 09 de 13). js. Obtenido de js: http://jorgesaiz.com
Satpathy, T. (2013). Guia para el conocimiento de Scrum. Arizona: ScrumStudy.
Soli. (02 de 04 de 2022). El blog de Soli. Obtenido de El blog de Soli:
https://www.solipagosbcp.com.bo/blog/negocios-digitales/los-codigos-qr-una-alternativa-
de-pago-que-facilitan-tu-vida.html
Sommerville, I. (2005). Ingenieria de Software. Madrid: PEARSON Addison Wesley.
42
ANEXOS
Modelo Relacional de la Base de Datos:
Figura 28: Modelo Relacional
Fuente: Elaboración propia

Weitere ähnliche Inhalte

Ähnlich wie APLICACIÓN DE MÉTODOS Y HERRAMIENTAS ÁGILES PARA EL DESARROLLO DE UN SISTEMA INFORMÁTICO DE VENTAS

Grupo 6 - Control Acceso
Grupo 6 - Control AccesoGrupo 6 - Control Acceso
Grupo 6 - Control AccesoelucelyGC
 
Grupo6 procedimientosparaelcontroldeaccesoasistemasoperativos-110514061114-ph...
Grupo6 procedimientosparaelcontroldeaccesoasistemasoperativos-110514061114-ph...Grupo6 procedimientosparaelcontroldeaccesoasistemasoperativos-110514061114-ph...
Grupo6 procedimientosparaelcontroldeaccesoasistemasoperativos-110514061114-ph...Aldo Hernán Zanabria Gálvez
 
10. indicadores de desempeño en el sector público
10. indicadores de desempeño en el sector público10. indicadores de desempeño en el sector público
10. indicadores de desempeño en el sector públicoSago11
 
Cuaderno tecnico i_monitorizacionserviciossistemas
Cuaderno tecnico i_monitorizacionserviciossistemasCuaderno tecnico i_monitorizacionserviciossistemas
Cuaderno tecnico i_monitorizacionserviciossistemasAiiscyl Asocio
 
Fundamentos de Programacion.pdf
Fundamentos de Programacion.pdfFundamentos de Programacion.pdf
Fundamentos de Programacion.pdfJorge Serran
 
Gestion auditoria del mantenimiento
Gestion auditoria del mantenimientoGestion auditoria del mantenimiento
Gestion auditoria del mantenimientoAlberto Alonso
 
Universidad de chimbote
Universidad de chimboteUniversidad de chimbote
Universidad de chimboteJesus Alvarez
 
Pérez-Montoro (2008) Gestión del conocimiento en las organizaciones.pdf
Pérez-Montoro (2008) Gestión del conocimiento en las organizaciones.pdfPérez-Montoro (2008) Gestión del conocimiento en las organizaciones.pdf
Pérez-Montoro (2008) Gestión del conocimiento en las organizaciones.pdfJonathanCovena1
 
Contabilidad administrativa 8 Edición, de David Noel Ramirez Padilla CPT.pdf
Contabilidad administrativa 8 Edición, de David Noel Ramirez Padilla CPT.pdfContabilidad administrativa 8 Edición, de David Noel Ramirez Padilla CPT.pdf
Contabilidad administrativa 8 Edición, de David Noel Ramirez Padilla CPT.pdfjafeth romero ramirez
 
Analsis De Sistema
Analsis De SistemaAnalsis De Sistema
Analsis De SistemaVal Cornejo
 
Politicas de seguridad informatica
Politicas de seguridad informaticaPoliticas de seguridad informatica
Politicas de seguridad informaticaJaime Vergara
 
Mcvs ad-05 documento de analisis y diseño de cus
Mcvs ad-05 documento de analisis y diseño de cusMcvs ad-05 documento de analisis y diseño de cus
Mcvs ad-05 documento de analisis y diseño de cuslnavarros
 
Mcvs ad-05 documento de analisis y diseño de cus
Mcvs ad-05 documento de analisis y diseño de cusMcvs ad-05 documento de analisis y diseño de cus
Mcvs ad-05 documento de analisis y diseño de cuslnavarros
 
Manejo de almacenes y centros de distribucion
Manejo de almacenes y centros de distribucionManejo de almacenes y centros de distribucion
Manejo de almacenes y centros de distribucionLuisRebaza3
 
Iniciate En El Marketing 2.0 1er Cap
Iniciate En El Marketing 2.0   1er CapIniciate En El Marketing 2.0   1er Cap
Iniciate En El Marketing 2.0 1er CapEnrique Burgos
 

Ähnlich wie APLICACIÓN DE MÉTODOS Y HERRAMIENTAS ÁGILES PARA EL DESARROLLO DE UN SISTEMA INFORMÁTICO DE VENTAS (20)

Grupo 6 - Control Acceso
Grupo 6 - Control AccesoGrupo 6 - Control Acceso
Grupo 6 - Control Acceso
 
Grupo6 procedimientosparaelcontroldeaccesoasistemasoperativos-110514061114-ph...
Grupo6 procedimientosparaelcontroldeaccesoasistemasoperativos-110514061114-ph...Grupo6 procedimientosparaelcontroldeaccesoasistemasoperativos-110514061114-ph...
Grupo6 procedimientosparaelcontroldeaccesoasistemasoperativos-110514061114-ph...
 
10. indicadores de desempeño en el sector público
10. indicadores de desempeño en el sector público10. indicadores de desempeño en el sector público
10. indicadores de desempeño en el sector público
 
Cuaderno tecnico i_monitorizacionserviciossistemas
Cuaderno tecnico i_monitorizacionserviciossistemasCuaderno tecnico i_monitorizacionserviciossistemas
Cuaderno tecnico i_monitorizacionserviciossistemas
 
Fundamentos de Programacion.pdf
Fundamentos de Programacion.pdfFundamentos de Programacion.pdf
Fundamentos de Programacion.pdf
 
Gestion auditoria del mantenimiento
Gestion auditoria del mantenimientoGestion auditoria del mantenimiento
Gestion auditoria del mantenimiento
 
Universidad de chimbote
Universidad de chimboteUniversidad de chimbote
Universidad de chimbote
 
Pérez-Montoro (2008) Gestión del conocimiento en las organizaciones.pdf
Pérez-Montoro (2008) Gestión del conocimiento en las organizaciones.pdfPérez-Montoro (2008) Gestión del conocimiento en las organizaciones.pdf
Pérez-Montoro (2008) Gestión del conocimiento en las organizaciones.pdf
 
Unidad3 fds
Unidad3 fdsUnidad3 fds
Unidad3 fds
 
Contabilidad administrativa 8 Edición, de David Noel Ramirez Padilla CPT.pdf
Contabilidad administrativa 8 Edición, de David Noel Ramirez Padilla CPT.pdfContabilidad administrativa 8 Edición, de David Noel Ramirez Padilla CPT.pdf
Contabilidad administrativa 8 Edición, de David Noel Ramirez Padilla CPT.pdf
 
Analsis De Sistema
Analsis De SistemaAnalsis De Sistema
Analsis De Sistema
 
Politicas de seguridad informatica
Politicas de seguridad informaticaPoliticas de seguridad informatica
Politicas de seguridad informatica
 
Tfm javier eduardo_carrillo_plaza
Tfm javier eduardo_carrillo_plazaTfm javier eduardo_carrillo_plaza
Tfm javier eduardo_carrillo_plaza
 
Tarea de computacion.docx
Tarea de computacion.docxTarea de computacion.docx
Tarea de computacion.docx
 
Mcvs ad-05 documento de analisis y diseño de cus
Mcvs ad-05 documento de analisis y diseño de cusMcvs ad-05 documento de analisis y diseño de cus
Mcvs ad-05 documento de analisis y diseño de cus
 
Mcvs ad-05 documento de analisis y diseño de cus
Mcvs ad-05 documento de analisis y diseño de cusMcvs ad-05 documento de analisis y diseño de cus
Mcvs ad-05 documento de analisis y diseño de cus
 
Manejo de almacenes y centros de distribucion
Manejo de almacenes y centros de distribucionManejo de almacenes y centros de distribucion
Manejo de almacenes y centros de distribucion
 
Tesis pre - grado
Tesis pre - gradoTesis pre - grado
Tesis pre - grado
 
Iniciate En El Marketing 2.0 1er Cap
Iniciate En El Marketing 2.0   1er CapIniciate En El Marketing 2.0   1er Cap
Iniciate En El Marketing 2.0 1er Cap
 
Practicas excel 12
Practicas excel  12Practicas excel  12
Practicas excel 12
 

Mehr von Saul Mamani

EL ROL DE LA INTELIGENCIA ARTIFICAL EN LAS ENERGIAS RENOVABLES
EL ROL DE LA INTELIGENCIA ARTIFICAL EN LAS ENERGIAS RENOVABLESEL ROL DE LA INTELIGENCIA ARTIFICAL EN LAS ENERGIAS RENOVABLES
EL ROL DE LA INTELIGENCIA ARTIFICAL EN LAS ENERGIAS RENOVABLESSaul Mamani
 
DISEÑO DE UNA ARQUITECTURA PARA LA IMPLEMENTACIÓN DE INTEROPERABILIDAD CON S...
DISEÑO DE UNA ARQUITECTURA PARA LA IMPLEMENTACIÓN DE INTEROPERABILIDAD CON  S...DISEÑO DE UNA ARQUITECTURA PARA LA IMPLEMENTACIÓN DE INTEROPERABILIDAD CON  S...
DISEÑO DE UNA ARQUITECTURA PARA LA IMPLEMENTACIÓN DE INTEROPERABILIDAD CON S...Saul Mamani
 
APLICACIÓN DE REDES NEURONALES ARTIFICIALES PARA LA DETECCION DE OBSTÁCULOS P...
APLICACIÓN DE REDES NEURONALES ARTIFICIALES PARA LA DETECCION DE OBSTÁCULOS P...APLICACIÓN DE REDES NEURONALES ARTIFICIALES PARA LA DETECCION DE OBSTÁCULOS P...
APLICACIÓN DE REDES NEURONALES ARTIFICIALES PARA LA DETECCION DE OBSTÁCULOS P...Saul Mamani
 
El lado oscuro de las redes sociales
El lado oscuro de las redes socialesEl lado oscuro de las redes sociales
El lado oscuro de las redes socialesSaul Mamani
 
Propuesta de una arquitectura para reemplazar el sistema informático la empre...
Propuesta de una arquitectura para reemplazar el sistema informático la empre...Propuesta de una arquitectura para reemplazar el sistema informático la empre...
Propuesta de una arquitectura para reemplazar el sistema informático la empre...Saul Mamani
 
Tesis Sistema Informático Integrado para la Administración Académica
Tesis Sistema Informático Integrado para la Administración AcadémicaTesis Sistema Informático Integrado para la Administración Académica
Tesis Sistema Informático Integrado para la Administración AcadémicaSaul Mamani
 
DETECCION DE OBSTACULOS POR MEDIO DE UN ROBOT APLICANDO REDES NEURONALES ARTI...
DETECCION DE OBSTACULOS POR MEDIO DE UN ROBOT APLICANDO REDES NEURONALES ARTI...DETECCION DE OBSTACULOS POR MEDIO DE UN ROBOT APLICANDO REDES NEURONALES ARTI...
DETECCION DE OBSTACULOS POR MEDIO DE UN ROBOT APLICANDO REDES NEURONALES ARTI...Saul Mamani
 
DETECCION DE OBSTACULOS POR MEDIO DE UN ROBOT APLICANDO REDES NEURONALES ARTI...
DETECCION DE OBSTACULOS POR MEDIO DE UN ROBOT APLICANDO REDES NEURONALES ARTI...DETECCION DE OBSTACULOS POR MEDIO DE UN ROBOT APLICANDO REDES NEURONALES ARTI...
DETECCION DE OBSTACULOS POR MEDIO DE UN ROBOT APLICANDO REDES NEURONALES ARTI...Saul Mamani
 
APLICACIÓN DE SCRUM Y UML PARA EL DESARROLLO DE UN SISTEMA DE VENTAS
APLICACIÓN DE SCRUM Y UML PARA EL DESARROLLO DE UN SISTEMA DE VENTASAPLICACIÓN DE SCRUM Y UML PARA EL DESARROLLO DE UN SISTEMA DE VENTAS
APLICACIÓN DE SCRUM Y UML PARA EL DESARROLLO DE UN SISTEMA DE VENTASSaul Mamani
 
2. Casos de uso y diagramas de casos de uso
2. Casos de uso y diagramas de casos de uso2. Casos de uso y diagramas de casos de uso
2. Casos de uso y diagramas de casos de usoSaul Mamani
 
FUNDAMENTOS DE UML 2
FUNDAMENTOS DE UML 2FUNDAMENTOS DE UML 2
FUNDAMENTOS DE UML 2Saul Mamani
 
In seguridad de aplicaciones web
In seguridad de aplicaciones webIn seguridad de aplicaciones web
In seguridad de aplicaciones webSaul Mamani
 
CODIGO QR PELIGROSOS
CODIGO QR PELIGROSOSCODIGO QR PELIGROSOS
CODIGO QR PELIGROSOSSaul Mamani
 
Sistemas Distibuidos y Servicios Web .NET
Sistemas Distibuidos y Servicios Web .NETSistemas Distibuidos y Servicios Web .NET
Sistemas Distibuidos y Servicios Web .NETSaul Mamani
 
Seguridad en Servicios Web .Net
Seguridad en Servicios Web .NetSeguridad en Servicios Web .Net
Seguridad en Servicios Web .NetSaul Mamani
 
Herramientas Libres en Ingenieria de Software
Herramientas Libres en Ingenieria de SoftwareHerramientas Libres en Ingenieria de Software
Herramientas Libres en Ingenieria de SoftwareSaul Mamani
 

Mehr von Saul Mamani (16)

EL ROL DE LA INTELIGENCIA ARTIFICAL EN LAS ENERGIAS RENOVABLES
EL ROL DE LA INTELIGENCIA ARTIFICAL EN LAS ENERGIAS RENOVABLESEL ROL DE LA INTELIGENCIA ARTIFICAL EN LAS ENERGIAS RENOVABLES
EL ROL DE LA INTELIGENCIA ARTIFICAL EN LAS ENERGIAS RENOVABLES
 
DISEÑO DE UNA ARQUITECTURA PARA LA IMPLEMENTACIÓN DE INTEROPERABILIDAD CON S...
DISEÑO DE UNA ARQUITECTURA PARA LA IMPLEMENTACIÓN DE INTEROPERABILIDAD CON  S...DISEÑO DE UNA ARQUITECTURA PARA LA IMPLEMENTACIÓN DE INTEROPERABILIDAD CON  S...
DISEÑO DE UNA ARQUITECTURA PARA LA IMPLEMENTACIÓN DE INTEROPERABILIDAD CON S...
 
APLICACIÓN DE REDES NEURONALES ARTIFICIALES PARA LA DETECCION DE OBSTÁCULOS P...
APLICACIÓN DE REDES NEURONALES ARTIFICIALES PARA LA DETECCION DE OBSTÁCULOS P...APLICACIÓN DE REDES NEURONALES ARTIFICIALES PARA LA DETECCION DE OBSTÁCULOS P...
APLICACIÓN DE REDES NEURONALES ARTIFICIALES PARA LA DETECCION DE OBSTÁCULOS P...
 
El lado oscuro de las redes sociales
El lado oscuro de las redes socialesEl lado oscuro de las redes sociales
El lado oscuro de las redes sociales
 
Propuesta de una arquitectura para reemplazar el sistema informático la empre...
Propuesta de una arquitectura para reemplazar el sistema informático la empre...Propuesta de una arquitectura para reemplazar el sistema informático la empre...
Propuesta de una arquitectura para reemplazar el sistema informático la empre...
 
Tesis Sistema Informático Integrado para la Administración Académica
Tesis Sistema Informático Integrado para la Administración AcadémicaTesis Sistema Informático Integrado para la Administración Académica
Tesis Sistema Informático Integrado para la Administración Académica
 
DETECCION DE OBSTACULOS POR MEDIO DE UN ROBOT APLICANDO REDES NEURONALES ARTI...
DETECCION DE OBSTACULOS POR MEDIO DE UN ROBOT APLICANDO REDES NEURONALES ARTI...DETECCION DE OBSTACULOS POR MEDIO DE UN ROBOT APLICANDO REDES NEURONALES ARTI...
DETECCION DE OBSTACULOS POR MEDIO DE UN ROBOT APLICANDO REDES NEURONALES ARTI...
 
DETECCION DE OBSTACULOS POR MEDIO DE UN ROBOT APLICANDO REDES NEURONALES ARTI...
DETECCION DE OBSTACULOS POR MEDIO DE UN ROBOT APLICANDO REDES NEURONALES ARTI...DETECCION DE OBSTACULOS POR MEDIO DE UN ROBOT APLICANDO REDES NEURONALES ARTI...
DETECCION DE OBSTACULOS POR MEDIO DE UN ROBOT APLICANDO REDES NEURONALES ARTI...
 
APLICACIÓN DE SCRUM Y UML PARA EL DESARROLLO DE UN SISTEMA DE VENTAS
APLICACIÓN DE SCRUM Y UML PARA EL DESARROLLO DE UN SISTEMA DE VENTASAPLICACIÓN DE SCRUM Y UML PARA EL DESARROLLO DE UN SISTEMA DE VENTAS
APLICACIÓN DE SCRUM Y UML PARA EL DESARROLLO DE UN SISTEMA DE VENTAS
 
2. Casos de uso y diagramas de casos de uso
2. Casos de uso y diagramas de casos de uso2. Casos de uso y diagramas de casos de uso
2. Casos de uso y diagramas de casos de uso
 
FUNDAMENTOS DE UML 2
FUNDAMENTOS DE UML 2FUNDAMENTOS DE UML 2
FUNDAMENTOS DE UML 2
 
In seguridad de aplicaciones web
In seguridad de aplicaciones webIn seguridad de aplicaciones web
In seguridad de aplicaciones web
 
CODIGO QR PELIGROSOS
CODIGO QR PELIGROSOSCODIGO QR PELIGROSOS
CODIGO QR PELIGROSOS
 
Sistemas Distibuidos y Servicios Web .NET
Sistemas Distibuidos y Servicios Web .NETSistemas Distibuidos y Servicios Web .NET
Sistemas Distibuidos y Servicios Web .NET
 
Seguridad en Servicios Web .Net
Seguridad en Servicios Web .NetSeguridad en Servicios Web .Net
Seguridad en Servicios Web .Net
 
Herramientas Libres en Ingenieria de Software
Herramientas Libres en Ingenieria de SoftwareHerramientas Libres en Ingenieria de Software
Herramientas Libres en Ingenieria de Software
 

APLICACIÓN DE MÉTODOS Y HERRAMIENTAS ÁGILES PARA EL DESARROLLO DE UN SISTEMA INFORMÁTICO DE VENTAS

  • 1. I UNIVERSIDAD TÉCNICA DE ORURO DIRECCIÓN DE POSTGRADO INGENIERÍA INFORMÁTICA MONOGRAFÍA APLICACIÓN DE MÉTODOS Y HERRAMIENTAS ÁGILES PARA EL DESARROLLO DE UN SISTEMA INFORMÁTICO DE VENTAS AUTOR: Saul Mamani Mamani Oruro – Bolivia
  • 2. II RESUMEN La presente monografía muestra que la aplicación de los métodos y las herramientas ágiles para desarrollar sistemas de información de calidad en el tiempo planificado y con los recursos pre establecidos. Se emplea el marco de trabajo Scrum como metodología ágil de desarrollo de software; y métodos y herramientas ágiles. Estos conceptos y herramientas ágiles se ponen en práctica desarrollando un sistema para la venta de productos. Se comprende mejor la visión del proyecto con un mapa de impactos (Impact Mapping). Los requerimientos funcionales son capturados con historias de usuario escritas por el product owner, se organizan y priorizan las historias de usuario en un product backlog, se estiman el esfuerzo y el tiempo de cada historia, y se dividen las historias en tres iteraciones (sprints). Las historias de usuario se detallan con los criterios de aceptación. Además, se realiza el seguimiento de todas las tareas programadas en un tablero Scrum, y se lleva un historial de todo el código fuente con una herramienta de control de versiones. En cada iteración se realiza el sprint review y el sprint restrospective.
  • 3. III ÍNDICE GENERAL RESUMEN......................................................................................................................................II CAPITULO I IDENTIFICACIÓN DEL PROBLEMA ............................................................ 1 1.1 INTRODUCCIÓN............................................................................................................ 1 1.2 PLANTEAMIENTO DEL PROBLEMA ......................................................................... 1 1.3 PREGUNTA DE INVESTIGACIÓN............................................................................... 2 1.4 OBJETIVOS ..................................................................................................................... 2 1.4.1 OBJETIVO GENERAL ............................................................................................ 2 1.4.2 OBJETIVOS ESPECÍFICOS .................................................................................... 2 1.5 JUSTIFICACIÓN ............................................................................................................. 3 1.5.1 SOCIAL..................................................................................................................... 3 1.5.2 TÉCNICA.................................................................................................................. 3 1.5.3 ADMINISTRATIVA................................................................................................. 3 CAPITULO II MARCO TEÓRICO CONCEPTUAL ............................................................... 4 2.1 SISTEMA INFORMÁTICO............................................................................................. 4 2.2 SISTEMA DE INFORMACIÓN EMPRESARIAL ......................................................... 4 2.3 MANIFIESTO AGIL........................................................................................................ 4 2.4 IMPACT MAPPING ........................................................................................................ 4 2.5 SCRUM............................................................................................................................. 6 2.6 HISTORIAS DE USUARIO............................................................................................. 8 2.6.1 CRITERIOS DE ACEPTACION.............................................................................. 8 2.6.2 MOCKUP.................................................................................................................. 9 2.7 PUNTOS HISTORIA ....................................................................................................... 9 2.8 CÓDIGOS QR .................................................................................................................. 9 2.9 TRANSFERENCIAS BANCARIAS CON CÓDIGO QR............................................. 10 2.10 TRELLO...................................................................................................................... 10 2.11 GIT .............................................................................................................................. 10 CAPITULO III MARCO METODOLÓGICO.......................................................................... 11 3.1 MÉTODOS Y TÉCNICAS UTILIZADAS.................................................................... 11 3.2 FASES DEL PROCESO DE INVESTIGACIÓN .......................................................... 11
  • 4. IV 3.3 DESARROLLO DEL TRABAJO .................................................................................. 12 3.4 CRITERIO DE ANÁLISIS............................................................................................. 12 3.5 ALCANCES Y LIMITACIONES .................................................................................. 13 CAPITULO IV MARCO PROPOSITIVO ................................................................................ 14 5.1 INICIO............................................................................................................................ 14 5.1.1 VISIÓN DEL PRODUCTO .................................................................................... 14 5.1.2 IDENTIFICACIÓN DEL EQUIPO SCRUM Y LOS STAKEHOLDERS............. 15 5.1.3 PRODUCT BACKLOG PRIORIZADO................................................................. 15 5.1.4 RELEASE PLANNING .......................................................................................... 20 5.2 DESARROLLO ITERATIVO........................................................................................ 20 5.2.1 PRIMER SPRINT.................................................................................................... 21 5.2.2 SEGUNDO SPRINT ............................................................................................... 29 5.2.3 TERCER SPRINT................................................................................................... 34 CAPITULO V CONCLUSIONES Y RECOMENDACIONES............................................... 40 5.1 CONCLUSIONES.......................................................................................................... 40 6.2 RECOMENDACIONES................................................................................................. 40 BIBLIOGRAFÍA........................................................................................................................... 41 ANEXOS....................................................................................................................................... 42
  • 5. V ÍNDICE DE TABLAS Tabla 1. Puntos historia ................................................................................................................... 9 Tabla 2. El proceso de Scrum........................................................................................................ 12 Tabla 3: Historia de usuario – Ingresar al sistema como administrador ....................................... 15 Tabla 4: Historia de usuario – Ingresar al sistema como vendedor............................................... 15 Tabla 5: Historia de usuario – Gestionar usuarios del sistema...................................................... 15 Tabla 6: Historia de usuario – Administrar perfil de usuario........................................................ 16 Tabla 7: Historia de usuario – Cambiar contraseña....................................................................... 16 Tabla 8: Historia de usuario – Gestionar productos ...................................................................... 16 Tabla 9: Historia de usuario – Gestionar clientes.......................................................................... 16 Tabla 10: Historia de usuario – Listar ventas................................................................................ 16 Tabla 11: Historia de usuario – Registrar ventas........................................................................... 17 Tabla 12: Historia de usuario – Generar recibo............................................................................. 17 Tabla 13: Historia de usuario – Anular ventas .............................................................................. 17 Tabla 14: Historia de usuario – Restablecer ventas....................................................................... 17 Tabla 15: Historia de usuario – Registrar precio en Código QR................................................... 18 Tabla 16: Historia de usuario – Pagar con QR .............................................................................. 18 Tabla 17: Historia de usuario – Generar informe económico ....................................................... 18 Tabla 18: Historia de usuario – Generar reportes estadísticos ...................................................... 18 Tabla 19: Product backlog............................................................................................................. 19 Tabla 20: Plan de despliegue......................................................................................................... 20 Tabla 21: HU iniciar sesión........................................................................................................... 21 Tabla 22: HU gestionar usuarios ................................................................................................... 22 Tabla 23: HU gestionar clientes .................................................................................................... 22 Tabla 24: HU gestionar productos................................................................................................. 23 Tabla 25: HU Administrar perfil ................................................................................................... 23 Tabla 26: HU Cambiar contraseña ................................................................................................ 24 Tabla 27: Primer sprint planning................................................................................................... 24 Tabla 28: Primer sprint backlog .................................................................................................... 25 Tabla 29: Caso de uso Listar ventas.............................................................................................. 29 Tabla 30: Caso de uso Registrar ventas......................................................................................... 29 Tabla 31: Caso de uso Generar recibo........................................................................................... 30 Tabla 32: Segundo sprint planning................................................................................................ 30 Tabla 33: Segundo sprint backlog ................................................................................................. 30 Tabla 34: Caso de uso Anular ventas ............................................................................................ 34 Tabla 35: Caso de uso Restablecer ventas..................................................................................... 34 Tabla 36: Caso de uso Restablecer ventas..................................................................................... 35 Tabla 37: Caso de uso Restablecer ventas..................................................................................... 35 Tabla 38: Caso de uso Generar reportes........................................................................................ 35 Tabla 39: Tercer sprint planning ................................................................................................... 36 Tabla 40: Tercer sprint backlog..................................................................................................... 36
  • 6. VI ÍNDICE DE FIGURAS Figura 1: Impact Mapping............................................................................................................... 5 Figura 2: Flujo de Scrum para un Sprint ......................................................................................... 6 Figura 3: Prácticas de Scrum........................................................................................................... 7 Figura 4: Contextos de cynefin........................................................................................................ 8 Figura 5: Modelo de historia de usuario.......................................................................................... 8 Figura 6: Información que representa un código QR .................................................................... 10 Figura 7: Impact mapping.............................................................................................................. 14 Figura 8: Tablero Kanban primer sprint........................................................................................ 26 Figura 9: Tablero Kanban primer sprint........................................................................................ 26 Figura 10: Control de versiones del primer sprint......................................................................... 26 Figura 11: Pantalla login................................................................................................................ 27 Figura 12: Pantalla lista de productos............................................................................................ 27 Figura 13: Pantalla gestión de productos....................................................................................... 28 Figura 14: Seguimiento del primer sprint...................................................................................... 28 Figura 15: Tablero Kanban segundo sprint ................................................................................... 31 Figura 16: Tablero Kanban segundo sprint ................................................................................... 31 Figura 17: Control de versiones del segundo sprint ...................................................................... 32 Figura 18: Pantalla de ventas......................................................................................................... 32 Figura 19: Pantalla recibo con código QR para el pago................................................................ 33 Figura 20: Seguimiento del segundo sprint................................................................................... 33 Figura 21: Tablero Kanban tercer sprint........................................................................................ 37 Figura 22: Tablero Kanban tecer sprint......................................................................................... 37 Figura 23: Control de versiones del tercer sprint .......................................................................... 38 Figura 24: Ventana de ventas realizadas ....................................................................................... 38 Figura 25: Pantalla de gestión de clientes ..................................................................................... 38 Figura 26: Reporte de ventas realizadas........................................................................................ 39 Figura 27: Seguimiento del tercer sprint ....................................................................................... 39 Figura 28: Modelo Relacional....................................................................................................... 42
  • 7. 1 CAPITULO I IDENTIFICACIÓN DEL PROBLEMA 1.1 INTRODUCCIÓN La información es considerada el activo más importante en cualquier institución, empresa u organización. La buena o mala administración de este activo es fundamental, principalmente en lo que se refiere a la toma de decisiones, ya que podría determinar el éxito o el fracaso de los proyectos o tareas que realizan la institución. Es por esto que las instituciones dependen cada vez más de la creación, gestión y publicación de sistemas informáticos; capaces de automatizar y administrar su información de manera fiable y eficiente. En este contexto la ingeniería de software juega un papel muy importante, ya que nos brinda un conjunto de metodologías, métodos, técnicas, y herramientas para desarrollar sistemas software fiable, que cumplan con los requerimientos de los usuarios, y con los estándares de calidad impuestos por la industria del software. El desarrollo de software se puede realizar de muchas maneras. Hay diferentes procesos de desarrollo que los proyectos siguen, desde el modelo de la cascada hasta los procesos basados en objetivos, pasando por los procesos iterativos e incrementales hasta las metodologías ágiles. Las metodologías ágiles son aquellas que permiten adaptar la forma de trabajo a las condiciones del proyecto, consiguiendo flexibilidad e inmediatez en la respuesta para amoldar el proyecto y su desarrollo a las circunstancias específicas del entorno. En esencia, las empresas que apuestan por esta metodología consiguen gestionar sus proyectos de forma flexible, autónoma y eficaz reduciendo los costes e incrementando su productividad. 1.2 PLANTEAMIENTO DEL PROBLEMA Durante mucho tiempo el desarrollo de software siguió un proceso en cascada. En este modelo se analizaban los requisitos, se diseñaban, se desarrollaban, se probaban y por último se desplegaba el sistema. Una de las principales limitaciones del modelo en cascada es que no permite retroalimentación en cada una de sus etapas, después de algún tiempo cuando se termina el proyecto y se lo entrega a los usuarios probablemente el negocio ha experimentado cambios mientras se construía el sistema, y los usuarios responden “Esto es lo que pedí, pero ya no me sirve”. Por todas las limitaciones del modelo en cascada surge el concepto de desarrollo iterativo e incremental. Un proyecto puede verse como una serie de pequeñas cascadas, realizando entregas
  • 8. 2 incrementales a los usuarios finales, de los cuales recibimos retroalimentación para la siguiente iteración. Siguiendo esta visión aparecen un sin fin de modelos; como la metodología en Espiral, el Proceso Unificado de desarrollo (UP o sus variantes RUP, AUP, EUP, etc.), Ingeniería Web basada en UML (UWE), etc. Sin embargo, estos modelos se enfocan en una planificación estricta antes de comenzar el desarrollo del sistema, esto conlleva mucha documentación, burocracia e iteraciones largas. Por esta razón surgen los marcos de trabajo y las metodologías ágiles, como SCRUM, programación extrema (XP), Kanban, etc. cuya visión se centra en el manifiesto ágil. Estas metodologías se enfocan en el trabajo en equipo, se considera al cliente como parte del equipo, y se realizan entregables e iteraciones cortas para que el usuario o el cliente constantemente realice retroalimentación para construir un producto de calidad acorde a sus necesidades. 1.3 PREGUNTA DE INVESTIGACIÓN Por todo lo expuesto, se plantea la siguiente pregunta de investigación: ¿Qué métodos y herramientas ágiles son las necesarias para desarrollar de manera eficiente (en el tiempo y presupuesto planificado) un sistema de información para la venta de productos? 1.4 OBJETIVOS 1.4.1 OBJETIVO GENERAL Identificar los métodos y las herramientas ágiles adecuadas y necesarias para desarrollar un sistema informático para la venta de productos, de manera eficiente cumpliendo la planificación establecida. 1.4.2 OBJETIVOS ESPECÍFICOS − Elaborar un impact mapping para entender mejor el objetivo del sistema que se va a desarrollar y determinar la visión del proyecto. − Utilizar una metodología de gestión de desarrollo ágil, para que el sistema sea desarrollado en el tiempo planificado. − Especificar los criterios de aceptación de las historias de usuario escritas por el product owner, para describir el comportamiento esperado del sistema. − Estimar el esfuerzo y el tiempo de las historias de usuarios con el método puntos historia y planning pocker.
  • 9. 3 − Gestionar el avance del proyecto con la herramienta Trello, para revisar que se cumpla con la planificación y asegurar la calidad de sistema. 1.5 JUSTIFICACIÓN 1.5.1 SOCIAL 1.5.2 TÉCNICA El desarrollo de sistemas informáticos utilizando metodologías ágiles como Scrum, herramientas de gestión de software como Trello, herramientas de control de versiones como Git, y Frameworks MVC como Laravel; hacen posible que la construcción de software cumpla con los altos estándares de calidad. 1.5.3 ADMINISTRATIVA Toda empresa, que desea tener una gestión adecuada en el desarrollo de sus sistemas, necesariamente debe utilizar herramientas y metodologías para lograr sus objetivos organizacionales.
  • 10. 4 CAPITULO II MARCO TEÓRICO CONCEPTUAL 2.1 SISTEMA INFORMÁTICO Un sistema informático es un sistema que permite almacenar y procesar información; es el conjunto de partes interrelacionadas: hardware, software y personal informático. El hardware incluye computadoras o cualquier tipo de dispositivo electrónico, que consisten en procesadores, memoria, sistemas de almacenamiento externo, etc. El software incluye al sistema operativo, firmware y aplicaciones, siendo especialmente importante los sistemas de gestión de bases de datos. Por último, el componente humano incluye al personal técnico que apoya y mantienen el sistema (analistas, programadores, operarios, etc.) y a los usuarios que lo utilizan. 2.2 SISTEMA DE INFORMACIÓN EMPRESARIAL Un Sistema de Información Empresarial o SIE es generalmente cualquier tipo de sistema de computación que es de "clase enterprise". Esto significa normalmente que ofrece alta calidad de servicio, lidia con grandes volúmenes de datos - capaz de soportar cualquier organización grande. 2.3 MANIFIESTO AGIL Como consecuencia de una reunión donde se acuño el término “Metodologías Ágiles” (febrero 2001), se establecieron los valores de estas metodologías agrupándoles en cuatro postulados; quedando esta agrupación denominada como Manifiesto Ágil. A continuación, se mencionan los cuatro postulados de este manifiesto: − Valorar más a los individuos y su interacción que a los procesos y las herramientas. − Valorar más el software que funciona que la documentación exhaustiva. − Valorar más la colaboración con el cliente que la negociación contractual. − Valorar la respuesta al cambio que el seguimiento de un plan. Esto quiere decir que se valora más lo primero, sin dejar de lado lo segundo. (Manifesto, 2019) 2.4 IMPACT MAPPING El Impact Mapping es una técnica de planificación estratégica creada por Gojko Adzic. Fue presentada en Octubre de 2013 en el 5º Agile Tour como herramienta para mejorar la utilización de técnicas ágiles en el desarrollo de software.
  • 11. 5 Esta técnica crea un marco de trabajo visual para entender los objetivos y los resultados esperados, hecho que facilita la toma de decisiones de forma colaborativa. (Pomares, 2021) Figura 1: Impact Mapping Fuente: (Pomares, 2021) Entre las ventajas que nos proporcionan los Impact Mapping están: − Son rápidos, muy visuales y colaborativos. − Facilitan la participación de personas con diferentes funciones y experiencia. − Ponen al descubierto las suposiciones que puedan estar ocultas y documenta las decisiones importantes. − Proporcionan la estructura suficiente para facilitar una planificación y priorización eficaces, todo ello sin imponer un lenguaje técnico y burocracia que nos entorpezcan. En resumen: − Se centra en la colaboración entre todas las partes interesadas. − Visualiza y comunica claramente las suposiciones. − Es rápido e iterativo para poder adaptar los cambios sin demora.
  • 12. 6 2.5 SCRUM Scrum es un marco de trabajo para la gestión y desarrollo de productos complejos, en un proceso iterativo e incremental utilizado comúnmente en entornos donde existe gran incertidumbre. Scrum está basado en un pequeño conjunto de valores, principios, y prácticas; que se basan en los principios de inspección y adaptación, enfocados más en el aspecto humano y el trabajo en equipo donde se involucra totalmente al cliente en todo el proceso. (Rubin, 2013) Figura 2: Flujo de Scrum para un Sprint Fuente: (Rubin, 2013) En Scrum se realizan entregas parciales y regulares del producto final, priorizadas por el beneficio que aportan al receptor del proyecto. Por ello, Scrum está especialmente indicado para proyectos en entornos complejos, donde se necesita obtener resultados pronto, donde los requisitos son cambiantes o poco definidos, donde la innovación, la competitividad, la flexibilidad y la productividad son fundamentales.
  • 13. 7 Figura 3: Prácticas de Scrum Fuente: (Rubin, 2013) “Todo en el software cambia. Los requisitos cambian. El diseño cambia. El negocio cambia. La tecnología cambia. El equipo cambia. Los miembros del equipo cambian. El problema no es el cambio en sí mismo, puesto que sabemos que el cambio va a suceder; el problema es la incapacidad de adaptarnos a dicho cambio cuando éste tiene lugar.” Kent Beck. Scrum es un marco de trabajo ágil que está basado en un pequeño conjunto de valores, principios y prácticas. Scrum ha ganado popularidad en estos últimos años ya que se adapta bien en proyecto cuyos requisitos cambian constantemente, proyectos no predecibles, y proyectos de entorno complejos con gran incertidumbre.
  • 14. 8 Figura 4: Contextos de cynefin Fuente: (Mercurial, 2019) 2.6 HISTORIAS DE USUARIO Es una narración que describe una funcionalidad del sistema que tiene valor para un usuario del sistema. Las historias de usuario deben ser independientes, negociables, evaluables, estimables, pequeñas, y se las deben probar. Figura 5: Modelo de historia de usuario Fuente: Elaboración propia 2.6.1 CRITERIOS DE ACEPTACION Los criterios de aceptación están escritos por el Product Owner (a veces en colaboración con el equipo de desarrollo o por el QA) y acompañan cada historia de usuario: representan un conjunto de condiciones que se deben cumplir para considerar la historia de usuario completa y terminada.
  • 15. 9 2.6.2 MOCKUP Un mockup o maqueta es un diseño digital de una web y / o aplicación. Las maquetas se utilizan en la fase de diseño inicial para visualizar ideas y conceptos en el contexto del diseño web e incluyen la estructura de navegación, el sitio y los elementos de diseño en detalle. 2.7 PUNTOS HISTORIA El método de los puntos de historia es la forma de realizar estimaciones de esfuerzo y tiempo a las historias de usuario. También nos sirve para medir la velocidad del sprint en la reunión de retrospectiva. Se escoge una historia de usuario sencilla, una que todo el mundo entiende, para emplearla como referencia. Esa sería la definición de 1 punto de historia en el proyecto. Para estimas las otras historias de usuario, bastará con compararlo con la historia de referencia. Se emplea la actividad de planning pocker para determinar el valor de los puntos y el tiempo de las historias de usuario, según el siguiente cuadro. SIZE POINTS TIME [Days] XtraSmall (XS) 1 ½ Small (S) 2 1 Medium (M) 3 2 Large (L) 5 3 XtraLarge (XL) 8 5 Tabla 1. Puntos historia Fuente: Elaboración propia 2.8 CÓDIGOS QR Un código es la evolución del código de barras. Es un módulo para almacenar información en una matriz de puntos o en un código de barras bidimensional. La matriz se lee en el dispositivo móvil por un lector específico (lector de QR) y de forma inmediata nos lleva a una aplicación en Internet, un mapa de localización, un correo electrónico, una página web o un perfil en una red social. Fue creado en 1994 por la compañía japonesa Denso Wave, subsidiaria de Toyota. Presenta tres cuadrados en las esquinas que permiten detectar la posición del código al lector.
  • 16. 10 Figura 6: Información que representa un código QR Fuente: (DENSO WAVE INCORPORATED , 01) 2.9 TRANSFERENCIAS BANCARIAS CON CÓDIGO QR Para realizar transferencias bancarias, sólo se necesita tener una cuenta en una entidad bancaria o en una cooperativa y un teléfono inteligente. Los códigos QR son códigos de barras bidimensionales que tienen información codificada y encriptada para efectuar transacciones de transferencia a terceros y transferencias ACH de forma segura. En Bolivia los pagos QR han logrado incluir más personas a la inclusión financiera. La tecnología ha se ha popularizado con las transacciones de dinero electrónico en compras rutinarias, desde pagos lujosos hasta mercados populares. (Soli, 2022) 2.10 TRELLO Trello es una herramienta en línea para la administración de tareas de un proyecto, el seguimiento de errores e incidencias y para la gestión operativa de proyectos. La herramienta fue desarrollada por la empresa australiana Atlassian. 2.11 GIT Git es un software de control de versiones, pensando en la eficiencia y la confiabilidad del mantenimiento de versiones de aplicaciones cuando éstas tienen un gran número de archivos de código fuente.
  • 17. 11 CAPITULO III MARCO METODOLÓGICO 3.1 MÉTODOS Y TÉCNICAS UTILIZADAS. La metodología representa un conjunto ordenado de guías que permiten inferir la manera de hacer frente a una situación. Para esto se emplean los modelos, que son una abstracción del comportamiento de un sistema. Se van a utilizar los siguientes métodos y técnicas: − Scrum, como marco metodológico ágil de desarrollo de software. − Impact Mapping, como técnica ágil para la elicitación y captura de necesidades y requisitos del sistema − Historias de usuario, para describir de manera detallada los requerimientos del sistema escritas por los usuarios y por el product owner − Puntos de historia, como método para estimar el tiempo de desarrollo y el costo de implementación de las historias de usuario. − Burdown Chart, como gráfica para revisar la gestión o el avance de los requerimientos del usuario según lo planificado. − Tablero Scrum, como herramienta ágil para visualizar el avance de las tareas o historias de usuario. − Definition of Done (DoD), como técnica para definir si una historia de usuario o una tarea se considera completada. − Lenguaje de Modelado Unificado (UML), como notación gráfica para el análisis y diseño de la base de datos. 3.2 FASES DEL PROCESO DE INVESTIGACIÓN Los procesos de Scrum abordan las actividades y el flujo específico de un proyecto Scrum. En total hay diecinueve procesos que se agrupan en cinco fases. Al ser una metodología ágil, los procesos se adaptan según el tipo y el tamaño del proyecto que se está construyendo.
  • 18. 12 Tabla 2. El proceso de Scrum Fuente: (Satpathy, 2013) 3.3 DESARROLLO DEL TRABAJO El trabajo de investigación se va a desarrollar aplicando las metodologías y herramientas ágiles identificadas en el punto [3.1]. Para poner en práctica la idea que se quiere mostrar en la presente monografía, se desarrolla un sistema de ventas para la venta de todo tipo de productos, vestimenta, tecnología, etc. 3.4 CRITERIO DE ANÁLISIS Para el análisis del sistema se van a emplear los métodos ágiles como son el Impact Mapping y las historias de usuario con los criterios de aceptación bien definidos. Con el Lenguaje de Modelado Unificado (UML) se va a analizar y diseñar la base de datos.
  • 19. 13 3.5 ALCANCES Y LIMITACIONES Para poner en práctica la propuesta que se quiere mostrar en la presente monografía, se desarrolla un sistema de ventas para la venta de todo tipo de productos. a) Alcances: − Administración de usuarios, roles y permisos − Gestión de productos − Gestión de clientes − Registro de venta de productos − Anulación y restablecimiento de las ventas − Generación de un recibo o nota de venta. − Generación de códigos QR para la venta de productos por transferencia bancaria − Generación de informes económicos y reportes estadísticos b) Limitaciones: − Para mantener la simplicidad del proyecto, no se implementa un módulo de facturación computarizada. − La monografía está enfocada en el análisis, diseño y desarrollo del sistema. Por esta razón no se documenta las pruebas realizadas ni la puesta en producción.
  • 20. 14 CAPITULO IV MARCO PROPOSITIVO 5.1 INICIO 5.1.1 VISIÓN DEL PRODUCTO El sistema de información propuesto, en los alcances y limitaciones, va enfocado a cualquier negocio cuyo rubro principal consiste en la venta de productos en general. Como el proyecto no se enfoca en un negocio o empresa en particular, se hace uso de un mapa de impacto (impact mapping) para comprender mejor la visión del sistema que se va a desarrollar. Figura 7: Impact mapping Fuente: Elaboración propia Objetivo Actores Impactos Entregables
  • 21. 15 5.1.2 IDENTIFICACIÓN DEL EQUIPO SCRUM Y LOS STAKEHOLDERS Con fines académicos, los roles de Scrum están representados por una sola persona. a) Product owner: Saul Mamani M. b) Scrum master: Saúl Mamani M. c) Equipo de desarrollo: Saul Mamani M. d) Stakeholder: Los stakeholders están representados por los usuarios y los clientes que van a utilizar el sistema. 5.1.3 PRODUCT BACKLOG PRIORIZADO 5.1.3.1 IDENTIFICACIÓN DE HISTORIAS DE USUARIO Para la determinación de requerimientos del sistema se recolectan historias de usuario. HU1: Ingresar al sistema como administrador Como Administrador Quiero Ingresar al sistema con una cuenta y un password Para Tener el acceso a toda la funcionalidad del sistema, incluyendo la funcionalidad de los vendedores Tabla 3: Historia de usuario – Ingresar al sistema como administrador Fuente: Elaboración propia HU2: Ingresar al sistema como vendedor Como Vendedor Quiero Ingresar al sistema con una cuenta y un password Para Vender productos y generar informes económicos Tabla 4: Historia de usuario – Ingresar al sistema como vendedor Fuente: Elaboración propia HU3: Gestionar usuarios del sistema Como Administrador Quiero Listar, insertar, modificar y eliminar datos de los vendedores Para Que utilicen el sistema según su rol seleccionado Tabla 5: Historia de usuario – Gestionar usuarios del sistema Fuente: Elaboración propia HU4: Administrar perfil de usuario Como Vendedor
  • 22. 16 Quiero Ver y actualizar mis datos personales y mi foto de perfil Para Personalizar mi cuenta y cambiar la foto de perfil Tabla 6: Historia de usuario – Administrar perfil de usuario Fuente: Elaboración propia HU5: Cambiar contraseña Como Vendedor Quiero Cambiar mi contraseña asignada Para Mantener seguro mi sesión y mis acciones en el sistema Tabla 7: Historia de usuario – Cambiar contraseña Fuente: Elaboración propia HU6: Gestionar productos Como Vendedor Quiero Listar, buscar, insertar, modificar y eliminar productos categorizados. Para Tener un catálogo completo de los productos al momento de registrar las ventas solicitadas Tabla 8: Historia de usuario – Gestionar productos Fuente: Elaboración propia HU7: Gestionar clientes Como Vendedor Quiero Listar, buscar, insertar, modificar y eliminar datos de los clientes Para Registrar los datos del cliente al realizar una venta, llevar un adecuado control de los clientes y generar reportes estadísticos Tabla 9: Historia de usuario – Gestionar clientes Fuente: Elaboración propia HU8: Listar ventas Como Vendedor Quiero Listar todas las ventas realizadas por rango de fechas, mostrando el total vendido Para Llevar un control económico de todo lo que he vendido. Además de, re imprimir los recibos, anular y/o restablecer ventas erradas Tabla 10: Historia de usuario – Listar ventas Fuente: Elaboración propia
  • 23. 17 HU9: Registrar ventas Como Vendedor Quiero Registrar en el sistema la venta de uno o varios productos del catálogo, y buscar o registrar los datos del cliente Para Llevar un control económico adecuado de todas las ventas realizadas Tabla 11: Historia de usuario – Registrar ventas Fuente: Elaboración propia HU10: Generar recibo Como Vendedor Quiero Que el sistema genere un recibo con los datos de la venta realizada, la información del cliente, y un código QR Para Tener constancia de que la transacción se ha realizado de manera correcta Tabla 12: Historia de usuario – Generar recibo Fuente: Elaboración propia HU11: Anular ventas Como Vendedor Quiero Anular las ventas que yo he registrado y que tengan datos erróneos. Las ventas se pueden anular solo el día en el que se realizó la transacción y antes de generar el informe económico Para Que no sean tomados en cuenta a la hora de generar el informe económico diario Tabla 13: Historia de usuario – Anular ventas Fuente: Elaboración propia HU12: Restablecer ventas Como Vendedor Quiero Restablecer una venta que yo he anulado previamente por error. Las ventas se pueden restablecer solo el día en que se realizó la transacción y antes de generar el informe económico diario Para Que vuelva a ser tomada en cuenta a la hora de generar el informe económico diario Tabla 14: Historia de usuario – Restablecer ventas Fuente: Elaboración propia HU13: Registrar precio en código QR Como Vendedor
  • 24. 18 Quiero Registrar el precio y la información del producto en un código QR. Para Que los clientes puedan pagar el costo del producto directamente desde sus aplicaciones de banco Tabla 15: Historia de usuario – Registrar precio en Código QR Fuente: Elaboración propia HU14: Pagar con QR Como Cliente Quiero Escanear el precio y la información del producto contenido en un código QR desde mi aplicación de banca móvil. Para Realizar el transferencia bancaria del precio del producto Tabla 16: Historia de usuario – Pagar con QR Fuente: Elaboración propia HU15: Generar informe económico Como Vendedor Quiero Quiero que el sistema genere informes económicos diarios, mensuales y anuales de todas las ventas realizadas Para Llevar un control adecuado de todas las transacciones que se han realizado en un determinado tiempo Tabla 17: Historia de usuario – Generar informe económico Fuente: Elaboración propia HU16: Generar reportes estadísticos Como Administrador Quiero Que el sistema genere reportes estadísticos económicos y reportes estadísticos de los clientes potenciales Para Tener una adecuada toma de decisiones, como lanzar y publicar promociones y descuentos especiales Tabla 18: Historia de usuario – Generar reportes estadísticos Fuente: Elaboración propia 5.1.3.2 PRODUCT BACKLOG La pila del producto de pendientes a desarrollar está constituida por las historias de usuario, y ordenada según prioridad de implementación.
  • 25. 19 Historia de usuario Descripción Prioridad HU1 Ingresar al Sistema como administrador 1 HU2 Ingresar al sistema como vendedor 1 HU3 Gestionar usuarios del sistema 1 HU4 Administrar perfil de usuario 1 HU5 Cambiar contraseña 1 HU6 Gestionar productos 1 HU7 Gestionar clientes 1 HU8 Listar ventas 2 HU9 Registrar ventas 2 HU10 Generar recibo 2 HU11 Anular ventas 3 HU12 Restablecer ventas 3 HU13 Registrar precio con código QR 3 HU14 Pagar con QR 3 HU15 Generar informe económico 3 HU16 Generar reportes estadísticos 3 Tabla 19: Product backlog Fuente: Elaboración propia 5.1.3.3 DEFINICIÓN DE HECHO Se establece la “definición de hecho” cuando todas las tareas definidas en el sprint backlog de una iteración se han completado, se han verificado los criterios de aceptación, y se ha desplegado el product increment en un servidor de pruebas.
  • 26. 20 5.1.4 RELEASE PLANNING En el plan de despliegue se identifican las iteraciones (Sprints) y los entregables que se van a realizan durante el transcurso del proyecto. Sprint / Entregable HU Descripción Primer Sprint HU1 Ingresar al Sistema como administrador HU2 Ingresar al sistema como vendedor HU3 Gestionar usuarios del sistema HU4 Administrar perfil HU5 Cambiar contraseña HU6 Gestionar productos HU7 Gestionar clientes Segundo Sprint HU8 Listar ventas HU9 Registrar ventas HU10 Generar recibo Tercer Sprint HU11 Anular ventas HU12 Restablecer ventas HU13 Registrar precio con código QR HU14 Pagar con QR HU15 Generar informe económico HU16 Generar reportes estadísticos Tabla 20: Plan de despliegue Fuente: Elaboración propia 5.2 DESARROLLO ITERATIVO El desarrollo iterativo (Sprints) lo conforman las fases de: − Planificación y estimación − Implementación − Revisión y retrospectiva
  • 27. 21 En base al reléase planning se tienen que desarrollar 3 iteraciones. 5.2.1 PRIMER SPRINT 5.2.1.1 PLANIFICACIÓN Y ESTIMACIÓN a) Historias de usuario y criterios de aceptación Nombre: Iniciar Sesión Historia de usuario: HU1 Actor: Vendedor Depende de: HU3 Descripción: Ingresar al sistema con una cuenta y un password Criterio de Aceptación: − El actor ingresa su email y una contraseña y presiona el botón Aceptar. − El sistema busca las credenciales en la base de datos. − Una vez verificada las credenciales, el sistema abre la pantalla principal de acuerdo al rol del actor. Si es vendedor tiene acceso solo a la funcionalidad mostrada en diagrama de casos de uso, y si es administrador tiene acceso a toda la funcionalidad del sistema. Elaborado por: Saul Mamani Responsable: Saul Mamani Versión: 1.0 Tabla 21: HU iniciar sesión Fuente: Elaboración propia Nombre: Gestionar usuarios Historia de usuario: HU3 Actor: Administrador Depende de: Descripción: Crear, modificar, eliminar y listar usuarios del sistema Criterio de Aceptación: − El sistema muestra la lista de todos los usuarios registrados y un menú con las siguientes opciones: Nuevo − El actor presiona el botón Nuevo − El sistema abre un formulario con los datos del usuario en base a la clase “User” del diagrama de clases − El actor llena los datos y presión el botón Guardar − El sistema inserta el registro en la base de datos y lanza un mensaje Modificar − El actor selecciona un registro presiona el botón Modificar − El sistema abre un formulario con los datos del usuario seleccionado − El actor modifica uno o más campos y presiona el botón Guardar − El sistema modifica los datos y lanza un mensaje
  • 28. 22 Eliminar − El actor selecciona un registro presiona el botón Eliminar − El sistema muestra un mensaje de confirmación − El actor confirma el mensaje − El sistema elimina el registro de la base de datos Elaborado por: Saul Mamani Responsable: Saul Mamani Versión: 1.0 Tabla 22: HU gestionar usuarios Fuente: Elaboración propia Nombre: Gestionar clientes Historia de usuario: HU7 Actor: Vendedor Depende de: Descripción: Crear, modificar, eliminar y listar clientes Criterio de Aceptación: − El sistema muestra la lista de todos los clientes registrados y un menú con las siguientes opciones: Nuevo − El actor presiona el botón Nuevo − El sistema abre un formulario con los datos del cliente en base a la clase “Client” del diagrama de clases − El actor llena los datos y presión el botón Guardar − El sistema inserta el registro en la base de datos y lanza un mensaje Modificar − El actor selecciona un registro presiona el botón Modificar − El sistema abre un formulario con los datos del cliente seleccionado − El actor modifica uno o más campos y presiona el botón Guardar − El sistema modifica los datos y lanza un mensaje Eliminar − El actor selecciona un registro presiona el botón Eliminar − El sistema muestra un mensaje de confirmación − El actor confirma el mensaje − El sistema elimina el registro de la base de datos Elaborado por: Saul Mamani Responsable: Saul Mamani Versión: 1.0 Tabla 23: HU gestionar clientes Fuente: Elaboración propia Nombre: Gestionar productos Historia de usuario: HU6 Actor: Vendedor Depende de: Descripción: Crear, modificar, eliminar y listar producto
  • 29. 23 Criterio de Aceptación: − El sistema muestra la lista de todos los productos registrados y un menú con las siguientes opciones: Nuevo − El actor presiona el botón Nuevo − El sistema abre un formulario con los datos del producto en base a la clase “Product” del diagrama de clases − El actor llena los datos, carga una imagen no más de 2MB de tamaño y presión el botón Guardar − El sistema inserta el registro en la base de datos y lanza un mensaje Modificar − El actor selecciona un registro presiona el botón Modificar − El sistema abre un formulario con los datos del producto seleccionado − El actor modifica uno o más campos y presiona el botón Guardar − El sistema modifica los datos y lanza un mensaje Eliminar − El actor selecciona un registro presiona el botón Eliminar − El sistema muestra un mensaje de confirmación − El actor confirma el mensaje − El sistema elimina el registro de la base de datos Elaborado por: Saul Mamani Responsable: Saul Mamani Versión: 1.0 Tabla 24: HU gestionar productos Fuente: Elaboración propia Nombre: Administrar perfil Historia de usuario: HU4 Actor: Vendedor Depende de: HU3 Descripción: Administrar datos del usuario logeado Criterio de Aceptación: − Al actor presiona el botón Perfil de usuario de la pantalla principal − El sistema llena los datos del usuario logeado − El actor modifica uno o más datos, carga una foto de no más de 2MB, y presiona Aceptar − El sistema actualiza la información del usuario en la base de datos, y refresca el sistema. Elaborado por: Saul Mamani Responsable: Saul Mamani Versión: 1.0 Tabla 25: HU Administrar perfil Fuente: Elaboración propia
  • 30. 24 Nombre: Cambiar contraseña Historia de usuario: HU5 Actor: Vendedor Depende de: HU3, HU4 Descripción: Cambiar contraseña de un usuario logado Criterio de Aceptación: − El sistema muestra la pantalla para cambiar contraseña − El actor llena la contraseña actual, la nueva contraseña y la verificación de la contraseña − El sistema verifica las credenciales en la base de datos, actualiza la contraseña, y lanza un mensaje de éxito. o Las contraseñas deben estar protegidas por un algoritmo de cifrado. Elaborado por: Saul Mamani Responsable: Saul Mamani Versión: 1.0 Tabla 26: HU Cambiar contraseña Fuente: Elaboración propia b) Sprint planning y estimación El sprint planning muestra qué1 es lo que se tiene que desarrollar en esta iteración, y los tiempos comprometidos para finalizar cada historia de usuario. HU Descripción Tamaño Puntos historia Tiempo [Días] Inicio Finalización HU1 Ingresar al Sistema como administrador XS 1 ½ 06/06/2022 06/06/2022 HU2 Ingresar al sistema como vendedor XS 1 ½ 06/06/2022 06/06/2022 HU3 Gestionar usuarios del sistema S 2 1 07/06/2022 07/06/2022 HU4 Administrar perfil XS 1 ½ 08/06/2022 08/06/2022 HU5 Cambiar contraseña XS 1 ½ 08/06/2022 08/06/2022 HU6 Gestionar productos S 2 1 09/06/2022 09/06/2022 HU7 Gestionar clientes S 2 1 10/06/2022 10/06/2022 Puntos de historia/Tiempo estimado 10 5 Tabla 27: Primer sprint planning Fuente: Elaboración propia 1 La palabra qué es lo que se tiene que hacer, hace referencia al análisis de sistemas dentro el ciclo de vida un proyecto de desarrollo de software.
  • 31. 25 Para completar este sprint se estima un esfuerzo de 10 puntos de historia y tiempo de desarrollo de cinco días. c) Sprint backlog e identificación de tareas Para determinar cómo2 se va a desarrollar el sprint, se identifican una o varias tareas por historia de usuario, las cuales son agrupadas en un sprint backlog y asignadas a los miembros del equipo de desarrollo. HU Descripción Tareas HU1 Ingresar al Sistema como administrador T1. Diseñar las migraciones en Laravel T2. Desarrollar el Login. HU2 Ingresar al sistema como vendedor T3. Diseñar el IU del sistema T4. Controlar los permisos en el menú HU3 Gestionar usuarios del sistema T5. Desarrollar el CRUD de usuarios HU4 Administrar perfil T6. Diseñar la pantalla de perfil de usuario HU5 Cambiar contraseña T7. Desarrollar el cambio de contraseña HU6 Gestionar productos T8. Desarrollar el CRUD de productos HU7 Gestionar clientes T9. Desarrollar el CRUD de clientes Tabla 28: Primer sprint backlog Fuente: Elaboración propia 5.2.1.2 IMPLEMENTACIÓN a) Create deliverables (Ejecución del Sprint) Para controlar la ejecución del sprint y el avance de las tareas, empleamos un tablero scrum con la herramienta Trello. 2 La palabra cómo se va a desarrollar, hace referencia al diseño de sistemas dentro el ciclo de vida un proyecto de desarrollo de software.
  • 32. 26 Figura 8: Tablero Kanban primer sprint Fuente: Elaboración propia Figura 9: Tablero Kanban primer sprint Fuente: Elaboración propia b) Control de versiones El avance del código fuente del proyecto se emplea el sistema de control de versiones GIT. Figura 10: Control de versiones del primer sprint Fuente: Elaboración propia
  • 33. 27 5.2.1.3 REVISIÓN Y RESTROSPECTIVA a) Sprint review. El product increment representa los entregables realizados al cliente, que reflejan el cumplimiento del primer sprint. Figura 11: Pantalla login Fuente: Elaboración propia Figura 12: Pantalla lista de productos Fuente: Elaboración propia
  • 34. 28 Figura 13: Pantalla gestión de productos Fuente: Elaboración propia b) Sprint retrospective. El desarrollo del primer sprint se concluyó de manera adecuada cumpliendo las tareas, los tiempos establecidos, y la definición de hecho establecido al inicio del sprint. Esta evolución se puede apreciar en el gráfico burndown. Figura 14: Seguimiento del primer sprint Fuente: Elaboración propia
  • 35. 29 5.2.2 SEGUNDO SPRINT 5.2.2.1 PLANIFICACIÓN Y ESTIMACIÓN a) Historias de usuario y criterios de aceptación Nombre: Listar ventas Historia de usuario: HU8 Actor: Vendedor Depende de: HU9 Descripción: Muestra la lista de las ventas realizadas Criterio de Aceptación: − El sistema muestra la lista de todas las ventas realizadas y un formulario de búsquedas por rango de fechas, estado, y clientes. − El actor llena los datos del formulario y pulsa el botón Buscar − El sistema actualiza el listado según los parámetros de búsqueda Elaborado por: Saul Mamani Responsable: Saul Mamani Versión: 1.0 Tabla 29: Caso de uso Listar ventas Fuente: Elaboración propia Nombre: Registrar ventas Historia de usuario: HU9 Actor: Vendedor Depende de: HU6 Descripción: Registro de ventas de uno más productos Criterio de Aceptación: − El sistema muestra la pantalla de ventas con el catálogo de los productos habilitados para vender. − El actor selecciona uno o más productos y los añade al carrito de ventas, además puede modificar las cantidades en el carrito. − El sistema calcula el subtotal y el total del monto a cobrar en bolivianos − El actor llena los datos de la venta, en base a las clases “Sale” y “Detail” del diagrama de clases. − Al llenar el campo Nit el sistema busca la razón social del Nit, si lo encuentra llena el campo; y si no lo encuentra deja en campo vacío. − El actor presiona el botón Finalizar venta. − El sistema inserta la nueva venta en la base de datos y prepara la impresión del recibo. Elaborado por: Saul Mamani Responsable: Saul Mamani Versión: 1.0 Tabla 30: Caso de uso Registrar ventas Fuente: Elaboración propia Nombre: Generar recibo Historia de usuario: HU10 Actor: Vendedor Depende de: HU9
  • 36. 30 Descripción: Generación o impresión de la nota de venta o recibo Criterio de Aceptación: − Después de realizar una venta, el sistema genera y muestra en una pantalla el recibo con todos los datos de la venta correspondiente, y crea un código QR con los datos del cliente, el número y el total vendido. − El actor presiona el botón imprimir − El sistema imprimir el recibo en una impresora pre instalada. Elaborado por: Saul Mamani Responsable: Saul Mamani Versión: 1.0 Tabla 31: Caso de uso Generar recibo Fuente: Elaboración propia b) Sprint planning y estimación HU Descripción Tamaño Puntos historia Tiempo [Días] Inicio Finalización HU8 Listar ventas S 2 1 13/06/2022 13/06/2022 HU9 Registrar ventas L 5 3 14/06/2022 16/06/2022 HU11 Generar recibo S 2 1 17/06/2022 17/06/2022 Puntos de historia / Tiempo estimado 9 5 Tabla 32: Segundo sprint planning Fuente: Elaboración propia Para completar este sprint se estima un esfuerzo de 9 puntos de historia y tiempo de desarrollo de cinco días. c) Sprint backlog e identificación de tareas HU Descripción Tareas HU8 Listar ventas T1. Diseñar el Formulario de búsquedas T2. Desarrollar los listados HU9 Registrar ventas T3. Listar los productos a ser vendidos T4. Registrar en el carrito de ventas T5. Calcular los totales T6. Registrar la venta HU10 Generar recibo T8. Diseñar el recibo integrando un código QR Tabla 33: Segundo sprint backlog Fuente: Elaboración propia
  • 37. 31 5.2.2.2 IMPLEMENTACIÓN a) Create deliverables (Ejecución del Sprint) Para controlar la ejecución del sprint y el avance de las tareas, empleamos un tablero scrum con la herramienta Trello. Figura 15: Tablero Kanban segundo sprint Fuente: Elaboración propia Figura 16: Tablero Kanban segundo sprint Fuente: Elaboración propia b) Control de versiones Para controlar el avance del código fuente del proyecto se emplea el sistema de control de versiones GIT
  • 38. 32 Figura 17: Control de versiones del segundo sprint Fuente: Elaboración propia 5.2.2.3 REVISIÓN Y RETROSPECTIVA a) Sprint review. El product increment representa los entregables realizados al cliente, que reflejan el cumplimiento del segundo sprint. Figura 18: Pantalla de ventas Fuente: Elaboración propia
  • 39. 33 Figura 19: Pantalla recibo con código QR para el pago Fuente: Elaboración propia b) Sprint retrospective. El desarrollo del segundo sprint se concluyó de manera adecuada cumpliendo las tareas, los tiempos establecidos, y la definición de hecho establecido al inicio del sprint. Esta evolución se puede apreciar en el gráfico burndown. Figura 20: Seguimiento del segundo sprint Fuente: Elaboración propia
  • 40. 34 5.2.3 TERCER SPRINT 5.2.3.1 PLANIFICACIÓN Y ESTIMACIÓN a) Historias de usuario y criterios de aceptación Nombre: Anular ventas Historia de usuario: HU11 Prioridad: Baja Depende de: HU8 Descripción: Anulación de ventas erróneas Criterio de Aceptación: − El sistema muestra la lista de ventas realizadas de la fecha actual, con el botón para Anular una venta − El actor pulsa el botón Anular Venta − El sistema cambia el estado de la venta en la base de datos y recarga la lista. o Las ventas anuladas no son contabilizadas tomadas en cuenta para el reporte económico. Elaborado por: Saul Mamani Responsable: Saul Mamani Versión: 1.0 Tabla 34: Caso de uso Anular ventas Fuente: Elaboración propia Nombre: Restablecer ventas Historia de usuario: HU12 Prioridad: Baja Depende de: HU12 Descripción: Restablece ventas anuladas por error Criterio de Aceptación: − El sistema muestra la lista de ventas anuladas de la fecha actual. − El actor pulsa el botón Restablecer Venta − El sistema cambia el estado de la venta en la base de datos y recarga la lista. Elaborado por: Saul Mamani Responsable: Saul Mamani Versión: 1.0 Tabla 35: Caso de uso Restablecer ventas Fuente: Elaboración propia Nombre: Registrar precio con código QR Historia de usuario: HU13 Prioridad: Baja Depende de: HU6 Descripción: Generar código QR con el precio y la información del producto Criterio de Aceptación: − El actor selecciona un producto − El sistema recoge la información y el precio del producto − El actor presiona el botón Solicitar código QR. − El sistema solicita el código QR a la API del banco, el banco responde con el código en formato de 64 bytes.
  • 41. 35 − El sistema almacena el código QR en la base de datos asociado al producto, y refresca el catálogo de productos. Elaborado por: Saul Mamani Responsable: Saul Mamani Versión: 1.0 Tabla 36: Caso de uso Restablecer ventas Fuente: Elaboración propia Nombre: Pagar con QR Historia de usuario: HU14 Prioridad: Baja Depende de: HU13 Descripción: Ofrecer al cliente un código QR para que realice un traspaso bancario como pago del producto. Criterio de Aceptación: − El sistema muestra el producto con un Código QR − El cliente escanea el código QR con la aplicación de su banca móvil, y realiza el traspaso de dinero. − El sistema verifica con la API del banco si el producto ha sido pagado, y entonces registra la venta. Elaborado por: Saul Mamani Responsable: Saul Mamani Versión: 1.0 Tabla 37: Caso de uso Restablecer ventas Fuente: Elaboración propia Nombre: Generar reportes Historia de usuario: HU15, HU15 Prioridad: Baja Depende de: Descripción: Generar informes y reportes estadísticos Criterio de Aceptación: Reporte económico − En la lista de ventas (HU8) el sistema muestra un botón para imprimir el reporte, y el actor lo pulsa ese botón − El sistema genera el reporte económico en formato PDF Reporte estadístico − El actor pulsa el botón Reportes del menú principal − El sistema genera dos reportes estadísticos: o Gráfica del total de las ventas realizadas agrupadas por mes o Lista de clientes potenciales (clientes con más compras realizadas) Elaborado por: Saul Mamani Responsable: Saul Mamani Versión: 1.0 Tabla 38: Caso de uso Generar reportes Fuente: Elaboración propia
  • 42. 36 b) Sprint planning y estimación HU Descripción Tam año Puntos historia Tiempo [Días] Inicio Finalización HU11 Anular ventas XS 1 ½ 20/06/2022 20/06/2022 HU12 Restablecer ventas XS 1 ½ 20/06/2022 20/06/2022 HU13 Registrar precio con código QR S 2 1 21/06/2022 21/06/2022 HU14 Pagar con QR S 2 1 22/06/2022 22/06/2022 HU15 Generar informe económico S 3 1 23/06/2022 23/06/2022 HU16 Generar reportes estadísticos S 3 1 24/06/2022 24/06/2022 Puntos historia/Tiempo estimado (Time Boxing) 12 5 Tabla 39: Tercer sprint planning Fuente: Elaboración propia Para completar este sprint se estima un esfuerzo de 12 puntos de historia y tiempo de desarrollo de cinco días. c) Sprint backlog e identificación de tareas HU Descripción Tareas HU11 Anular ventas T1. Desarrollar anular ventas HU12 Restablecer ventas T2. Desarrollar restablecer ventas HU13 Registrar precio con código QR T1. Realizar la comunicación con el banco T2. Generar el código QR con la información del producto HU14 Pagar con QR T1. Asociar el código QR en el catálogo de productos HU15 Generar informe económico T3. Diseñar el reporte económico en PDF HU16 Generar reportes estadísticos T4. Diseñar el reporte de los clientes potenciales T5. Diseñar el reporte de ingresos económicos por año Tabla 40: Tercer sprint backlog Fuente: Elaboración propia
  • 43. 37 5.2.3.2 IMPLEMENTACIÓN a) Create deliverables (Ejecución del Sprint) Para controlar la ejecución del sprint y el avance de las tareas, empleamos un tablero scrum con la herramienta Trello. Figura 21: Tablero Kanban tercer sprint Fuente: Elaboración propia Figura 22: Tablero Kanban tecer sprint Fuente: Elaboración propia b) Control de versiones Para controlar el avance del código fuente del proyecto se emplea el sistema de control de versiones GIT
  • 44. 38 Figura 23: Control de versiones del tercer sprint Fuente: Elaboración propia 5.2.3.3 REVISIÓN Y RETROSPECTIVA a) Sprint review. El product increment representa los entregables realizados al cliente, que reflejan el cumplimiento del tercer sprint. Figura 24: Ventana de ventas realizadas Fuente: Elaboración propia Figura 25: Pantalla de gestión de clientes Fuente: Elaboración propia
  • 45. 39 Figura 26: Reporte de ventas realizadas Fuente: Elaboración propia b) Sprint retrospective. El desarrollo del tercer sprint se concluyó de manera adecuada cumpliendo las tareas, los tiempos establecidos, y la definición de hecho establecido al inicio del sprint. Esta evolución se puede apreciar en el gráfico burndown. Figura 27: Seguimiento del tercer sprint Fuente: Elaboración propia
  • 46. 40 CAPITULO V CONCLUSIONES Y RECOMENDACIONES Después de haber culminado las diferentes etapas del desarrollo de la monografía, se puede llegar a las siguientes conclusiones y realizar las siguientes recomendaciones: 5.1 CONCLUSIONES Durante el transcurso del proyecto se han identificado y aplicado los métodos y herramientas ágiles adecuadas, que han permitido desarrollar un sistema para la venta de productos de manera eficiente cumpliendo con el análisis y la planificación pre establecida. Se han cumplido también los objetivos específicos planteadas al principio del proyecto. − Con la ayuda de la técnica ágil del impact mapping (mapa de impacto) se logró comprender la visión del producto que fue desarrollado como ejemplo para la monografía. − Con el empleo del marco de trabajo Scrum como metodología de desarrollo, se pudo desarrollar el sistema dentro el tiempo planificado. Siguiendo los plazos estimados dentro las iteraciones y las entregas establecidas en el despliegue − El ámbito del sistema fue determinado con las historias de usuario y los criterios de aceptación escrita por el product owner. − Para controlar el avance de las tareas identificadas en el sprint backlog de cada iteración, se ha utilizado un tablero virtual Kanban, apoyándonos en la herramienta online Trello. − Se tiene un historial completo de todos los cambios realizados al código del sistema con la herramienta de control de versiones Git. 6.2 RECOMENDACIONES − Se recomienda la integración de una pasarela de pagos para realizar la venta de productos directamente por internet. − Se recomienda integrar mecanismos de seguridad a la hora de lanzar a producción el sistema, ya que maneja información sensible y muy importante para las empresas que van a utilizar el sistema.
  • 47. 41 BIBLIOGRAFÍA DENSO WAVE INCORPORATED . (2020 de 01 de 01). qrcodemonckey. Obtenido de qrcodemonckey: https://www.qrcode-monkey.com/es/ Group, O. M. (13 de 09 de 2019). omg. Obtenido de omg: https://www.omg.org/spec/UML/About- UML/ Hiromoto, H. (31 de 12 de 2017). scrumorganico. Obtenido de scrumorganico: https://medium.com/scrumorganico Manifesto, A. (13 de 09 de 2019). agilemanifesto. Obtenido de agilemanifesto: https://agilemanifesto.org/iso/es/manifesto.html Mercurial, A. (5 de 9 de 2019). Agile Mercurial. Obtenido de Agile Mercurial: https://agile- mercurial.com/excel-templates/burndown-chart/ Pomares, F. B. (02 de 03 de 2021). Adictos al trabajo. Obtenido de Adictos al trabajo: https://www.adictosaltrabajo.com/2021/03/02/impact-mapping-creando-productos-y- proyectos-de-gran-impacto/ Rubin, K. S. (2013). Essential Scrum. Boston: Addison Wesley. Saiz, J. (2018 de 09 de 13). js. Obtenido de js: http://jorgesaiz.com Satpathy, T. (2013). Guia para el conocimiento de Scrum. Arizona: ScrumStudy. Soli. (02 de 04 de 2022). El blog de Soli. Obtenido de El blog de Soli: https://www.solipagosbcp.com.bo/blog/negocios-digitales/los-codigos-qr-una-alternativa- de-pago-que-facilitan-tu-vida.html Sommerville, I. (2005). Ingenieria de Software. Madrid: PEARSON Addison Wesley.
  • 48. 42 ANEXOS Modelo Relacional de la Base de Datos: Figura 28: Modelo Relacional Fuente: Elaboración propia