CIclo 4 - Proyecto v3

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

CICLO 4 DESARROLLO DE APLICACIONES WEB

PROYECTO DE DESARROLLO DE APLICACIÓN WEB PARA


GESTIONAR LA CADENA DE ALMACENES
“LA GENÉRICA”

Ing. Ricardo D. Camargo L Página 1


TABLA DE CONTENIDO
Introducción 5
Descripción del caso 5
Parte 1: Diagrama de Arquitectura y Microservicios 5
Parte 2: Especificación Funcional 7
Parte 2: Organización del Equipo Scrum 9
Parte 3: Organización de los Sprints 9
Sprint 1 9
Historias de Usuario 11
Interfaz Gráfica 12
Conjunto de Pruebas 13
Sprint 2 13
Historias de Usuario 14
Interfaz Gráfica 15
Conjunto de Pruebas 15
Sprint 3 16
Historias de Usuario 17
Interfaz Gráfica 18
Conjunto de Pruebas 18
Sprint 4 20
Historias de Usuario 20
Interfaz Gráfica 21
Conjunto de Pruebas 22
Sprint 5 23
Historias de Usuario 23
Interfaz Gráfica 23
Conjunto de Pruebas 24
Parte 4: Especificaciones Técnicas 24
Lenguajes de programación y stack tecnológico de desarrollo 24

Ing. Ricardo D. Camargo L Página 2


Especificación de diseño de la base de datos no relacional. 25
Especificación de la API para conexión del Frontend con el Backend de la aplicación 26
Diagrama de Despliegue de Contenedores Docker. 34

Ing. Ricardo D. Camargo L Página 3


Historial de Versiones
Fecha Versión Autor Organización Descripción
Ing. Descripción inicial de proyecto de aplicación Web
21/08/2021 1 Ricardo D. UEB para gestionar la cadena de almacenes
Camargo “La Genérica”.
Ing. Definición del diagrama de arquitectura de
29/08/2021 2 Ricardo D. UEB microservicios para ciudades satélite y para
Camargo Bogotá. Inicio de descripción funcional.
Ing. Definición de los requerimientos funcionales
05/09/2021 3 Ricardo D. UEB por módulo, según los servicios definidos en la
Camargo arquitectura general.
Ing. Modificación de módulos, descripción de los cinco
09/10/2021 4 Ricardo D. UEB sprints completos, se agrega diagrama de
Camargo despliegue de contenedores Docker.

Ing. Ricardo D. Camargo L Página 4


Introducción
El propósito de este documento es dar las especificaciones para el diseño y desarrollo de la
aplicación web, escrita en lenguaje Java para Web, mediante el modelo de arquitectura Single
Page Application (SPA), para gestionar las transacciones comerciales de la cadena de almacenes
de grandes superficies llamada “La Genérica”.

Descripción del caso


Cuando los negocios crecen, diversifican sus productos y servicios, y se expanden
geográficamente, es necesario realizar consideraciones y replanteamientos de diseño para su
crecimiento a nivel de los sistemas de información con los que cuentan para efectos de que,
igualmente, crezcan con ellos y brinden respuestas a las nuevas realidades para mantener la
competitividad.

En virtud de lo anterior, retomaremos el proyecto realizado en el ciclo 3, el cual, como sabemos


era el desarrollo de software para una tienda que provee productos y servicios, que denominamos
“tienda genérica”. Ahora, la tienda se convierte en la cadena de almacenes llamada “La Genérica”,
la cual surgió como resultado del gran éxito que tuvo el negocio, por lo que la gerencia determinó
ampliar su portafolio de productos y servicios, y expandir su operación inicial, la cual estaba en
Bogotá, abriendo sucursales en Cali y Medellín.

EL EQUIPO de beneficiarios del Ciclo 4A, ha sido contratado por la cadena de almacenes para la
realización el desarrollo de la aplicación mediante la implementación de los conceptos vistos en
este Ciclo, y de acuerdo con las especificaciones de arquitectura, y cumpliendo con los
requerimientos que en este documento se estipulan.

Parte 1: Diagrama de Arquitectura y Microservicios


La división de Tecnología de la cadena de almacenes “La Genérica”, realizó el diseño de
arquitectura de la aplicación, basado en las ciudades y la especificación de servicios que van a
manejar en cada ciudad, donde se aprecia Bogotá, Cali, y Medellín, cada uno con una interfaz
Web (frontend), y la definición de microservicios de registro de ventas, registro de compras,
registro de productos, y el microservicio de consolidación hacia Bogotá. En cada microservicio, se
detalla la base de datos MongoDB que estará formando parte, y estará haciendo las operaciones
de CRUD.

Ing. Ricardo D. Camargo L Página 5


