Upload
others
View
6
Download
0
Embed Size (px)
Citation preview
Quito, Mayo 2018
ESCUELA POLITÉCNICA NACIONAL
ESCUELA DE FORMACIÓN DE TECNÓLOGOS
DESARROLLO DE UN SISTEMA WEB PARA CONTROL DE INVENTARIOS QUE CUENTE CON CATÁLOGO EN LÍNEA DE
PRODUCTOS DE LA EMPRESA JAVSA S.A.
TRABAJO PREVIO A LA OBTENCIÓN DEL TÍTULO DE TECNÓLOGO
EN ANÁLISIS DE SISTEMAS INFORMÁTICOS
BURI NAULA JANNETH ESTEFANIA [email protected]
PILLAJO PACHECO DIEGO FRANCISCO [email protected]
DIRECTOR: ING. HERNÁN ORDOÑEZ CALERO [email protected]
CODIRECTOR: ING. CESAR GALLARDO CARRERA [email protected]
DECLARACIÓN
Nosotros, Janneth Estefanía Buri Naula y Diego Francisco Pillajo Pacheco declaramos bajojuramento que el trabajo aquí descrito es de nuestra autoría; que no ha sido previamentepresentada para ningún grado o calificación profesional; y, que hemos consultado las referenciasbibliográficas que se incluyen en este documento.
A través de la presente declaración cedemos nuestros derechos de propiedad intelectualcorrespondientes a este trabajo, a la Escuela Politécnica Nacional, según lo establecido por laLey de Propiedad Intelectual, por su Reglamento y por la normatividad institucional vigente.
Janneth Estefanía Buri Naula Diego Francisco Pillajo Pacheco
CERTIFICACIÓN
Certificamos que el presente trabajo fue desarrollado por Buri Naula Janneth Estefanía y PillajoPacheco Diego Francisco, bajo nuestra supervisión.
Ing. Hernán Ordoñez Calero
DIRECTOR DE PROYECTO
Ing. Cesar Gallardo Carrera
CODIRECTOR DE PROYECTO
AGRADECIMIENTOS
AGRADECIMIENTOS
DEDICATORIA
DEDICATORIA
TABLA DE CONTENIDOS
1. INTRODUCCIÓN .................................................................................................................1
1.1. Definición del problema.................................................................................................1
1.2. Objetivos .......................................................................................................................1
Objetivos General.................................................................................................................1
Objetivos Específicos ...........................................................................................................1
1.3. Alcance .........................................................................................................................2
2. METODOLOGÍA ..................................................................................................................2
2.1. Ingeniería del Software .................................................................................................2
2.2. Definición de la arquitectura ..........................................................................................3
Funcionamiento del patrón MVC ..........................................................................................3
2.3. Metodología de desarrollo Scrum..................................................................................4
2.4. Herramientas del lado del servidor ................................................................................5
Power Designer....................................................................................................................5
Sistema Gestor de Base de Datos MySQL...........................................................................6
PhpMyAdmin........................................................................................................................6
Lenguaje de programación PHP...........................................................................................7
XAMPP ................................................................................................................................ 7
Composer ............................................................................................................................7
Framework de desarrollo......................................................................................................8
2.5. Herramientas del lado del cliente ..................................................................................8
HTML ...................................................................................................................................8
Hojas de Estilos (CSS).........................................................................................................9
JavaScript (JS)...................................................................................................................10
JQuery ............................................................................................................................... 11
Bootstrap............................................................................................................................ 11
Responsive Web desing o Diseño Web Adaptativo ........................................................... 13
2.6. Arquitectura del Sistema ............................................................................................. 14
2.7. Levantamiento de Requerimientos ..............................................................................14
Roles Scrum....................................................................................................................... 14
Requerimientos del sistema ............................................................................................... 15
Usuarios del sistema ..........................................................................................................16
Historias de usuario técnicas.............................................................................................. 17
Product Backlog (Lista de historias de usuario)..................................................................19
3. RESULTADOS Y DISCUSIÓN........................................................................................... 23
3.1. Planificación de Sprints ............................................................................................... 23
3.2. Sprint 0........................................................................................................................ 23
Planificación ....................................................................................................................... 23
3.3. Sprint 1........................................................................................................................ 23
Planificación ....................................................................................................................... 23
Scrum Daily Meeting ..........................................................................................................24
Sprint Review..................................................................................................................... 28
Sprint Retrospective ...........................................................................................................30
3.4. Sprint 2........................................................................................................................ 31
Planificación ....................................................................................................................... 31
Scrum Daily Meeting ..........................................................................................................32
Sprint Review..................................................................................................................... 35
Sprint Retrospective ...........................................................................................................36
3.5. Sprint 3........................................................................................................................ 37
Planificación ....................................................................................................................... 37
Scrum Daily Meeting ..........................................................................................................37
Sprint Review..................................................................................................................... 40
Sprint Retrospective ...........................................................................................................41
3.6. Sprint 4........................................................................................................................ 42
Planificación ....................................................................................................................... 42
Scrum Daily Meeting ..........................................................................................................42
Sprint Review..................................................................................................................... 46
Sprint Retrospective ...........................................................................................................47
3.7. Sprint 5........................................................................................................................ 48
Planificación ....................................................................................................................... 48
Scrum Daily Meeting ..........................................................................................................48
Sprint Review..................................................................................................................... 52
Sprint Retrospective ...........................................................................................................53
3.8. Sprint 6........................................................................................................................ 54
Planificación ....................................................................................................................... 54
Scrum Daily Meeting ..........................................................................................................54
Sprint Review..................................................................................................................... 58
Sprint Retrospective ...........................................................................................................59
3.9. Sprint 7........................................................................................................................ 60
Planificación ....................................................................................................................... 60
Scrum Daily Meeting ..........................................................................................................60
Sprint Review..................................................................................................................... 63
Sprint Retrospective ...........................................................................................................64
4. CONCLUSIONES...............................................................................................................65
5. BIBLIOGRAFÍA ..................................................................................................................66
6. ANEXOS ............................................................................................................................ 67
ANEXO A: Historias de usuario técnicas................................................................................68
ANEXO B: Estructura de la Base de datos ............................................................................97
ANEXO C: Manual de Usuario............................................................................................... 99
INDICE DE FIGURAS
Figura 1. Funcionamiento MVC...................................................................................................4Figura 2. Estructura CSS.............................................................................................................9Figura 3. Librerías del Sistema de Inventarios...........................................................................12Figura 4. Estructura de archivos de Bootstrap...........................................................................12Figura 5. Arquitectura del Sistema ............................................................................................ 14Figura 6 Interfaz Registro de usuarios....................................................................................... 28Figura 7Interfaz de Inicio de Sesión .......................................................................................... 29Figura 8 Interfaz Visualizar Usuarios ......................................................................................... 29Figura 9 Interfaz Editar Usuarios ............................................................................................... 30Figura 10 Gráfica de esfuerzo Sprint 1 ...................................................................................... 31Figura 11. Interfaz Registro producto de Materia Prima............................................................. 35Figura 12. Interfaz Editar producto de Materia Prima ................................................................ 35Figura 13. Visualizar materias primas........................................................................................ 36Figura 14. Gráfica de esfuerzo Sprint 2 ..................................................................................... 36Figura 15 Interfaz Registro de Productos Terminados............................................................... 40Figura 16 Interfaz Editar Producto Terminado ...........................................................................40Figura 17 Interfaz Visualización de Productos terminados ........................................................ 41Figura 18 Gráfica de esfuerzo Sprint 3 ...................................................................................... 41Figura 19 Interfaz de Registro de nueva nota pedido productos terminados ............................. 46Figura 20 Interfaz Editar Nota de pedido de productos terminados ...........................................46Figura 21 Interfaz Visualizar Notas de Pedido...........................................................................47Figura 22 Gráfica de esfuerzo Sprint 4 ...................................................................................... 47Figura 23 Interfaz Registro notas de Pedido Materias Primas ...................................................52Figura 24 Interfaz Editar Nota de Pedido Materia Prima............................................................ 52Figura 25 Visualizar Notas de Pedido Materia Prima.................................................................53Figura 26 Gráfica de esfuerzo Sprint 5 ...................................................................................... 53Figura 27 Interfaz de Salida de Productos Terminados ............................................................. 58Figura 28 Interfaz de Registro de Salida de Materias Primas .................................................... 58Figura 29 Interfaz de Devolución de Materia Prima ...................................................................59Figura 30 Interfaz de Devolución de Productos Terminados ..................................................... 59Figura 31 Gráfica de esfuerzo del Sprint 6 ................................................................................60Figura 32 Alerta de Disponibilidad Baja Materia Prima.............................................................. 63Figura 33 Alerta de Disponibilidad Baja Productos Terminados ................................................63Figura 34 Catálogo.................................................................................................................... 64Figura 35 Gráfica de esfuerzo del Sprint 7 ................................................................................64
INDICE DE TABLAS
Tabla 1. Roles Scrum................................................................................................................14Tabla 2. Requerimientos del Sistema........................................................................................ 15Tabla 3. Usuarios del Sistema...................................................................................................16Tabla 4 Historia de Usuario Técnica 0....................................................................................... 17Tabla 5 Historia de Usuario Técnica 1....................................................................................... 17Tabla 6 Lista de Historias de usuario......................................................................................... 19Tabla 7 Tareas Sprint 1 .............................................................................................................24Tabla 8 Tareas realizadas Sprint 1............................................................................................ 25Tabla 9. Tareas Sprint 2 ............................................................................................................31Tabla 10. Tareas realizadas Sprint 2 ......................................................................................... 33Tabla 11 Tareas Sprint 3 ...........................................................................................................37Tabla 12 Tareas realizadas Sprint 3 .......................................................................................... 38Tabla 13 Tareas Sprint 4 ...........................................................................................................42Tabla 14 Tareas realizadas Sprint 4 .......................................................................................... 43Tabla 15 Tareas Sprint 5 ...........................................................................................................48Tabla 16 Tareas realizadas Sprint 5 .......................................................................................... 49Tabla 17 Tareas Sprint 6 ...........................................................................................................54Tabla 18 Tareas realizadas Sprint 6 .......................................................................................... 55Tabla 19 Tareas Sprint 7 ...........................................................................................................60Tabla 20 Tareas realizadas Sprint 7 .......................................................................................... 61
RESUMEN
Este trabajo de titulación presenta el desarrollo un sistema web para el control de
inventarios y un catálogo en línea de productos para la empresa JAVSA S.A., con el
objetivo de mejorar la administración tanto de materias primas como de productos
terminados y ofertar sus productos.
El trabajo de titulación está enmarcado bajo metodología de desarrollo ágil Scrum.
Basándose en esta metodología se realizó un análisis de la situación actual de la
empresa mediante entrevistas al gerente, en donde se obtuvieron todos los requisitos
del sistema, para luego llamarse historias de usuario. Las historias de usuario se
agruparon en 7 sprints de alrededor de 14 días de duración cada uno. Al final de cada
sprint se realizaron las pruebas funcionales del sistema en conjunto con el gerente de
la empresa. Estas pruebas permitieron verificar el cumplimiento de los requerimientos
solicitados.
Para la elaboración del sistema se utilizaron diversas tecnologías como el lenguaje
de programación PHP, el gestor de base de datos MySQL, el framework de desarrollo
Symfony, herramientas del lado del cliente como CSS, JS, HTML, JQuery, Bootstrap
y el servidor Web Apache.
Finalmente se emiten las conclusiones a cada objetivo planteado en este proyecto.
Palabras Claves: JAVSA S.A., Sistema de control de inventarios, Catalogo en línea,
Scrum, PHP, MySQL, Symfony, Servidor Web Apache.
ABSTRACT
This titling work presents the development of a web system for the control of inventories and
an online catalog of products for the company JAVSA S.A., with the aim of improving
administration of both raw materials and finished products and offering their products.
The titling work was framed under the agile development methodology Scrum. Based on this
methodology, it was made an analysis of the current situation of the company, through
interviews with the manager, where all the requirements that the system needed to later be
called user stories were obtained. All user stories were grouped into 7 sprints of approximately
14 days duration. The functional testing of the system was performed in conjunction with the
product owner to verify compliance with all requirements agile at the end of each sprint.
Several technologies were used to develop the system, such as the PHP programming
language, the MySQL database management system, the Symfony development framework,
client-side tools such as CSS, JS, HTML, JQuery, Bootstrap and the Apache Web server.
Finally, the conclusions are given for each objective proposed in this project.
Keywords: JAVSA S.A., Inventory Control System, Online Catalog, Scrum, PHP, MySQL,
Symfony, Apache Web Server.
1. INTRODUCCIÓN
1.1.Definición del problema
JAVSA S.A. es una empresa ecuatoriana dedicada a la manufactura de guantes industriales con
sede en la ciudad de Quito, fue creada con el objetivo de producir un producto nacional de alta
calidad. La empresa debe controlar procesos de compras de materias primas, producción, control
de calidad, empaquetado y distribución.
Al ser una empresa con poco tiempo en el mercado, sus procesos de control y registro de
inventarios tanto de materias primas como productos terminados se realizaban a mano y después
se transcribía en hojas de cálculo de Excel, lo cual generaba doble registro de información,
inconsistencia de datos y datos desactualizados. Además, la empresa enfrentaba la falta de
publicidad con respecto a otras ya establecidas dentro del mercado, las cuales utilizan medios de
comunicación tradicionales para ofertar sus productos. Por estos motivos, la empresa vio como
una alternativa incursionar en el ámbito tecnológico con un sistema web para automatizar sus
procesos y mejorar su área administrativa.
En el presente proyecto se analizó las necesidades de la empresa planteando como solución el
desarrollo de un sistema web para el control de inventarios y un catálogo en línea de productos.
Esta solución permite el registro y control de usuarios por rol, registro, edición, consulta de
materias primas y productos terminados, emisión y visualización de notas de pedido, notas de
devolución, notas de salida tanto de productos terminados como materias primas y registro de
clientes. Para complementar la solución se implementó también un catálogo en línea que
presenta los productos ofertados por la empresa.
1.2.Objetivos
Objetivos General
Desarrollar un sistema web para control de inventarios que cuente con catálogo en línea
de productos de la empresa JAVSA S.A.
Objetivos Específicos
• Realizar un análisis de los procesos actuales para control de inventarios y la oferta
de los productos con los que cuenta la empresa.
• Diseñar una base de datos que permita integrar la información.
• Desarrollar los módulos del sistema y el catálogo online de acuerdo a los
requerimientos del cliente.
• Definir casos de prueba para verificar y validar si se está cumpliendo los
requerimientos de la empresa.
• Definir políticas de seguridad del sistema para el servidor y los usuarios que harán
uso del sistema.
• Implementar el sistema en un servidor seguro y con las características necesarias
para soportar el sistema.
1.3.Alcance
El sistema de inventarios permitirá a los empleados y propietarios saber qué cantidad de
materia prima y productos terminados se encuentran en bodegas. La creación del catálogo
online permitirá publicitar los productos de forma segura para los clientes y eficaz para los
propietarios.
Los parámetros a cubrirse con el presente proyecto son:
• Controlar el flujo de productos y materias primas entrantes y salientes
• Verificar el stock disponible de materia prima y productos, mediante alertas de poco stock
para ayudar al departamento de producción y dar soluciones preventivas.
• Implementar un control de acceso al sistema de inventarios y a la publicación de productos
en el catálogo mediante usuario y contraseñas.
• Desarrollar el sistema de control de inventarios de acuerdo a los requerimientos
planteados por la empresa.
• Permitir la publicación de los productos que ofrece la empresa a través de imágenes,
descripciones y cualquier información que facilite al cliente verificar si es lo que necesita
adquirir.
• Implementar el sistema de inventario y el catálogo online en un servidor de la empresa.
• Crear manuales de funcionamiento del sistema.
2. METODOLOGÍA
2.1.Ingeniería del Software
La Ingeniería de Software es una disciplina que aplica de forma práctica el conocimiento
científico para la producción de software desde las etapas iniciales incluyendo análisis de
requerimientos, diseño, desarrollo, implementación y mantenimiento, conjuntamente con su
respectiva documentación (Pressman & Maxim, 2015).
Esta disciplina ayudo a gestionar toda la fase de desarrollo e implementación, debido a que
se enfoca en buscar soluciones en base a las estrategias de negocio de una empresa,
permitiendo crear software a medida y cubriendo necesidades específicas.
2.2.Definición de la arquitectura
La arquitectura utilizada para este proyecto de titulación se basa en el patrón de diseño
Modelo-Vista-Controlador (MVC) porque crea independencia de funcionamiento, facilita el
mantenimiento de errores y permite agregar nuevos tipos de datos.
El patrón MVC es un paradigma de arquitectura de software que separa los datos de una
aplicación, la interfaz de usuario y la lógica de control en tres componentes distintos, estos
son:
• El modelo representa los datos que manejan el sistema, las reglas del negocio y los
mecanismos de persistencia.
• La vista es una representación visual del modelo al usuario.
• El controlador es el objeto que traduce todas las órdenes del usuario actuando sobre
los datos representados en el modelo. Interactúa directamente entre el modelo y la
vista (Universidad de Alicante, 1996-2017).
Funcionamiento del patrón MVC
Captura de la petición en el controlador
La aplicación recibe peticiones que son centralizadas en el Controlador. Éste es el encargado
de interpretar, a partir de la URL de la solicitud, el tipo de operación que hay que realizar.
Procesamiento de la petición
Una vez que el Controlador determine la operación a realizar, procede a ejecutar las acciones
pertinentes, invocando para ello a los diferentes métodos expuestos por el Modelo.
Generación de respuestas
Los resultados devueltos por el Modelo al Controlador son depositados por éste en una
variable de petición, sesión o aplicación, según el alcance que deban tener. A continuación,
el Controlador invoca a la página PHP que debe encargarse de generar la vista
correspondiente, está página accederá a la variable de ámbito donde estén depositados los
resultados y los utilizará para generar dinámicamente la respuesta HTML que será enviada al
cliente (MADEJA, 2017).
Figura 1. Funcionamiento MVC
2.3.Metodología de desarrollo Scrum
En el presente proyecto se ha utilizado la metodología Scrum por las múltiples ventajas que
ofrece entre ellas la interacción entre cliente y el equipo de desarrollo, al presentar un prototipo
del incremento del software en cada avance. De esta manera el cliente podrá evaluar la
funcionalidad del mismo, aprobando dicho avance o proponiendo posibles cambios.
Dimes (2015), enuncia que Scrum es un marco de referencia dentro de la metodología de
software ágil para crear software complejo y entregarlo a tiempo de una forma más sencilla;
mediante la aplicación de un conjunto de directrices a seguir por los equipos de trabajo y el
uso de roles concretos. Fue concebido por Jeff Sutherland y su equipo de desarrollo a
principios de 1990.
Según Pressman (2015), Scrum aplica los principios del manifiesto ágil y se utilizan para guiar
actividades de desarrollo dentro de un proceso de análisis que incorpora las siguientes
actividades estructurales: requerimientos, análisis, diseño, evolución y entrega. También han
demostrado ser eficaces para proyectos con plazos de entrega muy apretados,
requerimientos cambiantes y negocios críticos haciendo uso de un conjunto de patrones de
proceso del software. Cada uno de estos patrones de proceso define un grupo de acciones
de desarrollo:
• Backlog (Lista de historias de usuario): Es una lista priorizada de características o
funcionalidades que deberá tener el producto y las cuales se obtienen de los usuarios
potenciales y demás personas relevantes al producto.
• Sprint (Intervalo): Consiste en unidades de trabajo que se necesitan para alcanzar un
requerimiento definido en el backlog que debe ajustarse al tiempo asignado a cada tarea
(lo común son 30 días). Durante el sprint no se introducen cambios y variará en función
de la complejidad y tamaño del producto.
• Reuniones Scrum: Son reuniones breves de 15 minutos que el equipo Scrum efectúa a
diario. Hay tres preguntas clave que se pide que respondan todos los miembros del
equipo:
• ¿Qué hiciste desde la última reunión del equipo?
• ¿Qué obstáculos estás encontrando?
• ¿Qué planeas hacer mientras llega la siguiente reunión del equipo?
Un líder del equipo, llamado maestro Scrum, dirige la junta y evalúa las respuestas de
cada persona.
Las reuniones Scrum ayudan al equipo a descubrir los problemas potenciales tan pronto
como sea posible. Asimismo, estas juntas diarias llevan a la “socialización del
conocimiento” con lo que se promueve una estructura de equipo con organización propia.
• Demostraciones preliminares: Entregar el incremento de software al cliente de modo
que la funcionalidad que se haya implementado pueda demostrarse al cliente y éste pueda
evaluarla.
2.4.Herramientas del lado del servidor
Power Designer
Power Designer es un software de modelado de datos y una solución de gestión de metadatos
para arquitectura de datos, arquitectura de información y arquitectura empresarial
(Toolpark.de, 2016).
Esta herramienta ayuda a los equipos interfuncionales a visualizar, analizar y manipular
metadatos para un diseño eficaz de la base de datos y la implementación de la arquitectura
de datos. Combina herramientas poderosas para el análisis de impacto, trazabilidad de
requisitos y mapeo de información con técnicas formales de diseño de bases de datos.
Soporta múltiples tipos de modelado para la plena integración de metadatos (SAP SE or an
SAP affiliate company, 2014).
Como herramienta CASE(Computer Aided Software Engineering, Ingenieria de Software
Asistida por Computador) para el modelado de la base de datos se ha seleccionado Sybase
Power Designer, esto se debe a que esta es amigable con el usuario, trabaja con lenguajes
de programación y es adaptable a cualquier Sistema Gestor de Base de Datos (SGBD).
Sistema Gestor de Base de Datos MySQL
Se utilizó MySQL por ser el SGBD más conocido al momento de trabajar con PHP debido a
su alto rendimiento, conectividad, velocidad y seguridad al momento realizar las operaciones
con la base de datos.
MySQL es un sistema de gestión de base de datos relacional, multi-hilo y multiusuario
desarrollado bajo licencia dual GPL/Licencia comercial por Oracle Corporation y es
considerada como la base datos Open Source más popular del mundo. Este sistema gestor
de base de datos incluye capacidades de análisis integradas, servicios de transformación y
duplicación de datos y funciones de programación mejoradas. (Ardizzone & Becker, 2012).
PhpMyAdmin
Como software para la administración de base de datos se escogió PhpMyAdmin debido a
que se encuentra pre-instalado en casi todos los servicios de hosting y permite acceder a
todas las funciones típicas de MySQL por medio de una interfaz web lo que le hace más fácil
e intuitivo de usar.
PhpMyAdmin es una de las aplicaciones más populares para la gestión de bases de datos
MySQL. Es una herramienta gratuita escrita en PHP. A través de este software puede crear,
alterar, eliminar, importar y exportar tablas de base de datos MySQL. Puede ejecutar
consultas MySQL, optimizar, reparar y comprobar tablas, cambiar la intercalación y ejecutar
otros comandos de administración de bases de datos (SiteGround., 2017).
Lenguaje de programación PHP
Para la realización de este proyecto se seleccionó a PHP como lenguaje de programación por
ser ampliamente utilizado para el desarrollo de páginas web dinámicas; además de ser de
código abierto, multiplataforma, versátil, eficiente, de alto rendimiento y por poseer soporte
para POO (Programación Orientada a Objetos), cualquier Sistema Gestor de Base de Datos
y para comunicarse con otros servicios por medio de protocolos.
PHP, acrónimo de "PHP: Hypertext Preprocessor", es un lenguaje de ’scripting’ de propósito
general y de código abierto que está especialmente pensado para el desarrollo web y que
puede ser embebido en páginas HTML. El objetivo principal de este lenguaje es permitir a los
desarrolladores web escribir dinámica y rápidamente páginas web. (PHP Group, 2017).
XAMPP
XAMPP es una distribución de Apache completamente gratuita y fácil de instalar que contiene
MariaDB, PHP y Perl. El paquete de instalación de XAMPP ha sido diseñado para ser fácil de
instalar y usar. ( Apache Friends, 2017).
XAMPP está liberado con una licencia GNU el cual le permite ser distribuido de forma gratuita
y que los desarrolladores puedan hacer uso de esta potente herramienta que permite crear
un servidor Web local y que integra herramientas como MySQL, APACHE y PHP o PERL las
cuales pueden ser usadas de forma independiente en conjunto; las conexiones a base de
datos permiten la interacción de las páginas web y la base de datos haciendo uso de MySql
y es aplicable en cualquier sistema operativo. (Commons, 2015).
Debido a que en el presente proyecto se componen de PHP, MySQL y Apache para su
desarrollo se usó XAMPP, pero en la fase de producción se instaló y se configuro cada
herramienta de forma independiente para garantizar el rendimiento y la seguridad del servidor.
Composer
Composer es el gestor de paquetes utilizado por las aplicaciones PHP modernas, utilizado
para administrar las dependencias en las aplicaciones Symfony2 e instalar componentes en
sus proyectos PHP (Installing Composer, 2017).
La gestión de paquetes o bibliotecas lo hace en función de cada proyecto y los instala dentro
del directorio donde se encuentre el proyecto, todo esto lo realiza por medio de la línea de
comandos (Introduction Composer, 2017).
Framework de desarrollo
El framework de desarrollo utilizado fue Symfony por estar principalmente basado en el patrón
Modelo-Vista-Controlador y también porque aporta con velocidad, flexibilidad y componentes
reutilizables lo que permitirá reducir el tiempo de desarrollo y a su desarrollador enfocarse en
aspectos específicos de la aplicación.
La ventaja de trabajar con Symfony es que facilita el desarrollo de aplicaciones eliminando
las tareas de crear funcionalidades menores y enfocándose en a las tareas que son
necesarias dentro del sistema a ser creado e integrarlas, debido a que programadores
externos pueden agregarle nuevas funcionalidades que dentro de desarrollo podrían ser
utilizadas dentro de nuestro proyecto acorta el tiempo de desarrollo.
Otra ventaja que le permite sobresalir como herramienta de desarrollo es la posibilidad de
trabajar con diferentes gestores de base de datos, como MySQL, PostgresSQL, Oracle y SQL
Server y permitiéndole también trabajar bajo plataforma Windows o Unix, Linux entre otros.
(Symfony, 2017).
2.5. Herramientas del lado del cliente
HTML
HTML significa (Hyper Text Markup Language), es un lenguaje de etiquetado o marcado
estándar, que al ser interpretado por el navegador este muestra el diseño de las interfaces
para la presentación al cliente, lo cual permite personalizar los contenidos y actualizarlos
periódicamente para generar interés en el Sitio web.
La última versión conocida de este lenguaje es HTML5 que incorpora mejoras en las etiquetas
integradas de multimedia que permiten añadir audio y video, aparte de esto se enfoca en la
subdivisión del documento en varias partes para poder desarrollar de forma más
independiente los diferente contenedores y personalizarlo.
Los documentos de HTML son archivos de texto plano, es decir que pueden ser creados
mediante un editor de texto, aunque también tenemos programas que facilitan la creación de
los mismo definiendo toda estructura del documento. (Lapuente, 2013)
Todas las páginas creadas en HTML requieren de un navegador Web para poder desplegarse
y presentar su contenido. Dentro de los más comunes tenemos Google Chrome, Internet
Explorer, Safari, Opera, Mozilla FireFox, entre otros.
Se utilizó HTML porque se integrara con PHP facilitando la presentación de errores y
evaluación en la fase de desarrollo permitiendo corregir fallos del sistema desarrollado.
Hojas de Estilos (CSS)
Las hojas de estilos son documentos que al igual que HTML son interpretados por el
navegador y que su función es delimitar colores y texturas de todo el sitio web permitiéndole
manejar mediante estos documentos la imagen corporativa y respetar diseños especificados
La estructura CSS tiene el siguiente Formato:
Figura 2. Estructura CSS
• El selector: Es el elemento HTML el cual proporciona un formato o estilo concreto por
ejemplo H1, H2, p entre otros.
• Propiedad: Es una de las diferentes características que se puede establecer. Por
ejemplo Height, Weight, Font-Weight, entre otros.
• Valor: Este depende de la propiedad CSS que estemos empleando tendrá un
comportamiento y un estilo. (Roman, 2016)
Se debe definir las características del CSS en la página en la cual se utilizara o en un
documento externo, de estas dos opciones la mejor resulta ser un documento externo que se
anexa dentro de las carpetas que contiene el proyecto. Permite no solo ser usado en una sola
página web sino en múltiples páginas de todo el sitio, de forma que el código sea reutilizable
y se evite la redundancia de líneas de código.
Para que este pueda ser interpretado por el navegador no solo es necesario incluirlo en el
conjunto de carpetas del sitio web sino también insertar una etiqueta que se incluirá en el head
o cabecera del documento HTML usando la sentencia:
La cual indica al sitio web que los estilos de letras, encabezados, dimensiones de un gráfico
o incluso el mismo cuerpo del documento, están contenidos en este documento y antes de
mostrar al usuario primero cambiara el formato y después lo cargara en el navegador.
CSS se utilizó para crear la imagen corporativa de JAVSA S.A. en el sistema de inventarios.
JavaScript (JS)
Es un lenguaje interpretado y ligero con orientación a objetos, el estándar de este es
ECMAScript que desde el año 2012 todos los navegadores soportan la versión 5.1 en los más
antiguos soportan hasta la versión 3. Actualmente utilizamos la versión 6. (Mozilla.org, 2016)
Parte de su funcionamiento permite la validación de formularios pero también se puede hacer
uso de este lenguaje para trabajar con bases de datos locales, optimizar comunicaciones
mediante WebSockets y varios hilos de ejecución dando un potencial más allá de un validador
de formularios.
JavaScript puede ser incluido dentro de la página HTML con el código del sitio pero para
mejorar la reutilización de código se crea un archivo independiente en el proyecto para de
esta forma poder llamarlo en todos los documentos HTML que se necesiten.
Para poderlo referenciarlo y poder llamar en un documento se aplica la siguiente línea de
comando.
La forma de crear las sentencias es mediante el uso de un procesador de texto que al
momento de ser guardado se le añade la extensión js y se lo vincula al documento HTML y
navegador lo ejecutará.
Al ser un lenguaje interpretado tiene gran sensibilidad al tipo de caracteres y variables
utilizadas, es decir que si una variable contiene minúsculas o mayúsculas al ser nombrada no
será igual a otra si se le cambia alguna letra como por ejemplo Juan no es igual a juan debido
a que el cambio de una sola letra implica que son variables diferentes.
En el caso de requerir comentarios lo cual mejora el mantenimiento y resulta ser una buena
práctica, recomienda usar // para cuando es una sola línea y /* bloque de comentarios */ que
evitara que no se mezcle con el código del documento js. (CodexExempla.org, 2012).
Se utilizó como un controlador de validaciones en los formularios del lado del cliente para
evitar errores al almacenar la información.
Tomando en cuenta que no solo permite validar la información se utilizó en la creación de
efectos dinámicos en imágenes.
JQuery
Es una biblioteca multiplataforma de JavaScript empleadas específicamente para simplificar
el desplazamiento de un documento HTML, la animación, la gestión de eventos y las
interacciones Ajax.
Tomando como referencia que JQuery es creado en JavaScript, para poder utilizarlo se
requiere conocimientos básicos de funcionamiento de JavaScript.
Su creación se dio por la necesidad de optimizar y depurar errores frecuentes generados en
líneas de código de JavaScript pero mejorando el tiempo de desarrollo, es así que se crean
librerías independientes de código abierto y libre para su uso. (MIKOLUK, 2013)
En el proyecto se usó JQuery para controlar los formularios, cambiar el menú de las alertas,
que si bien es cierto en la fase de desarrollo primero probamos las sentencias en JavaScript
para poder saber si estaban funcionando y si entregaba los resultados esperados, adicional
se utilizó un plugin llamado JQuery Validation que facilitaba la validación de los formularios,
permitiendo controlar envió de datos incorrectos, campos vacíos, creando alertas
personalizadas y limitar el tipo de caracteres utilizados en un campo, otra característica es
que cuenta con métodos propios, pero también se puede crear métodos especiales que
requiere el sistema, permitiendo en un mismo documento generar todos las reglas que seguirá
que deberá tener el formulario antes de ser almacenado en la base de datos. Al igual que los
documentos js y css estos también tienen que ser incluidos en el documento HTML para poder
ejecutar los métodos y presentar sus resultados en el navegador.
Bootstrap
Bootstrap es un conjunto de librerías HTML, CSS y JavaScript el cual es intuitivo, completo y
mejora el entorno de desarrollo de una manera más fácil y rápida. Este conjunto de librerías
fueron creadas a partir de los desarrolladores de Twitter, Mark Otto y Jacob Thornton.
Para poder hacer uso de Bootstrap se debe descargar las librerías de la Web oficial
http://getbootstrap.com/, una vez descomprimido el paquete se generan las capetas para
poder comenzar a hacer uso, en el caso del presente proyecto estas librerías se encuentran
en un apartado llamado Web. (Point, 2014)
Figura 3. Librerías del Sistema de Inventarios.
En el apartado Web encontraremos las siguientes carpetas en las cuales se encuentra
compilado Bootstrap y para poder usarlo es necesario crear una llamada al recurso en la
cabecera de cada página Web.
Figura 4. Estructura de archivos de Bootstrap
La estructura de Bootstrap se basa en el estándar dado por la W3C por esta razón es una
herramienta que permite mejorar la interfaz entre un sitio web creado únicamente en HTML y
optimizando el tiempo de desarrollo. (Point, 2014).
Se optó por integrar estas librerías en el proyecto considerando que ayuda a tener un front
end más elaborado en menos tiempo, además se adaptan a cualquier navegador permitiendo
rebasar las limitaciones que generan que una aplicación se diseñe para un solo tipo de
navegador sin importar si es un dispositivo móvil o una estación de trabajo convencional, a
esto se lo conoce como Diseño Responsive.
Responsive Web desing o Diseño Web Adaptativo
Es una técnica de diseño web en la que su principal objetivo es diseñar aplicaciones web
adaptables a cualquier dispositivo asegurando funcionalidad.
La gran gama de dispositivos son una limitante al momento de diseñar una aplicación debido
a que al desarrollar deberíamos crear la misma aplicación en diferentes formatos para
adaptarse al tamaño de los equipos, pero con este nuevo paradigma se logra adaptar todo tipo
de aplicaciones o sitios web a cualquier dispositivo simplificando las líneas de código y
evitando la creación en varias versiones.
Bootstrap integra este paradigma como su principal funcionalidad y ayuda como una
herramienta de diseño Front End eficiente y fácil de desarrollar mejorando la calidad de las
aplicaciones o sitios web sin dejar de la adaptabilidad a múltiples dispositivos móviles. El uso
de este modelo de diseño permite a google encontrar a páginas que hagan uso de este diseño
para poderlos mostrar dentro de un ranking en una búsqueda y esto significaría que un sitio
web bien diseñado lograría un buen ranking sobre otras que ofrezcan el mismo servicio o
producto mejorando el tráfico del sitio. (TeamTutorialPoint, 2014)
2.6.Arquitectura del Sistema
La arquitectura del sistema de Inventarios se encuentra detallada en la Figura 5:
(Pillajo Pacheco & Buri Naula, 2018)
Figura 5. Arquitectura del Sistema
2.7.Levantamiento de Requerimientos
Roles Scrum
Como primer paso antes de realizar el levantamiento de los requerimientos se tiene que
definir los roles del equipo Scrum, los cuales se encuentran detallados en la Tabla 1.
Tabla 1. Roles Scrum
Persona encargada Descripción
Dueño del Producto Vanesa Puebla Gerente de JAVSA S.A.
Experto Scrum Ing. Hernán Ordoñez Guía al equipo en el desarrollo del
proyecto
Equipo Scrum Janneth Buri
Diego Pillajo
Encargados de diseñar y desarrollar la
aplicación
Una vez definidos los roles del equipo Scrum se efectuaron varias reuniones con el Dueño del
producto, con la finalidad capturar los requerimientos del sistema, los procesos y usuarios que
intervienen en el sistema.
Los procesos que intervienen en la empresa son los siguientes:
• Compras de materias primas: La empresa lleva un control de los productos a adquirir
en hojas de cálculo de Excel en las que se contemplan datos como nombre, marca,
material para luego hacer el pedido a sus proveedores.
• Pedidos y venta de productos terminados: Los pedidos se realizan a clientes por
vía telefónica por parte de un vendedor. El vendedor es el encargado de guardar en
archivos Excel los datos del cliente y los productos pedidos para luego notificarle a
una persona de producción. Cuando la producción del pedido este totalmente
completa, el usuario de producción notifica al vendedor para proceda a su respectiva
venta.
• Producción: Este proceso se lo realiza en función de los pedidos que ingresan a la
empresa e igual que el anterior se controla en hojas de cálculo de Excel, las cuales
contienen el código, nombre del producto, cantidad pedida.
En el sistema se automatizaran estos procesos y además se incluirán procesos como:
• Gestión de clientes
• Gestión de salida y devolución de productos
• Gestión de empleados
• Gestión de materias primas
• Gestión de productos terminados
Requerimientos del sistema
En la Tabla están especificados los requerimientos del sistema.
Tabla 2. Requerimientos del Sistema
Número Requerimientos
01 Registrar información usuarios
02 Autenticar y autorizar a un usuario para iniciar sesión
03 Editar información de los usuarios
04 Cambiar la Contraseña del Usuario
05 Visualizar usuarios registrados
Número Requerimientos
06 Registrar información de productos de materia prima
07 Editar información de un producto Materia Prima
08 Visualizar la cantidad de productos de materia prima
09 Registrar información de productos terminados
10 Editar información de producto terminado
11 Visualizar la cantidad de productos terminados
12 Registrar nota de pedido de productos terminados
13 Editar nota de pedido de productos terminados
14 Cancelar una nota de pedido de productos terminados
15 Necesito verificar las notas de pedido entrantes a producción
16 Registrar nota de pedido de materias primas
17 Editar nota de pedido de materias primas
18 Cancelar una nota de pedido de materias primas
19 Visualizar las notas de pedido de materias primas entrantes
20 Registrar nota de salida de productos terminados
21 Registrar nota de salida de materias primas
22 Registrar devolución de productos terminados
23 Registrar devolución de materias primas
24 Visualizar alerta de disponibilidad baja de productos de materias primas
25 Visualizar alerta de disponibilidad Baja de productos de terminados
26 Publicitar los productos en un Catálogo en Línea
Usuarios del sistema
Las personas que usaran de la aplicación están definidos en la Tabla 3.
Tabla 3. Usuarios del Sistema
Tipo Área Descripción
Administrador Administración Persona encargada de la administraciónde toda la aplicación y registro deusuarios.
Bodeguero Bodega Persona encargada del registro y controlde productos terminados y materiasprimas.
Producción Producción Persona encargada del registro de notasde pedido hacia materia prima.
Vendedor Ventas Persona encargada de registrar clientes ynotas de pedido de productos terminados.
Historias de usuario técnicas
Una vez enunciadas los requerimientos y los usuarios involucrados se elaboran las historias
de usuario técnicas, las cuales permitirán determinar las historias más relevantes en el
desarrollo del proyecto. A continuación en la Tabla 4 y Tabla 5 se muestra las dos primeras
historias de usuario.
Las historias restantes se adjuntan en el ANEXO A: Historias de usuario técnicas.
Tabla 4 Historia de Usuario Técnica 0
Historia de UsuarioNumero: 0 Usuario: Equipo Scrum
Prioridad en negocio (Alta/Media/Baja): Alta Riesgo en desarrollo (Alta/Media/Baja):Alta
Puntos Estimados: 3 Iteración Asignada (SPRINT): 0
Responsable:Janneth BuriDiego PillajoDescripción:Yo como desarrollador necesito definir la arquitectura del sistema con el objetivo detener un solo patrón de desarrollo.Yo como desarrollador necesito modelar los datos de la empresa con la finalidad demanejar los datos de forma ordenada y eficiente.Yo como desarrollador necesito crear la base de datos con el objetivo de inicial eldesarrollo del sistema.Requerimientos de Software:Diseñar la arquitectura del sistema.Modelar y crear la base de datos.
Tabla 5 Historia de Usuario Técnica 1
Historia de UsuarioNumero: 1 Usuario: Administrador
Prioridad en negocio (Alta/Media/Baja): Alta Riesgo en desarrollo (Alta/Media/Baja): Alta
Puntos Estimados: 3 Iteración Asignada (SPRINT): 1
Responsable:Janneth BuriDiego PillajoDescripción:Yo como administrador necesito registrar un usuario para limitar el ingreso a lasdiferentes áreas del Sistema.
Requerimientos de Software:Diseñar un formulario que permita guardar los datos del usuario y que sea compatiblecon todos los navegadores Web.
Criterio de Aceptación
Criterio Evento Resultado
El administrador necesitaguardar en el sistema losdatos personales comoNombre de Usuario, Cédula,Nombre, Apellido, Email,Dirección, teléfono,Contraseña, rol, el estado dela cuenta de usuario, Fechade Creación y modificación.Todos estos campos sonobligatorios.
Presionar botón guardar Usuario registrado en labase de datos.
El sistema verifica quetodos los campos de unnuevo usuario no esténduplicados.
Presionar Botón guardar Registra en la base dedatos.
Pro
duct B
acklo
g(L
ista
de h
isto
rias d
e u
suari
o)
Tabla
6Lis
ta d
e H
isto
rias d
e u
suario
Identif
icador
(ID
) de la
His
toria
Enunci
ado d
e la
His
toria
Alia
sE
stado
Esf
uerz
oIt
eraci
ón
(Sprint)
H001
Com
o a
dmin
istr
ador
, nec
esi
to r
egis
trar
un
usu
ario,
par
a li
mita
r el i
ng
reso
a la
sdife
rente
s áre
as d
el s
iste
ma.
Reg
istr
ar
cuenta
s de
usu
ario
Hech
o3
Prim
er
H002
Com
o u
suar
io,
nec
esi
to in
icia
r se
sión e
n el
Sis
tem
a p
ara
poder
cum
plir
con la
s ta
reas
asi
gnadas.
Ing
reso
al S
iste
ma
Hech
o3
Prim
er
H003
Com
o a
dmin
istr
ador
, nec
esi
to e
dita
r lo
s dato
sde u
n u
suar
io, para
poder
def
inir
su p
erf
il.E
dita
r usu
ario
Hech
o3
Prim
er
H004
Com
o a
dmin
istr
ador
, nec
esi
to c
ambia
r la
contr
ase
ña
un
usu
ario
especí
fico,
con
el
obje
tivo d
e r
ecu
pera
r una
contr
ase
ña
olv
idada.
Cam
bia
r co
ntra
seña d
el
usu
ario
Hech
o3
Prim
er
H005
Com
o a
dmin
istr
ador
, nec
esi
to o
btener
una
lista
de u
suar
ios,
con e
l obje
tivo
de tener
un
contr
ol d
e to
dos
los
usu
ario
s del s
iste
ma.
Lis
tar
usuarios
Hech
o2
Prim
er
H006
Com
o b
odeg
uer
o, nece
sito
reg
istr
ar
el
pro
duct
o de m
ateria p
rim
a,
con
el o
bjetiv
o d
eco
ntr
ola
r la
s exi
stenci
as
en b
odeg
a.
Reg
istr
ar
pro
duct
o d
em
ate
ria p
rima
Hech
o3
Seg
undo
H007
Com
o b
odeg
uer
o, nece
sito
edita
r un p
roduct
ode m
ateria
prim
a,co
n el o
bje
tivo d
e a
ctualiz
ar
la in
form
ació
n d
e m
ateria
s prim
as.
Edita
r pr
oduct
o de
mate
ria p
rima
Hech
o2
Seg
undo
H008
Com
o b
odeg
uer
o, nece
sito
vis
ualiz
ar
laca
ntid
ad d
epro
duct
os
de m
ateria p
rim
a, c
on
el o
bje
tivo d
e v
erif
icar
sus
exi
stenci
as.
Vis
ualiz
ar
la c
antid
ad d
epro
duct
os
de m
ateria
prim
a
Hech
o2
Seg
undo
H009
Com
o b
odeg
uer
o, nece
sito
re
gis
trar
un
pro
duct
o te
rmin
ado,
con
el o
bje
tivo d
eR
eg
istr
ar
pro
duct
o d
epro
duct
os
term
inados
Hech
o3
Terc
er
Identif
icador
(ID
) de la
His
toria
Enunci
ado d
e la
His
toria
Alia
sE
stado
Esf
uerz
oIt
eraci
ón
(Sprint)
conta
bili
zar
y cl
asi
ficar
los
pro
duct
os
para
su
venta
.
H010
Com
o b
odeg
uer
o, nece
sito
edita
r un p
roduct
ote
rmin
ado, co
n e
l obj
etiv
o d
e tener
act
ualiz
ada la
info
rmaci
ón d
e b
odeg
a.
Edita
r un
pro
duct
o d
epro
duct
os
term
inados
Hech
o2
Terc
er
H011
Com
o b
odeg
uer
o, nece
sito
vis
ualiz
ar
laca
ntid
ad d
e p
roduct
os
term
inados,
con
el
obje
tivo d
e v
erif
icar
sus
exi
stenci
as.
Vis
ualiz
ar
la c
antid
ad d
epro
duct
os
term
inados
Hech
o2
Terc
er
H012
Com
o u
suar
io d
e p
roducc
ión,
nece
sito
saber
laca
ntid
ad d
e pro
duct
os
term
inados,
con
el
obje
tivo d
e e
vita
r la
sobre
pro
ducc
ión.
Vis
ualiz
ar
la c
antid
ad d
epro
duct
os
term
inados
Hech
o2
Cuart
oH
013
Com
o u
suar
io d
e v
enta
s,nece
sito
poder
reg
istr
ar u
na
nota
de
ped
ido d
e p
roduct
os
term
inados,
con e
l obje
tivo
de r
eci
bir d
epro
ducc
ión lo
s pr
oduct
os
para
su v
enta
.
Reg
istr
ar
nota
de
pedid
o d
e p
roduct
os
term
inados
Hech
o3
Cuart
oH
014
Com
o u
suar
io d
e v
enta
s,
nece
sito
poder
edita
r una
nota
de p
edid
o d
e p
roduct
oste
rmin
ados,
con e
l obje
tivo d
e a
ctualiz
ar
oelim
inar
alg
ún
pro
duc
to d
e la
nota
de p
edid
o.
Edita
r not
a d
e pedid
o d
epro
duct
os
term
inados
Hech
o2
Cuart
oH
015
Com
o u
suar
io d
e v
enta
s, n
ece
sito
poder
cance
lar
una
nota
de p
edid
o d
e p
roduct
os
term
inados,
con e
l obje
tivo d
e e
vita
r so
bre
pro
ducc
ión.
Cance
lar
una n
ota d
epedid
o d
e p
roduct
os
term
inados
Hech
o2
Cuart
oH
016
Com
o u
suar
io d
e p
roducc
ión,
nece
sito
poder
visu
aliz
ar
las
nota
s de
pedid
o e
ntr
ant
es,
con
el o
bje
tivo d
e p
oner
en
marc
ha
la p
roducc
ión.
Vis
ualiz
ar
las
nota
s de
pedid
o
entr
ante
s a
pro
ducc
ión
Hech
o2
Cuart
oH
017
Com
o u
suar
io d
e p
roducc
ión,
nece
sito
poder
reg
istr
ar u
na
nota
de
ped
ido d
e m
aterias
prim
as,
con
el o
bjetiv
o d
e t
ener
lo n
ece
sario
para
pro
ducc
ión.
Reg
istr
ar
nota
de
pedid
o d
em
aterias
prim
as
Hech
o3
Quin
to
Identif
icador
(ID
) de la
His
toria
Enunci
ado d
e la
His
toria
Alia
sE
stado
Esf
uerz
oIt
eraci
ón
(Sprint)
H018
Com
o u
suar
io d
e P
roducc
ión
nece
sito
poder
edita
r una
nota
de p
edid
o d
e m
ate
rias
prim
as,
con e
l obj
etiv
o d
e a
ctualiz
ar
la n
ota
de
pedid
o.
Edita
r n
ota
de p
edid
ode m
aterias
prim
asH
ech
o2
Quin
toH
019
Com
o u
suar
io d
eP
roducc
ión,
nece
sito
poder
cance
lar
una
nota
de p
edid
o d
e m
aterias
prim
as,
con
el o
bjetiv
o d
e e
vita
r desp
erdic
iode m
aterias
prim
as.
Cance
lar
una n
ota d
epedid
o d
e p
roduct
os
term
inados
Hech
o2
Quin
toH
020
Com
o b
odeg
uer
o, nece
sito
vi
sualiz
ar
la n
ota
de p
edid
o d
e m
ateria p
rim
a, co
n e
l obje
tivo
de e
vita
r la
sobr
e p
roducc
ión.
Vis
ualiz
ar
la n
ota
de
pedid
o d
e m
ateria
prim
aH
ech
o2
Quin
toH
021
Com
o b
odeg
uer
o, nece
sito
vis
ualiz
ar
la n
ota
de p
edid
o d
e p
roduct
os
term
inados
con e
lobje
tivo d
e e
ntre
gar
un
pedid
o,
evi
tando u
na
nueva
pro
ducc
ión.
Vis
ualiz
ar
la n
ota
de
pedid
o d
e p
roduct
os
term
inados
Hech
o2
Quin
toH
022
Com
o b
odeg
uer
o, nece
sito
reg
istr
ar
la n
ota
de s
alid
a d
e p
roduct
os te
rmin
ados
con e
lobje
tivo d
e e
ntre
gar
un
pedid
o a
l clie
nte
.
Reg
istr
ar
la n
ota
de
salid
a d
e p
roduct
os
term
inados
Hech
o3
Sext
oH
023
Com
o b
odeg
uer
o, nece
sito
reg
istr
ar
la n
ota
de s
alid
a d
e m
ate
ria p
rima, co
n e
l obje
tivo d
eentr
egar
un
pedid
o p
ara
su p
roducc
ión.
Reg
istr
ar
la n
ota
de
salid
a d
e m
ateria p
rim
aH
ech
o3
Sext
oH
024
Com
o u
suar
io d
e v
enta
s, n
ece
sito
reg
istr
ar
una
devo
luci
ón
de p
roduc
tos
term
inados,
con
el o
bje
tivo d
e tener
un
his
tórico
Para
fin
aliz
ar
est
e s
prin
t se
valid
ó e
l fun
cionam
iento
de
todas
las
his
torias
de u
suario ju
nto a
l dueño
del p
roduct
o. L
as
inte
rfac
es
finale
s de
cada
his
toria s
e pre
sent
an
a c
ontin
uaci
ón:
con
motiv
o-f
ech
a y
act
ualiz
ar
el S
tock
de
pro
duct
os.
Reg
istr
ar
devo
luci
ón
de
pro
duct
os
term
inados
Hech
o3
Sext
oH
025
Com
o u
suar
io d
eP
roducc
ión,
nece
sito
reg
istr
ar u
na
devo
luci
ón
de m
ateria p
rim
a,co
n e
l obj
etiv
o d
e tener
un
his
tórico
con
Reg
istr
ar
devo
luci
ón
de
mate
rias
prim
as
Hech
o3
Sext
o
Identif
icador
(ID
) de la
His
toria
Enunci
ado d
e la
His
toria
Alia
sE
stado
Esf
uerz
oIt
eraci
ón
(Sprint)
motiv
o-f
ech
a y
act
ualiz
ar
el S
tock
de
mat
erias
prim
as.
H026
Com
o b
odeg
uer
o, nece
sito
ale
rtas
en
caso
de d
isponib
ilidad b
aja
de
pro
duct
os
de
mate
rias
prim
as,
con
el o
bje
tivo d
e c
umplir
con la
s not
as
de
pedid
oentr
ant
es.
Dis
ponib
ilidad b
aja
de
pro
duct
os
de m
aterias
prim
as
Hech
o1
Septim
oH
027
Com
o u
suar
io d
e p
roducc
ión,
nece
sito
ale
rtas
en c
aso
de
dis
ponib
ilida
d b
aja
de p
roduct
os
de p
roduct
os
term
inados,
con
el o
bjetiv
o d
ecu
mplir
con
las
not
as
de
pedid
oentr
ant
es.
Dis
ponib
ilidad b
aja
de
pro
duct
os
de p
roduct
os
term
inados
Hech
o1
Septim
oH
028
Com
o u
suar
io e
xtern
o, n
ece
sito
vis
ualiz
ar
los
pro
duct
os
de la
em
presa
, co
n el o
bjetiv
o d
ere
aliz
ar
un p
edid
o.
Vis
ualiz
ar
los
pro
duct
os
de la
em
presa
Hech
o3
Septim
o
El esquema de la base de datos se encuentra en el ANEXO B: Estructura de la Base de datos
3. RESULTADOS Y DISCUSIÓN
3.1.Planificación de Sprints
Para definir los Sprints que conformaran el desarrollo del sistema, se tomó en cuenta elesfuerzo y la prioridad de cada una de las historias. Por esta razón se definió 7 Sprints conuna duración promedio de 14 días, excepto el Sprint 0 que tuvo una duración de 20 días.
En el Sprint 0 éxito retrasos al momento de realizar la entrevista para el análisis derequerimientos, porque la empresa en ese momento se encontraba con una orden deproducción extensa y dificulto las reuniones.
3.2.Sprint 0
Planificación
El sprint 0 tiene una duración de 20 días comenzando el 11 septiembre de 2017 hasta el 6 deoctubre de 2017. En este sprint se definió la arquitectura de desarrollo, el diseño y creación debase de datos en conjunto con el equipo Scrum.
Las tareas para el Sprint 0 son:
• Análisis de requerimientos del sistema proporcionado por el Product Owner (Dueñodel Producto) conjuntamente con el equipo Scrum.
• Selección y definición de la arquitectura de desarrollo del sistema.• Diseñar el modelo conceptual de la base de datos en base a los requerimientos del
Product Owner (Dueño del Producto).• Generar el script de la base de datos en base al modelo conceptual.• Implementar el script de la base en el SGBD-MySQL.• Crear el Product Backlog (Lista de tareas) en base al análisis de requerimientos y al
nivel de importancia dentro de la fase de desarrollo.• Selección de las herramientas de desarrollo y el Sistema Gestor de Base de Datos
aplicables para el proyecto.
3.3.Sprint 1
Planificación
El Sprint 1 tiene una duración de 14 días comenzando el 10 de octubre de 2017 y finalizandoel 27 de octubre de 2017. Se consideró 4 horas de trabajo diario por parte del equipo Scrum.
Las tareas a realizarse en este Sprint se especifican en la Tabla 7:
Tabla 7 Tareas Sprint 1
ID Backlog
PILA DEL SPRINT
Historia de Usuario Tarea
H001 Registro de usuarios
Definir Tipos y Estados de Usuarios del Sistema
Diseñar Interfaz de Registro de usuarios
Crear la interfaz de registros de Usuario
Ingresar Datos de un Usuario
Validar que los campos no sean nulos y que cumplancon el formato específico.
Guardar datos en la Base de Datos
H002 Inicio de Sesión
Diseño de Interfaz de Login
Crear interfaz del Login
Validar campos nulos y campos requeridosIngresar al sistema
H003 Editar Usuarios
Diseñar interfaz para Editar Usuario
Crear Interfaz para Editar Usuario
Traer los datos definidos en la base de datos
Ingresar datos a modificar en el formulario
Validar campos nulos y campos requeridos
Guardar datos en la Base de Datos
H004Cambiar Contraseña
del Usuario
Diseño de Interfaz de Cambio de Contraseña
Crear la interfaz de Cambio de ContraseñaTraer campo contraseña definido e ingresar la nuevacontraseña
Actualizar Contraseña en la base de datos
H005 Listar UsuariosDiseñar interfaz de Visualización de Usuarios
Crear Interfaz de Visualización de Usuarios
Scrum Daily Meeting
Descripción de las tareas realizadas en el Sprint
En la Tabla 8 se muestra las tareas realizadas por el equipo Scrum:
Tabla
8T
are
as r
ealiz
ada
s S
print 1
SP
RIN
TIN
ICIO
DU
RA
CIÓ
N(d
ías)
11
0-o
ct.-
16
14
pla
nni
ng
inic
iofin
Día
MX
JV
LM
XJ
VL
MX
JV
Fech
a
10-oct.
11-oct.
12-oct.
13-oct.
16-oct.
17-oct.
18-oct.
19-oct.
20-oct.
23-oct.
24-oct.
25-oct.
26-oct.
27-oct.
Tar
eas
pend
ient
es22
2220
2018
1817
1514
1210
76
1
Hor
as p
endi
ente
s15
315
313
512
910
710
793
7472
6042
2621
5
IDB
acklo
g
PIL
A D
EL S
PR
INT
Esta
do
Responsable
Hora
sP
royecta
das
ES
FU
ER
ZO
(tie
mpo p
royecta
do
-hora
s q
ue s
e r
ealiza
a d
iari
o)
His
t. d
eU
suari
oTare
a
H001
regis
tro d
eusu
arios
Defin
ir T
ipos
y E
stados
de
Usu
arios
del
Sis
tem
a
Term
inada
Die
go
44
Dis
eñar
Inte
rfa
z d
eR
egis
tro d
eusu
arios
Term
inada
Die
go
88
Cre
ar
lain
terf
az
de
regis
tros
de
Usu
ario
Term
inada
Janneth
18
18
12
6
Ingre
sar
Dato
s d
e u
nU
suario
Term
inada
Die
go
44
44
Valid
ar
qu
elo
s ca
mpos
no s
ea
nnulo
s y
que
cum
pla
n c
on
el f
orm
ato
esp
ecí
fico.
Term
inada
Janneth
24
24
24
24
12
12
Guard
ar
dato
s e
n la
Base
de
Dato
s
Term
inada
Janneth
66
66
66
6
H002
Inic
io d
eS
esi
ón
Dis
eño
de
Inte
rfa
z d
eLog
inT
erm
inada
Die
go
22
22
22
2
Cre
ar
inte
rfa
z de
lLog
inT
erm
inada
Janneth
66
66
66
42
Valid
ar
cam
pos
nulo
s y
cam
pos
requeri
dos
Term
inada
Janneth
18
18
18
18
18
18
18
99
Ingre
sar
al
sist
em
aT
erm
inada
Die
go
33
33
33
33
3
H003
Edita
rU
suarios
Dis
eñar
inte
rfa
z para
Edita
rU
suario
Term
inada
Die
go
22
22
22
22
22
Cre
ar
Inte
rfa
z p
ara
Edita
rU
suario
Term
inada
Janneth
12
12
12
12
12
12
12
12
12
12
Tra
er
los
dato
sdefin
idos
en
la b
ase
de
dato
s
Term
inada
Janneth
44
44
44
44
44
4
Ingre
sar
dato
s a
modifi
car
en
el f
orm
ula
rio
Term
inada
Die
go
44
44
44
44
44
4
Valid
ar
cam
pos
nulo
s y
cam
pos
requeri
dos
Term
inada
Die
go
12
12
12
12
12
12
12
12
12
12
82a
Guard
ar
dato
s e
n la
Base
de
Dato
s
Term
inada
Janneth
55
55
55
55
55
55
1r
H004
Cam
bia
rC
ontr
ase
ña
del U
suari
o
Dis
eño
de
Inte
rfa
z d
eC
am
bio
de
Contr
ase
ña
Term
inada
Die
go
22
22
22
22
22
22
2
Cre
ar
lain
terf
az
de
Cam
bio
de
Contr
ase
ña
Term
inada
Janneth
66
66
66
66
66
66
6
Tra
er
cam
po
contr
ase
ña
defin
ido e
ingre
sar
lanue
vaco
ntr
ase
ña
Term
inada
Janneth
44
44
44
44
44
44
4
Act
ua
lizar
Contr
ase
ña
en la
base
de d
ato
s
Term
inada
Die
go
22
22
22
22
22
22
22r
H005
Lis
tar
Usu
arios
Dis
eñar
inte
rfa
z de
Vis
ua
lizaci
ón
de U
suari
os
Term
inada
Die
go
22
22
22
22
22
22
21r
Cre
ar
Inte
rfa
z d
eV
isua
lizaci
ón
de U
suari
os
Term
inada
Janneth
55
55
55
55
55
55
55
Sprint Review
Para finalizar este Sprint se validó el funcionamiento de todas las historias de usuario junto al
dueño del producto. Las interfaces finales de cada historia se presentan a continuación:
Registro de Usuarios
Figura 6 Interfaz Registro de usuarios
Login
Figura 7Interfaz de Inicio de Sesión
Visualizar Usuarios
Figura 8 Interfaz Visualizar Usuarios
Editar Usuarios
Figura 9 Interfaz Editar Usuarios
Sprint Retrospective
Basándose en la Figura 10 se puede evidenciar que se generaron problemas en el
almacenamiento de datos debido a que se necesitó más horas de las estimadas para terminar
esa tarea.
También existió un retraso en almacenamiento de contraseñas nuevas debido a que se optó
por mejorar la seguridad no únicamente almacenando las contraseñas sino también
encriptándolas lo cual llevo un poco más de tiempo al momento de realizar la tarea.
Figura 10 Gráfica de esfuerzo Sprint 1
3.4.Sprint 2
Planificación
El Sprint 2 tiene una duración de 14 días comenzando el 30 de octubre de 2017 y finalizandoel 16 de noviembre de 2017.
Las tareas a realizarse en este Sprint se especifican en la Tabla 9:
Tabla 9. Tareas Sprint 2
IDBacklog
PILA DEL SPRINT
Hist. de Usuario Tarea
H007Registrar productosmateria prima
Diseñar Interfaz de Registro de materiaprimaCrear la interfaz de registros de MateriaPrima
Ingresar Datos de Materia Prima
Validar que los campos no sean nulos yque cumplan con el formato específico.
Guardar datos en la Base de Datos
H008Editar Producto MateriaPrima
Diseñar interfaz para Editar producto demateria primaCrear Interfaz para Editar producto demateria primaTraer los datos definidos en la base dedatos
Ingresar datos a modificar en el formulario
Validar campos nulos y campos requeridos
Guardar datos en la Base de Datos
H009Visualizar la cantidadde productos demateria prima
Diseñar interfaz de Visualización deproductos de materia primaCrear Interfaz de Visualización deproductos de materia prima
Scrum Daily Meeting
Descripción de las tareas realizadas en el Sprint
En la se muestra las tareas realizadas por el equipo Scrum:
Tabla
10.
Tare
as r
ealiz
adas S
print 2
SP
RIN
TIN
ICIO
DU
RA
CIÓ
N(d
ías)
228
-oct
.-16
14pl
anni
ngin
icio
fin
Día
LM
XJ
VL
MX
JV
LM
XJ
Fec
ha
30-oct.
31-oct.
1-nov.
2-nov.
3-nov.
6-nov.
7-nov.
8-nov.
9-nov.
10-nov.
13-nov.
14-nov.
15-nov.
16-nov.
Tar
eas
pend
ient
es13
1312
108
88
66
53
33
2
Hor
as p
endi
ente
s79
7971
6153
4945
3733
2719
1511
7
IDB
acklo
g
PIL
A D
EL S
PR
INT
Esta
do
Responsable
Hora
sP
royecta
das
ES
FU
ER
ZO
(tie
mpo p
royecta
do
-hora
s q
ue s
e r
ealiza a
dia
rio)
His
t. d
eU
suari
oTare
a
H00
7
Reg
istr
arpr
oduc
tos
mat
eria
prim
a
Dis
eñar
Int
erfa
zde
Reg
istr
o de
mat
eria
prim
aT
erm
inad
aD
iego
44
Cre
ar la
inte
rfaz
de r
egis
tros
de
Mat
eria
Prim
aT
erm
inad
aJa
nnet
h12
128
4
Ingr
esar
Dat
osde
Mat
eria
Prim
aT
erm
inad
aD
iego
44
44
Val
idar
que
los
cam
pos
no s
ean
nulo
s y
que
cum
plan
con
el
form
ato
espe
cífic
o.
Ter
min
ada
Jann
eth
1212
1212
128
4
Gua
rdar
dat
osen
la B
ase
deD
atos
Ter
min
ada
Die
go4
44
44
44
H00
8
Edi
tar
Pro
duct
oM
ater
iaP
rima
Dis
eñar
inte
rfaz
para
Edi
tar
prod
ucto
de
mat
eria
prim
a
Ter
min
ada
Die
go4
44
Cre
ar I
nter
faz
para
Edi
tar
prod
ucto
de
mat
eria
prim
a
Ter
min
ada
Jann
eth
88
88
88
88
42a
Tra
er lo
s da
tos
defin
idos
en
laba
se d
e da
tos
Ter
min
ada
Jann
eth
66
66
66
66
64
Ingr
esar
dat
os a
mod
ifica
r en
el
form
ular
ioT
erm
inad
aD
iego
44
44
44
44
44
Val
idar
cam
pos
nulo
s y
cam
pos
requ
erid
osT
erm
inad
aD
iego
1212
1212
1212
1212
1212
128
4
Gua
rdar
dat
osen
la B
ase
deD
atos
Ter
min
ada
Jann
eth
44
44
44
44
44
44
44
H00
9
Vis
ualiz
ar la
cant
idad
de
prod
ucto
sde
mat
eria
prim
a
Dis
eñar
inte
rfaz
de V
isua
lizac
ión
de p
rodu
ctos
de
mat
eria
prim
a
Ter
min
ada
Die
go2
22
Cre
ar I
nter
faz
de V
isua
lizac
ión
de p
rodu
ctos
de
mat
eria
prim
a
Ter
min
ada
Jann
eth
33
33
33
33
33
33
33
Sprint Review
Para finalizar este Sprint se validó el funcionamiento de todas las historias de usuario junto al
dueño del producto. Las interfaces finales de cada historia se presentan a continuación:
Registrar productos de materia prima
Figura 11. Interfaz Registro producto de Materia Prima
Editar producto de materia prima
Figura 12. Interfaz Editar producto de Materia Prima
Visualizar materias primas
Figura 13. Visualizar materias primas
Sprint Retrospective
El desarrollo del Sprint 2 se cumplió en el tiempo establecido como se muestra en la Figura
14. Por tanto, la Gráfica de esfuerzo se encuentra dentro de los límites normales sin ningún
retraso. En este Sprint se logró concluir algunas tareas antes del tiempo estimado lo cual
genero horas de adelanto para completar otras actividades y evitar retrasos futuros.
Figura 14. Gráfica de esfuerzo Sprint 2
3.5.Sprint 3
Planificación
El Sprint 3 tiene una duración de 11 días comenzando el 17 de noviembre de 2017 y finalizando
el 1 de diciembre de 2017. Las tareas de este Sprint se esp