CIclo 4 - Proyecto v3
CIclo 4 - Proyecto v3
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.
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:
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
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
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.
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.
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.
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.
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.
Microservicio de Productos.
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
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.
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
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.
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.
Conjunto de Pruebas
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.
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.
Conjunto de Pruebas
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.
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.
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
• Usar contenedores para desplegar y manejar el ciclo de vida de los componentes (Docker)
Actualizar Clientes
Eliminar Clientes
Listar Clientes
Actualizar Consolidado
Eliminar Consolidado
Listar Consolidado
Actualizar Productos
Eliminar Productos
Listar Productos
Actualizar Ventas
Eliminar Ventas
Listar Ventas