Ing. Ricardo D. Camargo L Página 6
Parte 2: Especificación Funcional
Se identifica a continuación los requerimientos para la realización del software, consistente en los
siguientes módulos y requerimientos por módulo:

1. Módulo de Gestión de Productos.

EL EQUIPO deberá desarrollar el módulo de gestión de los productos que se venden en la tienda,
para lo cual se deberá cargar estos productos de un archivo plano (de texto), con la siguiente
estructura de datos:

NOMBRE DEL DATO TIPO DE DATO LONGITUD


código_producto BIGINT 20
nombre_producto VARCHAR 50
nitproveedor BIGINT 20
precio_compra DOUBLE
ivacompra DOUBLE
precio_venta DOUBLE

El sistema debe validar que el archivo sea un archivo separado por comas (CSV), para que sea
cargado correctamente. Se anexa con el presente documento un archivo de muestra de cómo
debe conformarse, y una tabla de cómo de ser el formato de cada dato
1 Melocotone 1 25505 19 30351
2 Manzanas 3 18108 19 21549
3 Plátanos 4 29681 19 35320
4 Lechuga 3 29788 19 35448
5 Tomates 1 12739 19 15159
6 Calabaza 1 21315 19 25365
7 Apio 2 19249 19 22906
8 Pepino 2 10958 19 13040
9 Champiñone 2 11046 19 13145
10 Leche 5 21150 19 25169
11 Queso 5 26571 19 31619
12 Huevos 2 12445 19 14810
13 Requesón 1 14329 19 17052
14 Crema agria 1 14856 19 17679
15 Yogur 5 14941 19 17780
16 5 29335 19 34909
Ternera

1 Melocotones 1 25505 19 30351


2 Manzanas 3 18108 19 21549
3 Plátanos 4 29681 19 35320
4 Lechuga 3 29788 19 35448
5 Tomates 1 12739 19 15159
6 Calabaza 1 21315 19 25365
7 Apio 2 19249 19 22906
8 Pepino 2 10958 19 13040
9 Champiñones 2 11046 19 13145
10 Leche 5 21150 19 25169
11 Queso 5 26571 19 31619
12 Huevos 2 12445 19 14810
13 Requesón 1 14329 19 17052
14 Crema agria 1 14856 19 17679
15 Yogur 5 14941 19 17780

Ing. Ricardo D. Camargo L Página 7


16 Ternera 5 29335 19 34909
17 Salmón salvaje 5 11878 19 14135
18 Patas de cangrejo 1 29951 19 35642

Una vez hecha esta validación, el archivo será cargado desde la página Web, y se almacenará en
el folder llamada db_productos, la cual tendrá, por supuesto, los mismos tipos de datos del archivo.
El sistema deberá validar que el NIT del proveedor que se indica en el archivo, corresponda a un
NIT que exista en la base de datos

2. Módulo de Gestión de Ventas.

EL EQUIPO deberá desarrollar el módulo de gestión de las ventas que se realicen en la tienda.
El sistema, buscará los datos del cliente por cédula. Posteriormente, el sistema permitirá escribir
el código del producto, y se visualizará el nombre de este en pantalla. Se digitará la cantidad a
vender, y generará el valor total de venta por producto. El sistema permitirá que se realice la
misma operación con otros productos hasta que se le dé la opción de totalizar. En ese momento,
el sistema calculará el valor del total de IVA para tres (3) productos, según el valor de IVA definido
para cada producto, y luego dará el valor total con IVA.

El sistema deberá registrar la venta con los siguientes datos: código de venta – este es un valor
consecutivo, cedula del cliente, valor total de venta, valor de IVA, valor total más IVA, código de
producto, cantidad, valor unitario (valor de venta), y valor total por producto en una colección
llamada db_ventas. Finalmente, el sistema deberá mostrar un mensaje de confirmación de la
transacción.

3. Módulo de Registro de Compras.

EL EQUIPO deberá desarrollar el módulo de gestión de los clientes de la tienda, para lo cual se
deberán tener las opciones de crear cliente, leer clientes, actualizar datos de cliente, y borrar
cliente. Estos datos se almacenarán en la colección llamada db_clientes, y los datos a gestionar
son: cedula, nombre completo, dirección, teléfono, y correo electrónico.

4. Módulo DE Interfaz Web

EL EQUIPO deberá desarrollar el módulo que permita la interacción del sistema con el usuario,
para lo cual, se deberá construir el ingreso al sistema, una vez se haya realizado la validación por
nombre de usuario y contraseña. Deberá tenerse un usuario por defecto con el nombre de
admininicial, y contraseña admin123456 para su ingreso.

Finalmente, en este módulo se hará la integración de los módulos de productos, compras, y


