CAPITULO IV: RESULTADOS
4.1. Resultados de la metodología XP
4.1.3. Fase de Iteraciones
4.1.3.1.3. Tercera iteración. Para esta iteración se ha desarrollado los submódulos
“pedidos”, “reportes” y “visualizar pedidos”.
4.1.3.2.Historias de Usuario
4.1.3.2.1. Primera iteración. En la tabla 14 se muestran las historias de usuario pertenecientes a la primera iteración.
Tabla 14.
Desglose de la primera iteración por historias de usuario Número Historia de Usuario
1 Gestión de Seguridad
2 Gestión de Interfaz de Usuario del Cliente 3 Administrar Categorías
4 Administrar Características 5 Administrar Productos
4.1.3.2.2. Segunda iteración. En la tabla 15 se muestran las historias de usuario pertenecientes a la segunda iteración.
Tabla 15.
Desglose de la segunda iteración por historias de usuario Número Historia de Usuario
6 Gestionar Stocks
7 Gestionar Carrito de Compras 8 Gestionar Envío
4.1.3.2.3. Tercera iteración. En la tabla 16 se muestran las historias de usuario pertenecientes a la tercera iteración.
Tabla 16.
Desglose de la tercera iteración por historias de usuario Número Historia de Usuario
9 Administrar Pedidos 10 Visualizar Pedidos 11 Gestionar Reportes
4.1.3.3.Tareas de ingeniería.
4.1.3.3.1. Primera iteración. En la tabla 17 se muestran de manera general las tareas de ingeniería a realizar para cada historia de usuario
Tabla 17.
Desglose tareas de ingeniería de la primera iteración por HU Número de
tarea
Historia de Usuario Nombre de la tarea de ingeniería
1 Gestión de
Seguridad
Diseño de la interfaz de usuario “inicio de sesión” del administrador
2 Gestión de
Seguridad
Diseño de la interfaz de usuario “inicio de sesión” y
“registro” del cliente
3 Gestión de
Seguridad
Registro y validación del usuario
4 Gestión de
Seguridad
Asignación de permisos del sistema mediante la validación del usuario
5 Gestión de Interfaz
de Usuario del Cliente
Diseño de la interfaz de usuario “landing page”
6 Gestión de Interfaz
de Usuario del Cliente
Diseño de la interfaz de usuario “nosotros”
7 Gestión de Interfaz
de Usuario del Cliente
Diseño de la interfaz de usuario “contacto”
8 Gestión de Interfaz
de Usuario del Cliente
Diseño de la interfaz de usuario “galería”
9 Gestión de Interfaz
de Usuario del Cliente
Diseño de la interfaz de usuario “single product page”
10 Administrar
Categorías
Diseño de la interfaz de usuario para el módulo
“categorías”
11 Administrar
Categorías
Registro de categorías
12 Administrar
Categorías
Listar las categorías existentes
13 Administrar
Categorías
Modificar categorías
14 Administrar
Categorías
Listar las categorías en la interfaz de usuario “landing page”
15 Administrar
Categorías
Listar las categorías en la interfaz de usuario “galería”
Número de tarea
Historia de Usuario Nombre de la tarea de ingeniería
16 Administrar
Categorías
Listar las categorías en la interfaz de usuario “single product page”
17 Administrar
Características
Diseño de la interfaz de usuario para el módulo
“características”
18 Administrar
Características
Registro de características
19 Administrar
Características
Listar las características existentes y sus valores
20 Administrar
Características
Modificar características
21 Administrar
Productos
Diseño de la interfaz de usuario para el módulo
“productos”
22 Administrar
Productos
Registro de productos
23 Administrar
Productos
Listar los productos existentes
24 Administrar
Productos
Modificar productos
25 Administrar
Productos
Mostrar dinámicamente los productos en la interfaz de usuario “landing page”
26 Administrar
Productos
Mostrar dinámicamente los productos en la interfaz de usuario “single product page”
27 Administrar
Productos
Mostrar dinámicamente los productos en la interfaz de usuario “galería”
4.1.3.3.2. Segunda iteración. En la tabla 18 se muestran de manera general las tareas de ingeniería a realizar para cada historia de usuario.
Tabla 18.
Desglose tareas de ingeniería de la segunda iteración por HU Número de
tarea
Historia de Usuario Nombre de la tarea de ingeniería
28 Gestionar Stocks Diseño de la interfaz de usuario para el módulo “stocks”
29 Gestionar Stocks Corregir stock disponible
30 Gestionar Stocks Listar los movimientos de stocks existentes 31 Gestionar Carrito de
Compras
Diseño de la interfaz “carrito de compras”
32 Gestionar Carrito de Compras
Agregar productos al carrito de compras 33 Gestionar Carrito de
Compras
Eliminar productos del carrito de compras
Número de tarea
Historia de Usuario Nombre de la tarea de ingeniería
34 Gestionar Envío Diseño de la interfaz de usuario “gestión de envío”
35 Gestionar Envío Asignar método de envío
36 Gestionar Envío Actualizar información de contacto del cliente 37 Gestionar Envío Asignar método de pago
4.1.3.3.3. Tercera iteración. En la tabla 19 se muestran de manera general las tareas de ingeniería a realizar para cada historia de usuario.
Tabla 19.
Desglose tareas de ingeniería de la tercera iteración por HU Número de
tarea
Historia de Usuario Nombre de la tarea de ingeniería
38 Administrar Pedidos Diseño de la interfaz de usuario para el módulo
“pedidos”
39 Administrar Pedidos Listar todos los pedidos realizados por los clientes 40 Administrar Pedidos Modificar y ver historial del estado del pago del pedido 41 Administrar Pedidos Listar el detalle del pedido.
42 Visualizar Pedidos Diseño de la interfaz de usuario “mis pedidos”
43 Visualizar Pedidos Listar dinámicamente los pedidos realizados 44 Gestionar Reportes Diseño de la interfaz de usuario “reportes”
45 Gestionar Reportes Generar reportes en forma de gráficos 46 Gestionar Reportes Exportar reportes en formato xlsx
4.1.3.4. Descripción individual de las tareas de ingeniería. La metodología XP exige que cada programador solo pueda desarrollar un máximo de 40 horas semanales, para lo cual, se desglosaron las tareas de ingeniería en horas, desarrollando un máximo de 8 horas diarias y 5 días a la semana.
4.1.3.4.1. Primera iteración. En las siguientes tablas (Tabla 20 a la Tabla 46) se detallan cada una de las tareas de ingeniería de la primera iteración.
Tabla 20.
Diseño de la interfaz “inicio de sesión” administrador Tarea de ingeniería
Número de tarea: 1 Historia de Usuario Asignada: 1
Nombre de la tarea: Diseño de la interfaz de usuario “inicio de sesión” administrador Tipo de tarea: Desarrollo Horas de trabajo: 1
Programador Responsable: Hans Burg De La Cruz Acosta
Descripción: Se realizará el diseño de la interfaz de usuario para iniciar sesión como administrador, este formulario tendrá dos campos: usuario y contraseña.
Tabla 21.
Diseño de la interfaz “inicio de sesión” y “registro” del cliente Tarea de ingeniería
Número de tarea: 2 Historia de Usuario Asignada: 1
Nombre de la tarea: Diseño de la interfaz de usuario “inicio de sesión” y “registro” del cliente Tipo de tarea: Desarrollo Horas de trabajo: 6
Programador Responsable: Hans Burg De La Cruz Acosta
Descripción: Se realizará el diseño de la interfaz de usuario para iniciar sesión como cliente. el formulario de inicio de sesión tendrá dos campos: usuario y contraseña. El formulario de
registro tendrá seis campos: nombres, apellidos, celular, correo electrónico, contraseña y repetir contraseña.
Observaciones: En el formulario de registro el único campo que no es obligatorio es “celular”
Tabla 22.
Registro y validación del usuario Tarea de ingeniería
Número de tarea: 3 Historia de Usuario Asignada: 1 Nombre de la tarea: Registro y validación del usuario
Tipo de tarea: Desarrollo Horas de trabajo: 4 Programador Responsable: Hans Burg De La Cruz Acosta
Descripción: Se realizará el registro del usuario cliente con los campos obligatorios, y validar la coincidencia del usuario y contraseña ingresada mediante la interfaz de usuario, con los datos dentro de la base de datos
Tabla 23.
Asignación de permisos del sistema Tarea de ingeniería
Número de tarea: 4 Historia de Usuario Asignada: 1
Nombre de la tarea: Asignación de permisos del sistema mediante la validación del usuario Tipo de tarea: Desarrollo Horas de trabajo: 0.5
Programador Responsable: Hans Burg De La Cruz Acosta
Descripción: Después del registro e inicio de sesión, se asignará los permisos del sistema. El usuario cliente solo podrá acceder a los módulos “landing page”, “nosotros”, “galería”,
“contacto” y “single product page”. Mientras que el usuario administrador podrá acceder a los módulos “categorías”, “características” y “productos”.
Observaciones: Estos son los módulos pertenecientes a la iteración 1, en las siguientes iteraciones habrá tareas similares a esta, solo para actualizar los módulos existentes en esas iteraciones. Esta interfaz de usuario aún no tiene interacción con la capa controlador del MVC
Tabla 24.
Diseño de la interfaz “landing page”
Tarea de ingeniería
Número de tarea: 5 Historia de Usuario Asignada: 2 Nombre de la tarea: Diseño de la interfaz de usuario “landing page”
Tipo de tarea: Desarrollo Horas de trabajo: 4 Programador Responsable: Hans Burg De La Cruz Acosta
Descripción: Se realizará el diseño de la interfaz de usuario “landing page”, el cual tendrá las siguientes secciones: “cabecera de página”, “enlace a la galería”, “presentación”, “testimonios”,
“enlace a productos destacados”, “enlace a redes sociales” y “pie de página”.
Observaciones: Esta interfaz de usuario aún no tiene interacción con la capa controlador del MVC
Tabla 25.
Diseño de la interfaz “nosotros”
Tarea de ingeniería
Número de tarea: 6 Historia de Usuario Asignada: 2 Nombre de la tarea: Diseño de la interfaz de usuario “nosotros”
Tipo de tarea: Desarrollo Horas de trabajo: 2 Programador Responsable: Hans Burg De La Cruz Acosta
Descripción: Se realizará el diseño de la interfaz de usuario “nosotros”, el cual tendrá las siguientes secciones: “cabecera de página”, “descripción breve de la empresa”, “enlaces a la galería”, “objetivos”, “finalidad”, “misión” y “visión”.
Tabla 26.
Diseño de la interfaz “contacto”
Tarea de ingeniería
Número de tarea: 7 Historia de Usuario Asignada: 2 Nombre de la tarea: Diseño de la interfaz de usuario “contacto”
Tipo de tarea: Desarrollo Horas de trabajo: 1 Programador Responsable: Hans Burg De La Cruz Acosta
Descripción: Se realizará el diseño de la interfaz de usuario “contacto”, el cual tendrá las siguientes secciones: “cabecera de página”, “información de contacto”, “mapa interactivo”.
Observaciones: En información de contacto se encontrará la siguiente información: dirección, referencia, ubigeo, correo electrónico, teléfono, enlace directo al WhatsApp de la empresa. Y en mapa interactivo, se visualizará la ubicación de la empresa mediante el servicio de Google Maps
Tabla 27.
Diseño de la interfaz “galería”
Tarea de ingeniería
Número de tarea: 8 Historia de Usuario Asignada: 2 Nombre de la tarea: Diseño de la interfaz de usuario “galería”
Tipo de tarea: Desarrollo Horas de trabajo: 2 Programador Responsable: Hans Burg De La Cruz Acosta
Descripción: Se realizará el diseño de la interfaz de usuario “galería” en el cual se mostrarán ocho productos por página. Se podrá ordenar por “mayor precio” y “menor precio”, como también se podrá filtrar por “categoría” asignada al producto.
Observaciones: Esta interfaz de usuario aún no tiene interacción con la capa controlador del MVC
Tabla 28.
Diseño de la interfaz “single product page”
Tarea de ingeniería
Número de tarea: 9 Historia de Usuario Asignada: 2 Nombre de la tarea: Diseño de la interfaz de usuario “single product page”
Tipo de tarea: Desarrollo Horas de trabajo: 4 Programador Responsable: Hans Burg De La Cruz Acosta
Descripción: Se realizará el diseño de la interfaz de usuario “single product page” en el cual se visualizan todas las fotos, descripción, características, nombre y categoría del producto,
dinámicamente.
Observaciones: Esta interfaz de usuario aún no tiene interacción con la capa controlador del MVC
Tabla 29.
Diseño de la interfaz para el módulo “categorías”
Tarea de ingeniería
Número de tarea: 10 Historia de Usuario Asignada: 3 Nombre de la tarea: Diseño de la interfaz de usuario para el módulo “categorías”
Tipo de tarea: Desarrollo Horas de trabajo: 2 Programador Responsable: Hans Burg De La Cruz Acosta
Descripción: Se realizará el diseño de la interfaz de usuario para el módulo “categorías”. Esta interfaz contará con un botón de “agregar categoría”, un formulario para ingresar una categoría a la base de datos, una tabla para listar todas las categorías existentes, un buscador para filtrar las categorías, paginación, y una visualización previa de categorías padres y categorías hijas
Tabla 30.
Registro de categorías Tarea de ingeniería
Número de tarea: 11 Historia de Usuario Asignada: 3 Nombre de la tarea: Registro de categorías
Tipo de tarea: Desarrollo Horas de trabajo: 1 Programador Responsable: Hans Burg De La Cruz Acosta
Descripción: Se realizará la validación del registro de la categoría, si todo está correcto, se ingresa en la base de datos. Los campos por ingresar son: “nombre de categoría” y “categoría padre” (opcional).
Observaciones: Si no se escoge una categoría padre, el sistema debe asumir que es una categoría raíz.
Tabla 31.
Listar las categorías existentes Tarea de ingeniería
Número de tarea: 12 Historia de Usuario Asignada: 3 Nombre de la tarea: Listar las categorías existentes mediante una tabla
Tipo de tarea: Desarrollo Horas de trabajo: 1 Programador Responsable: Hans Burg De La Cruz Acosta
Descripción: En el módulo “Categorías”, se muestra en una tabla, el listado de las categorías, con las columnas “ID”, “Nombre de la categoría”, “Estado” y una columna de opciones. Cada fila, en la columna de opciones tendrá los siguientes botones: “Editar”, esta opción abre el formulario para que se pueda modificar la categoría y “Cambiar estado”
Observaciones: Las categorías que no se encuentren en estado activo, no se listarán en la interfaz de usuario del cliente
Tabla 32.
Modificar categorías Tarea de ingeniería
Número de tarea: 13 Historia de Usuario Asignada: 3 Nombre de la tarea: Modificar categorías
Tipo de tarea: Desarrollo Horas de trabajo: 1 Programador Responsable: Hans Burg De La Cruz Acosta
Descripción: La categoría se modifica mediante el formulario de la tarea de ingeniería 12, para cambiar el nombre o la categoría padre, y también mediante el botón “cambiar estado” que se encuentra en cada fila del listado de categorías
Tabla 33.
Listar las categorías en la interfaz “landing page”
Tarea de ingeniería
Número de tarea: 14 Historia de Usuario Asignada: 3 Nombre de la tarea: Listar las categorías en la interfaz de usuario “landing page”
Tipo de tarea: Desarrollo Horas de trabajo: 0.5 Programador Responsable: Hans Burg De La Cruz Acosta
Descripción: Se añade el listado de categorías en la interfaz de usuario “landing page”
Tabla 34.
Listar las categorías en la interfaz “galería”
Tarea de ingeniería
Número de tarea: 15 Historia de Usuario Asignada: 3 Nombre de la tarea: Listar las categorías en la interfaz de usuario “galería”
Tipo de tarea: Desarrollo Horas de trabajo: 0.5 Programador Responsable: Hans Burg De La Cruz Acosta
Descripción: Se añade el listado de categorías en la interfaz de usuario “galería”
Tabla 35.
Listar las categorías en la interfaz “single product page”
Tarea de ingeniería
Número de tarea: 16 Historia de Usuario Asignada: 3
Nombre de la tarea: Listar las categorías en la interfaz de usuario “single product page”
Tipo de tarea: Desarrollo Horas de trabajo: 0.5 Programador Responsable: Hans Burg De La Cruz Acosta
Descripción: Se añade la funcionalidad de listar categorías en la interfaz de usuario “single product page”
Tabla 36.
Diseño de la interfaz para el módulo “características”
Tarea de ingeniería
Número de tarea: 17 Historia de Usuario Asignada: 4
Nombre de la tarea: Diseño de la interfaz de usuario para el módulo “características”
Tipo de tarea: Desarrollo Horas de trabajo: 2 Programador Responsable: Hans Burg De La Cruz Acosta
Descripción: Se realizará el diseño de la interfaz de usuario para el módulo “características”.
Esta interfaz contará con un botón de “agregar características”, un formulario para ingresar una característica a la base de datos, una tabla para listar todas las características existentes, un buscador para filtrar las características, paginación.
Observaciones: Dentro de este módulo se le asignarán valores a cada una de las características ingresadas a la base de datos.
Tabla 37.
Registro de características Tarea de ingeniería
Número de tarea: 18 Historia de Usuario Asignada: 4 Nombre de la tarea: Registro de características
Tipo de tarea: Desarrollo Horas de trabajo: 1 Programador Responsable: Hans Burg De La Cruz Acosta
Descripción: Se realizará la validación de ingreso de la característica a la base de datos, si todo está correcto, se ingresa a la base de datos.
Observaciones: El campo a ingresar es “nombre de característica” y es obligatorio.
Tabla 38.
Listar las características existentes y sus valores Tarea de ingeniería
Número de tarea: 19 Historia de Usuario Asignada: 4
Nombre de la tarea: Listar las características existentes y sus valores para cada una de estas mediante una tabla
Tipo de tarea: Desarrollo Horas de trabajo: 1 Programador Responsable: Hans Burg De La Cruz Acosta
Descripción: En el módulo “características”, se muestra en una tabla, el listado de las
características del producto, con las columnas “ID”, “Nombre de la Característica”, “Estado” y una columna de opciones. Cada fila, en la columna de opciones tendrá lo siguientes botones:
“Editar”, esta opción abre el formulario para que se pueda modificar la característica y
“Cambiar estado”.
Observaciones: El listado de valores también tiene las opciones de agregar, modificar y cambiar estado.
Tabla 39.
Modificar características Tarea de ingeniería
Número de tarea: 20 Historia de Usuario Asignada: 4 Nombre de la tarea: Modificar características
Tipo de tarea: Desarrollo Horas de trabajo: 1 Programador Responsable: Hans Burg De La Cruz Acosta
Descripción: La característica se modifica mediante el formulario de la tarea de ingeniería 19, para cambiar el nombre de la característica, o su valor, y también mediante el botón “cambiar estado que se encuentra en el listado de características.
Observaciones: Otra manera de modificar es agregando o editando los valores de cada característica.
Tabla 40.
Diseño de la interfaz para el módulo “productos”
Tarea de ingeniería
Número de tarea: 21 Historia de Usuario Asignada: 5 Nombre de la tarea: Diseño de la interfaz de usuario para el módulo “productos”
Tipo de tarea: Desarrollo Horas de trabajo: 2 Programador Responsable: Hans Burg De La Cruz Acosta
Descripción: Se realizará el diseño de la interfaz de usuario para el módulo “productos”. Esta interfaz contará con un botón de “agregar producto”, un formulario para ingresar un producto a la base de datos, una tabla para listar todos los productos existentes, un buscador para filtrar las categorías, paginación, y una visualización previa de categorías padres y categorías hijas Tabla 41.
Registro de productos Tarea de ingeniería
Número de tarea: 22 Historia de Usuario Asignada: 5 Nombre de la tarea: Registro de productos
Tipo de tarea: Desarrollo Horas de trabajo: 1 Programador Responsable: Hans Burg De La Cruz Acosta
Descripción: Se realizará la validación del ingreso de productos a la base de datos, si todo está correcto, se ingresa a la base de datos.
Observaciones: Los campos a ingresar son: “nombre del producto”, “url del producto” (este campo se autogenera cada vez que el usuario administrador escriba alguna letra en el nombre del producto), “descripción del producto”, “precio unitario”, “stock actual”, “alerta de bajo stock”, “categoría”. Todos los campos son obligatorios
Tabla 42.
Listar los productos existentes Tarea de ingeniería
Número de tarea: 23 Historia de Usuario Asignada: 5 Nombre de la tarea: Listar los productos existentes mediante una tabla
Tipo de tarea: Desarrollo Horas de trabajo: 1 Programador Responsable: Hans Burg De La Cruz Acosta
Descripción: En el módulo “Productos”, se muestra en una tabla, el listado de los productos, con las columnas “ID”, “Imagen”, “Nombre del producto”, “Categoría”, “Precio”, “Stock
disponible”, “Estado” y una columna de opciones.
Observaciones: Cada fila de la tabla tendrá, en la columna de opciones, los siguientes botones:
“editar” la cual abrirá el formulario para que se pueda modificar, y “cambiar estado” para evitar que se muestre el producto en las interfaces del usuario cliente, “ver/modificar características”
esta opción abrirá un formulario en el que se añadirán características y sus valores. Al hacer click en la imagen, se abrirá un formulario en el cual se podrán añadir, eliminar y marcar imagen por defecto del producto.
Tabla 43.
Modificar productos Tarea de ingeniería
Número de tarea: 24 Historia de Usuario Asignada: 5 Nombre de la tarea: Modificar productos
Tipo de tarea: Desarrollo Horas de trabajo: 1 Programador Responsable: Hans Burg De La Cruz Acosta
Descripción: El producto se modifica mediante el formulario de la tarea de ingeniería 23, para cambiar el nombre, descripción del producto, precio unitario, alerta de bajo stock, y su
categoría. El producto también se modifica mediante el botón de “Cambiar estado”, botón que activa o inactiva un producto, o con el botón “Ver/Modificar Características”, el cual abre una ventana emergente que se muestra el listado de características pertenecientes al producto.
Tabla 44.
Mostrar dinámicamente los productos en la interfaz “landing page”
Tarea de ingeniería
Número de tarea: 25 Historia de Usuario Asignada: 5
Nombre de la tarea: Mostrar dinámicamente los productos en la interfaz de usuario “landing page”
Tipo de tarea: Desarrollo Horas de trabajo: 0.5 Programador Responsable: Hans Burg De La Cruz Acosta
Descripción: Se añade la funcionalidad de mostrar productos dinámicamente en la interfaz de usuario “landing page”