ventas, así como el de la consolidación de tiendas satélite (para el caso de Bogotá), para que el
usuario pueda realizar todos los procesos de interacción mediante opciones de menú.

Ing. Ricardo D. Camargo L Página 8


5. Módulo de Consolidación.

EL EQUIPO deberá desarrollar el módulo de consolidación de las compras y ventas de las tiendas
satélite, y que sean registradas en la ciudad de Bogotá. El sistema deberá realizar las consultas
de compras y ventas del día de las ciudades satélites, las cuales se registrarán en la colección
llamada db_consolidado, con los siguientes datos: ciudad satélite y valor total ventas.

Parte 2: Organización del Equipo Scrum


EL EQUIPO se conformará por cinco (5) beneficiarios que asistan al Ciclo 3, el cual realizará el
desarrollo del software objeto de este documento, mediante la aplicación del marco de trabajo
Scrum, para lo cual, los miembros de este tendrán los siguientes roles y responsabilidades:

Nº ROL RESPONSABILIDAD
1 Maneja la definición funcional del producto de software
completo a desarrollar, y será el punto de contacto con el
Product Owner
cliente para validar la aceptación de cada incremento de
producto con el cliente.
2 Maneja, difunde y controla la ejecución correcta del marco de
Scrum Master trabajo Scrum en todos los miembros del EQUIPO.
3 Development Team: Realiza el diseño de arquitectura del software y de la base de
Arquitecto datos.
4 Development Team: Realiza la codificación del software.
Deasarrollador
5 Development Team: Realiza las pruebas al software establecidas en este
Control de Calidad (QA) documento.

Cabe mencionar que, por la naturaleza del proyecto y el número de participantes del equipo, todos
ellos (as) tienen el rol de desarrolladores por defecto, de lo cual, en el momento que se estime
necesario el EQUIPO podrá sumar más desarrolladores, conforme a los requerimientos y la
ejecución del sprint. El Scrum Master tendrá la responsabilidad de realizar el seguimiento y control
del proyecto, para lo cual, convocará las reuniones diarias de seguimiento (daily standup meeting)
, en coordinación con el formador, y se utilizará la herramienta Trello, para realizar el seguimiento
del desarrollo de los sprints.

Parte 3: Organización de los Sprints


Sprint 1

Microservicio de Productos.

EL EQUIPO deberá desarrollar el microservicio de gestión de los productos que se venden en la


tienda, para lo cual se deberá cargar estos productos de un archivo plano (de texto), con la
siguiente estructura de datos:

Ing. Ricardo D. Camargo L Página 9


NOMBRE DEL DATO TIPO DE DATO LONGITUD
código_producto BIGINT 20
nombre_producto VARCHAR 50
nitproveedor BIGINT 20
precio_compra DOUBLE
ivacompra DOUBLE
precio_venta DOUBLE

El sistema debe validar que el archivo sea un archivo separado por comas (CSV), para que sea
cargado correctamente. Se anexa con el presente documento un archivo de muestra de cómo
debe conformarse, y una tabla de cómo de ser el formato de cada dato.
1 Melocotone 1 25505 19 30351
2 Manzanas 3 18108 19 21549
3 Plátanos 4 29681 19 35320
4 Lechuga 3 29788 19 35448
5 Tomates 1 12739 19 15159
6 Calabaza 1 21315 19 25365
7 Apio 2 19249 19 22906
8 Pepino 2 10958 19 13040
9 Champiñone 2 11046 19 13145
10 Leche 5 21150 19 25169
11 Queso 5 26571 19 31619
12 Huevos 2 12445 19 14810
13 Requesón 1 14329 19 17052
14 Crema agria 1 14856 19 17679
15 Yogur 5 14941 19 17780
16 5 29335 19 34909
Ternera

1 Melocotones 1 25505 19 30351


2 Manzanas 3 18108 19 21549
3 Plátanos 4 29681 19 35320
4 Lechuga 3 29788 19 35448
5 Tomates 1 12739 19 15159
6 Calabaza 1 21315 19 25365
7 Apio 2 19249 19 22906
8 Pepino 2 10958 19 13040
9 Champiñones 2 11046 19 13145
10 Leche 5 21150 19 25169
11 Queso 5 26571 19 31619
12 Huevos 2 12445 19 14810
13 Requesón 1 14329 19 17052
14 Crema agria 1 14856 19 17679
15 Yogur 5 14941 19 17780
16 Ternera 5 29335 19 34909
17 Salmón salvaje 5 11878 19 14135
18 Patas de cangrejo 1 29951 19 35642

Una vez hecha esta validación, el archivo será cargado desde la interfaz Web, y se almacenará
en la colección llamada db_productos, la cual tendrá, por supuesto, los mismos tipos de datos del
archivo. El sistema deberá validar que el NIT del proveedor que se indica en el archivo,
corresponda a un NIT que exista en la base de datos.

Ing. Ricardo D. Camargo L Página 10


Microservicio Interfaz Web (Primer Incremento de producto)

Se deberá construir el microservicio de interfaz web para realizar el login del sistema y generar
la interacción con el usuario del microservicio de productos.

Para realizar la interfaz de ingreso al sistema, se hará la validación por nombre de usuario y
contraseña, de lo cual el nombre de usuario correcto será admininicial, y la contraseña
admin123456 para su ingreso. La especificación de interfaz gráfica se encuentra detallada
más adelante en este sprint.

Historias de Usuario

Identificador
(ID) de la Rol Característica / Funcionalidad Razón / Resultado
historia
Como Necesito ingresar al sistema con el Con la finalidad de validar el
administrador usuario inicial admininicial y la funcionamiento del login del
HU-001 contraseña admin123456. sistema, la interfaz gráfica y que
el usuario inicial opere
correctamente.
Como Necesito subir al sistema un Con la finalidad de cargar a la
administrador archivo texto separado por comas tabla de productos del sistema,
HU-002
(csv) con los datos de productos, reemplazando los productos que
según formato definido (1). hubiere previamente, y
poderlos
utilizar para realizar ventas.
(1) Indicado previamente en la descripción funcional

Ing. Ricardo D. Camargo L Página 11


Interfaz Gráfica

Para la realización de la interfaz gráfica en términos de visualización, si bien en las siguientes


gráficas se determina el texto “Cali/Medellín/Bogotá”, al momento de realizar el microservicio,
deberá configurarse para que solamente aparezca una sola ciudad.

Ing. Ricardo D. Camargo L Página 12


Conjunto de Pruebas

ID Prueba Caso de Prueba Descripción Acción de Entrada Resultado Esperado


El usuario debe Escribir el nombre de Si es el usuario
poder registrarse usuario inicial admininicial, o un
correctamente, si los admininicial y/o usuario ya creado, el
sistema dará ingreso
campos de usuario y usuario creado, y la al menú general.
Ingreso correcto
SP1-QA-1 contraseña son contraseña
correctos. correspondiente.

El usuario debe recibir Escribir el usuario y/o Debe generar un


Ingreso incorrecto
un mensaje de error si, contraseña con errores mensaje de error con el
SP1-QA-2 por error en el
al consultar en la base de tipeo, o no escribir error de “usuario o
usuario y/o
de datos no se recupera alguno de los datos contraseña errados,
contraseña.
la información, o si los solicitados. intente de nuevo”.
datos de admininicial
son errados.
Carga exitosa del El usuario realiza una El usuario seleccionaráun Debe generar un
archivo carga de archivo correcta. archivo al presionarel mensaje de información
SP1-QA-3 botón “Examinar”, el “Archivo Cargado
archivo corresponde al
formato CSV, y tiene la Exitosamente”. Luego,
estructura de datos debe borrar los
correcta. anteriores datos que
tenga la tabla Productos,
e insertar los datos
leídos, previa validación.
Carga Fallida del El usuario intenta El usuario oprime el Debe generar un
archivo por falta de realizar una carga sin botón ”Cargar” sin haber mensaje de error “Error:
SP1-QA-4
nombre de archivo archivo. seleccionado no se seleccionó
previamente un archivo. archivopara cargar”.
Carga Fallida del El usuario carga un El usuario intenta cargar Debe generar un
archivo por errores archivo inválido para ser un archivo que tiene mensaje de error “Error:
SP1-QA-5
de formato de reconocido por el errores en el formato de formato de archivo
archivo sistema. creación de este. inválido”.
Carga Fallida del El usuario carga un El usuario intenta cargar Debe generar un
archivo por errores archivo con datos un archivo con errores mensaje de error “Error:
SP1-QA-6 datos leídos inválidos”.
en la validación de inválidos. en los tipos de datos.
los datos cargados

Sprint 2

Microservicio clientes

EL EQUIPO deberá desarrollar el microservicio de gestión de los clientes de la tienda, para lo cual
se deberán tener las opciones de crear cliente, leer clientes, actualizar datos de cliente, y borrar
cliente. Estos datos se almacenarán en la colección llamada db_clientes, y los datos a gestionar
son: cedula, nombre completo, dirección, teléfono, y correo electrónico.

Microservicio interfaz web (Segundo Incremento de producto)

Se deberá realizar el segundo incremento de producto para el microservicio de interfaz web

Ing. Ricardo D. Camargo L Página 13


agregando la interacción con el usuario del microservicio de productos.

Historias de Usuario

Identificador
(ID) de la Rol Característica / Funcionalidad Razón / Resultado
historia
HU-003 Como Necesito crear nuevos clientes Con la finalidad de registrar a los
administrador clientes que realicen compras en
la tienda
Como Necesito consultar los datos del Con la finalidad de poder
HU-004 administrador cliente, por medio de la cédula recuperar los datos de un cliente
creado.
Como Necesito actualizar los datos de Con la finalidad de poder
administrador los clientes que estén en el actualizar los datos de nombre
HU-005 sistema completo, dirección, teléfono, y
correo electrónico, previa consulta
por cédula.
Como Necesito borrar los datos de Con la finalidad de borrar los
administrador clientes que estén en el sistema datos de los clientes que ya no
HU-006 deben tener ingreso al sistema,
previa consulta por cédula.
Como Necesito crear nuevos Con la finalidad de cargar los
HU-007 administrador proveedores que entrarán al proveedores de la tienda.
sistema
Como Necesito consultar los datos del Con la finalidad de poder
administrador recuperar los datos de unusuario
HU-008 proveedor, por medio de del NIT
creado.
Como Necesito actualizar los datos de Con la finalidad de poder
administrador los proveedores que estén en el actualizar los datos de nombrede
HU-009 sistema proveedor, Dirección, teléfono y
ciudad, previa
consulta por NIT.
Como Necesito borrar los datos de un Con la finalidad de borrar los
administrador proveedor que estén en elsistema datos de los proveedores que ya
HU-010 no deben tener ingreso al
sistema, previa consulta por NIT.

Ing. Ricardo D. Camargo L Página 14


Interfaz Gráfica

Para la realización de la interfaz gráfica en términos de visualización, si bien en las siguientes


gráficas se determina el texto “Cali/Medellín/Bogotá”, al momento de realizar el microservicio,
deberá configurarse para que solamente aparezca una sola ciudad.

Conjunto de Pruebas

ID Prueba Caso de Prueba Descripción Acción de Entrada Resultado Esperado


El usuario debe poder Escribir los datos de Debe genera un mensaje
crear un nuevo cliente cédula, nombre de información “Cliente
en el sistema, si todos completo, dirección, Creado”. Luego, debe
Creación de un
los datos del nuevo teléfono, y correo insertar los datos en la
SP2-QA-1 nuevo cliente
cliente están completos. electrónico del nuevo base de datos y, limpiar
correcto
cliente, posteriormente, todos los datos ya
se deberá presionar el creados.
botón “Crear”.
Creación de un El usuario debe recibir Escribir los datos del Debe genera un mensaje
nuevo cliente con un mensaje de error, si nuevo cliente con algún de error “Faltan datos del
errores, por falta de no se diligencian todos faltante. cliente”, posteriormente,
SP2-QA-2
completitud de los datos del nuevo debe limpiar todos los
algunos de los cliente. datos ya creados.
campos.
El usuario escribe la Escribir la cédula del El sistema retorna todos
cédula del cliente en el cliente a consultar. los demás datos de
Consulta de cliente campo “Cédula”, y éste cédula, nombre
SP2-QA-3
existente. se encuentra en la base completo, dirección,
de datos. teléfono, y correo
electrónico del cliente.

Ing. Ricardo D. Camargo L Página 15


El usuario debe recibir Escribir la cédula del Debe genera un mensaje
un mensaje de error. cliente a consultar. de error “Cliente
Consulta de cliente
Inexistente”,
SP2-QA-4 inexistente o con
posteriormente, debe
errores.
limpiar todos los datos
ya creados.
SP2-QA-5 Actualización El usuario, actualizará Escribir la cédula del Debe genera un mensaje
Correcta de datos los datos de nombre usuario a consultar para de información “Datos
de cliente completo, dirección, ser actualizado. del Cliente
teléfono, y correo Actualizados”. Luego,
electrónico del cliente. debe actualizar los
mismos los datos en la
base de datos y, limpiar
todos los datos ya
creados en el
formulario.
El usuario, recibirá un Escribir la cédula del Debe genera un mensaje
mensaje de error de cliente a consultar, y de error “Datos
Actualización de datos al poner en blanco borrar u omitir algún tipo faltantes”,
datos de cliente con y/u omitir datos de de dato de los posteriormente, debe
SP2-QA-6
errores por datos en cédula, nombre recuperados del cliente. limpiar todos los datos
blanco completo, dirección, ya creados.
teléfono, y correo
electrónico del cliente.
El usuario, podrá borrar Escribir la cédula del Debe consultar la base
los datos de nombre cliente a consultar para de datos por la
completo, dirección, ser borrado. existencia del cliente con
teléfono, y correo la cédula indicada. Debe
electrónico del cliente. genera un mensaje de
Borrado correcto de información “Datos del
SP2-QA-7
datos de cliente Cliente Borrados”.
Luego, debe borrar los
mismos los datos en la
base de datos y, limpiar
todos los datos ya
creados en el formulario.
El usuario, recibirá un Escribir la cédula del Debe consultar la base
mensaje de error de cliente a consultar, y de datos por la
datos al poner en blanco alterar la cédula y/o existencia del cliente con
y/u omitir datos de borrarla. la cédula indicada, y
Borrado de datos de
cédula, nombre debe generar un
SP2-QA-8 cliente con errores
completo, dirección, mensaje de error
por datos en blanco
teléfono, y correo “Cédula Errada”,
electrónico del cliente. posteriormente, debe
limpiar todos los datos
ya creados.

Sprint 3

MICROSERVICIO VENTAS.

EL EQUIPO deberá desarrollar el microservicio para la gestión de las ventas que se realicen en
la tienda. El sistema, buscará los datos del cliente por cédula. Posteriormente, el sistema permitirá
escribir el código del producto, y se visualizará el nombre de este en pantalla. Se digitará la
cantidad a vender, y generará el valor total de venta por producto. El sistema permitirá que se
realice la misma operación con otros productos hasta que se le dé la opción de totalizar. En ese
momento, el sistema calculará el valor del total de IVA para tres (3) productos, según el valor de
IVA definido para cada producto, y luego dará el valor total con IVA.

Ing. Ricardo D. Camargo L Página 16


El sistema deberá registrar la venta con los siguientes datos: código de venta – este es un valor
consecutivo, cedula del cliente, cedula del usuario, valor total de venta, valor de IVA, y valor total
más IVA, de igual forma, se deberá registrar el detalle de los productos vendidos de esta venta
(desde 1 hasta 3 productos) con los siguientes datos: código de producto, cantidad, valor unitario
(valor de venta), y valor total, junto con el código de la venta. Todos los anteriores datos se
guardarán en la colección llamada db_ventas. Finalmente, el sistema deberá mostrar un mensaje
de confirmación de la transacción.

MICROSERVICIO INTERFAZ WEB (Tercer Incremento de producto)

Se deberá realizar el tercer incremento de producto para el microservicio de interfaz web


agregando la interacción con el usuario del microservicio de ventas.

Historias de Usuario

Identificador
(ID) de la Rol Característica / Funcionalidad Razón / Resultado
historia
Como Necesito registrar las ventas de la Con la finalidad de ingresar los
HU-011 usuario tienda para un cliente. datos de una nueva venta de la
tienda.
Como Necesito obtener los datos del Con la finalidad de cargarlos al
usuario cliente mediante consulta por formulario de ventas, almomento
HU-012 cédula. que se desee registrar una venta
para este cliente.
Como Necesito obtener los datos de los Con la finalidad de cargarlos al
usuario productos mediante consulta por formulario de ventas, almomento
HU-013
código de producto. que se desee registrar
una venta para este cliente.
Como Necesito calcular el valor de venta Con la finalidad de acumular el
usuario por cada producto vendido, total de venta para los valores
HU-014 mediante la cantidad vendida, totales de los productos.
hasta un total de tres (3)productos.

Como Necesito generar el valor de la Con la finalidad de presentar al


HU-015 usuario venta total para el cliente, cliente los valores totales de
incluyendo IVA y total con IVA. venta e IVA al cliente.
Como Necesito confirmar el valor de Con la finalidad registrar en la
HU-016 usuario venta, dada la aceptación del base de datos de ventas de la
cliente. tienda.

Ing. Ricardo D. Camargo L Página 17


Interfaz Gráfica

Para la realización de la interfaz gráfica en términos de visualización, si bien en las siguientes


gráficas se determina el texto “Cali/Medellín/Bogotá”, al momento de realizar el microservicio,
deberá configurarse para que solamente aparezca una sola ciudad.

Conjunto de Pruebas

ID Prueba Caso de Prueba Descripción Acción de Entrada Resultado Esperado


El usuario realiza una El usuario digita la Debe recuperar el
consulta de cédula del cédula del cliente y nombre del cliente de la
Consulta exitosa de
SP3-QA-1 cliente que recupera el oprime el botón base de datos de forma
la cédula del cliente
nombre de este de “Consultar”. correcta, desplegándolo
forma correcta. en el espacio respectivo.
El usuario realiza una El usuario digita una Debe generar un
consulta de cédula del cédula de cliente y mensaje por pantalla que
Consulta fallida de
SP3-QA-2 cliente que no se oprime el botón indique que la cédula no
la cédula del cliente
encuentra en la base de “Consultar”. se encuentra registrada
datos. en la base de datos.
El usuario realiza una El usuario digita el Debe recuperar el
consulta del código de código del producto nombre del producto de
Consulta exitosa de producto y se recupera para la venta y oprime el la base de datos de
SP3-QA-3
producto de forma correcta. botón “Consultar”. forma correcta,
desplegándolo en el
espacio respectivo.
El usuario realiza una El usuario digita un Debe generar un
consulta de código de código de producto y mensaje por pantalla que
Consulta fallida de producto que no se oprime el botón indique que el código de
SP3-QA-4
producto encuentra en la base de “Consultar”. producto no se
datos. encuentra registrada en
la base de datos.

Ing. Ricardo D. Camargo L Página 18


El sistema realiza una El usuario digita una Debe generar un
validación exitosa de la cantidad de producto mensaje por pantalla que
Validación del
cantidad de productos, inferior a cero, o valor indique que el valor de
SP3-QA-5 campo cantidad de
donde el dato sea nulo, cuando el usuario cantidad es incorrecto.
productos
inferior a cero, o nulo presiona el botón
“Confirmar”
SP3-QA-6 Validación del El sistema realiza una El sistema calcula de Debe muestra el valor
campo valor total validación exitosa del forma correcta el valor correcto en el campo
por producto valor total por cada total de cada producto correspondiente de valor
producto de los tres (cantidad x precio de total por producto.
permitidos. venta), cuando el
usuario presiona el
botón “Confirmar”
El sistema realiza una El sistema calcula de Debe muestra el valor
validación exitosa del forma correcta el valor correcto en el campo
Validación del total de la venta de total todos los correspondiente de valor
SP3-QA-7
campo Total Venta todos los tres (3) productos, cuando el total por producto.
productos usuario presiona el
botón “Confirmar”
El sistema realiza una El sistema calcula de Debe muestra el valor
validación exitosa del forma correcta el valor correcto en el campo
Validación del total del IVA de todos del IVA de los tres (3) correspondiente de valor
SP3-QA-8
campo Total IVA los tres (3) productos productos, cuando el total del IVA.
usuario presiona el
botón “Confirmar”
El sistema realiza una El sistema calcula de Debe muestra el valor
validación exitosa del forma correcta el valor correcto en el campo
total de la venta, total de la venta, correspondiente de valor
Validación del
incluyendo el valor del incluyendo el IVA de los total de la venta
SP3-QA-9 campo Total con
IVA de todos los tres (3) tres (3) productos, incluyendo el IVA.
IVA
productos cuando el usuario
presiona el botón
“Confirmar”
Al momento de El usuario presiona el Se debe imprimir un
El consecutivo de la
confirmar la venta, se botón “Confirmar” número consecutivo en
SP3-QA-10 venta se genera
genera un número el campo destinado para
exitosamente
consecutivo de esta. tal fin.

Ing. Ricardo D. Camargo L Página 19


Sprint 4

MICROSERVICIO REPORTES
EL EQUIPO desarrollará el microservicio de reportes del sistema para cada una de las sedes de
la cadena de tiendas, el cual deberá poder generar los siguientes como mínimo por cada sede: a)
listado de clientes, y, c) total de ventas por cliente. Las consultas deberán ser por pantalla.

MICROSERVICIO INTERFAZ WEB (Cuarto Incremento de producto)

Se deberá realizar el cuarto incremento de producto para el microservicio de interfaz web


agregando la interacción con el usuario del microservicio de reportes.

Historias de Usuario

Identificador
(ID) de la Rol Característica / Funcionalidad Razón / Resultado
historia
Como Necesito consultar el listado de Con la finalidad de verificar
HU-017 usuario clientes de la sede cuales clientes han comprado en
la tienda.
HU-018 Como Necesito consultar el total de Con la finalidad de contabilizar
usuario ventas por cliente de la sede las ventas por cliente.

Ing. Ricardo D. Camargo L Página 20


Interfaz Gráfica

Para la realización de la interfaz gráfica en términos de visualización, si bien en las siguientes


gráficas se determina el texto “Cali/Medellín/Bogotá”, al momento de realizar el microservicio,
deberá configurarse para que solamente aparezca una sola ciudad.

Ing. Ricardo D. Camargo L Página 21


Conjunto de Pruebas

ID Prueba Caso de Prueba Descripción Acción de Entrada Resultado Esperado


Debe llevar a una
Generación de El usuario, al presionar El usuario presiona el páginadonde se listen
listado de clientes el botón “listado de botón “Listado de los datosde cedula,
SP4-QA-1 exitosa clientes”, puede ver el Usuarios” nombre, email, dirección
listado de clientes y teléfono. Si no existen
existente. clientes, se deberá
generar un mensaje.

Debe llevar a una


Generación de El usuario, al presionar El usuario presiona el páginadonde se listen
el botón “Total ventas botón “Total ventas por los datosde cedula, y
Totalde Ventas por por Cliente”, puede ver
cliente exitosa el listado de clientes Cliente” del cliente, y el valor
conel total de ventas y total de ventas de cada
el total consolidado. cliente. Al final deberá
totalizar el valor de
SP4-QA-2 todas las ventas
desplegadas, que
corresponden al total
indicado por cliente Si
noexisten clientes, se
deberá generar un
mensaje.

Ing. Ricardo D. Camargo L Página 22


Sprint 5

MICROSERVICIO CONSOLIDACIÓN (solo Bogotá)

El EQUIPO desarrollará el microservicio de consolidación de las ventas de las ciudades satélite


hacia Bogotá para cada una de las sedes de la cadena de tiendas, la cual realizará la consulta de
las ventas que se hayan hecho hasta el momento en cada ciudad, y se realizará la sumatoria de
dichas consultas, así como las de Bogotá. Se almacenará la información de los siguientes datos:
fecha, ciudad, y total de Ventas en la colección db_consolidado.

MICROSERVICIO INTERFAZ WEB (Quinto Incremento de producto)

Se deberá realizar el quinto y último incremento de producto para el microservicio de interfaz web
que esté en la ciudad de Bogotá solamente, agregando la interacción con el usuario del
microservicio de reportes.

Historias de Usuario

Identificador
(ID) de la Rol Característica / Funcionalidad Razón / Resultado
historia
Como Necesito consultar el consolidado Con la finalidad de verificar
HU-019 administrado del total de ventas por cliente de cuales clientes han comprado en
r la cadena de tiendas. la tienda.

Interfaz Gráfica

Ing. Ricardo D. Camargo L Página 23


Conjunto de Pruebas

ID Prueba Caso de Prueba Descripción Acción de Entrada Resultado Esperado


El usuario, al presionar El usuario presiona el Debe llevar a una página
el botón botón “Consolidación” nueva donde se listen
“Consolidación”, puede los datos de ciudad, y el
Generación de ver el listado de valor total de ventas por
Totalde Ventas por ciudades con el total ciudad. Al final deberá
SP5-QA-1 ciudad exitosa deventas por ciudad y totalizar el valor del total
el gran total por toda la de ventas por toda la
cadena de tiendas. cadena de tiendas Si no
existen ventas, se
deberá generar un
mensaje.

• Usar contenedores para desplegar y manejar el ciclo de vida de los componentes (Docker)

Parte 4: Especificaciones Técnicas


Lenguajes de programación y stack tecnológico de desarrollo

Los lenguajes de programación, frameworks, y herramientas tecnológicas que se


emplearán parael desarrollo de este proyecto son los siguientes:

1) Java EE para desarrollo Web. JDK: JavaSE 11.0.2


2) Ambiente Integrado de Desarrollo (IDE) Eclipse for Enterprise Java and Web
DevelopersVersión 2021-06
3) Framework Spring Boot, versión 2.4.5 (integrado con el IDE)
4) Gestor de dependencias Maven, versión 3.6+
5) Servidor de Aplicaciones Web para Java Apache Tomcat® - Apache Tomcat 9
6) Gestor de Base de datos Mongo DB Versión 5.0.2
7) Cliente gestor de bases de datos MongoDB Compass 1.28.1.
8) Gestor de Contenedores Docker – Desktop (Windows) v.20.10.8
9) Gestor de pruebas de API – Postman. V. xx
10) Repositorio Github, e integración con Eclipse.

Ing. Ricardo D. Camargo L Página 24


Especificación de diseño de la base de datos no relacional.

Se presenta a continuación el diseño de la base de datos de la cadena de tiendas la genérica


(CadenaLaGenerica):

Ing. Ricardo D. Camargo L Página 25


Especificación de la API para conexión del Frontend con el Backend de la aplicación

1. APIs para gestión de Clientes.

Actualizar Clientes

Eliminar Clientes

Ing. Ricardo D. Camargo L Página 26


Agregar Clientes

Listar Clientes

Ing. Ricardo D. Camargo L Página 27


2. APIs para Consolidado

Actualizar Consolidado

Eliminar Consolidado

Ing. Ricardo D. Camargo L Página 28


Guardar Consolidado

Listar Consolidado

Ing. Ricardo D. Camargo L Página 29


3. APIs para Productos

Actualizar Productos

Eliminar Productos

Ing. Ricardo D. Camargo L Página 30


Guardar Productos

Listar Productos

Ing. Ricardo D. Camargo L Página 31


4. APIs de Ventas

Actualizar Ventas

Eliminar Ventas

Ing. Ricardo D. Camargo L Página 32


Agregar Ventas

Listar Ventas

Ing. Ricardo D. Camargo L Página 33


Diagrama de Despliegue de Contenedores Docker.

Ing. Ricardo D. Camargo L Página 34

También podría gustarte