• No se han encontrado resultados

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

N/A
N/A
Protected

Academic year: 2020

Share "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"

Copied!
139
0
0

Texto completo

(1)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]. Quito, Mayo 2018.

(2) 77. DECLARACIÓN. Nosotros, Janneth Estefanía Buri Naula y Diego Francisco Pillajo Pacheco declaramos bajo juramento que el trabajo aquí descrito es de nuestra autoría; que no ha sido previamente presentada para ningún grado o calificación profesional; y, que hemos consultado las referencias bibliográficas que se incluyen en este documento.. A través de la presente declaración cedemos nuestros derechos de propiedad intelectual correspondientes a este trabajo, a la Escuela Politécnica Nacional, según lo establecido por la Ley de Propiedad Intelectual, por su Reglamento y por la normatividad institucional vigente.. Janneth Estefanía Buri Naula. Diego Francisco Pillajo Pacheco.

(3) 777. CERTIFICACIÓN. Certificamos que el presente trabajo fue desarrollado por Buri Naula Janneth Estefanía y Pillajo Pacheco Diego Francisco, bajo nuestra supervisión.. Ing. Hernán Ordoñez Calero DIRECTOR DE PROYECTO. Ing. Cesar Gallardo Carrera CODIRECTOR DE PROYECTO.

(4) 7D. AGRADECIMIENTOS  +#$( %'")''#'#)(/")$( %'$!(*'.$ -!'$"%#( #$ ( %*'# '!.' ( #$ *#)($# %'($#( &*()1#(%*()( %$-')(%$' ($&*&*'$''#%'"'!*'$(%$'%'")'" ()'#()"$"#)$ *!"##$*#!$'$"/(#"+%'$($#! ""'. !#-( %$'('"%$-$. #$#$#!&*#(#"%$')'(+$-*!)"$$%'"'$("%' ()/ 2*#$ "/( ! #()$ "%' (' %$'  '#'" (* "$' (* $#$"#)$ # "( %'"'$(%($( # !%'$'"6#-#(4'"!*'("%'%$'"( (*4$(" #$+  &*#("$"%!"#)$#() +-&*($#+')6#(%!' !#)$ %$-$ - $##. '%)1#$" &*#$2 '#*#' *#-)-&*#( &* %$' +*!)( ! "#$ ( $#+')'$# # ( (%  #(%'6#  ! #$'"/)-&*($#%')"%$')#)"($#$"#)$(  '!$( &*#$#('$ "'"#$""$ &*"-*6 $#!$( $#$"#)$(/($( %'%$'*!"#' "''')"1#( $%$')*#$'' ##)"$"%4'%'$-)$%$' (* "() - #)' %' &* () ") ( - %$$ *"%!'  ! #$  !$( ##'$( '#/#'$4.-(' !!'$&*#(%*('$#(*($#$"#)$(-(* ,%'#+$' !%'(#)%'$-)$ '()$$(-*#$*()(%$'(' %')())'*#$&*(#*()'$%$'&*(#!-*-%$-$*()(#$*' (%$(! $  !! $.

(5) D. AGRADECIMIENTOS #%'"'!*' '.$"(%'( "*'-'*!%$'*'"# %($$%$'(*($#( $(%$'#(4'"('%'(+'#)-'(%$#(!#)$$!$&* "%'$%$#-($')$$#*##$#'"(!( "'"#$!#%$'!(%!'( /#"$#)$(!(#$((+!$-()' ("%'$#"$*#$"/(!#()$  " )2$ /# %$' #*!'" ( %&*4 ! "$'  ! #$'"/) - %$' !( #(4#.()#)$%'($#!($"$%'$($#!( !(*!$!)1#$#!# (%!!(*! $'"6##6!$$( %$'$'"#(*(*!(*'#))$"'''*#+'()' !$($#)(!(*! $'"6##6!$$(%$'$"%')'(*($#$"#)$( -,%'##)'$(*($'(!(( "$"%4'$$!! $%$'$"%4'"--*'"#!'!.6##*()'$ )' $))*!6# "')$')(( # '#/#'$4.-"$')$' #1(' !!'$%$')$ !-*#!(''$!!$())' $))*!6# $$'%%$')$$((*($#( $(-)$!-*%'()#!$(7!)"$()!!( ())' $))*!6# )$$("("$(-"(%$'!$("$"#)$(-,%'#($"%')(($#'*'$( &*!$(!!+'1%$'("%'. ##)  *'.

(6) D7. DEDICATORIA '%$'!#.'()"$"#)$**#'*$"#$-(%$'($&*&*'$' ! %'(#) %'$-)$  ))*!6#  "( %'( &*#( !!#'$#  !'2 "$' +!$'( - (* %$-$ #$#$#! *'#)() () )"%$ %' %$' *!"#' " ''' "*!)'2#$!!#)(!''2#&*"#(4$(#4$!+!$' !'*$)' $'!($((%$'"$'-("%'(''$$#&*#( )"#'(%$' '""*$('*'$(-&*($#)#*#)'(-" ()1("'#$&*'$&*(%(&*$-%**"%!'$#"(*4$-%**"%!'" %'$"(&*)#)()*%')'-&*2)7*()" "%!$%'(*' !#) "()2(!-'&*("%'#()$!%##)"2-&* "# "$()'$&*!()##$!")!"$'#!"%$')#!(%'($#(&* ""$(  " "! &*  *# * $)' "#' # %$')$ $# *# $#( $ %' %$' !#.'()(*4$")*!6# $  !! $.

(7) D77. DEDICATORIA. ! %'(#) )' $  ))*!6# ()/ $ # %'"' !*'  $( %$' %'")'"$#!*'"'''%'$($#! "(%'( "*'-'*!%$'(*#$#$#!%$-$"$'!$#6"$%$'(*(*'.$%''"*#'''%' "*)*'$%'$($#! -%$'#(4'"&*##()+(/!&*)$$($)#$#!)' $ *'$-!('$*#$"("$ '("$(%'(%$'('"#(%'6#2 ##)  *'.

(8) D777. 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. 2.. Alcance ......................................................................................................................... 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.

(9) 7F. 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.

(10) F. 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.

(11) F7. INDICE DE FIGURAS Figura 1. Funcionamiento MVC ...................................................................................................4 Figura 2. Estructura CSS............................................................................................................. 9 Figura 3. Librerías del Sistema de Inventarios........................................................................... 12 Figura 4. Estructura de archivos de Bootstrap........................................................................... 12 Figura 5. Arquitectura del Sistema ............................................................................................ 14 Figura 6 Interfaz Registro de usuarios....................................................................................... 28 Figura 7Interfaz de Inicio de Sesión .......................................................................................... 29 Figura 8 Interfaz Visualizar Usuarios ......................................................................................... 29 Figura 9 Interfaz Editar Usuarios ............................................................................................... 30 Figura 10 Gráfica de esfuerzo Sprint 1 ...................................................................................... 31 Figura 11. Interfaz Registro producto de Materia Prima............................................................. 35 Figura 12. Interfaz Editar producto de Materia Prima ................................................................ 35 Figura 13. Visualizar materias primas........................................................................................ 36 Figura 14. Gráfica de esfuerzo Sprint 2 ..................................................................................... 36 Figura 15 Interfaz Registro de Productos Terminados............................................................... 40 Figura 16 Interfaz Editar Producto Terminado ........................................................................... 40 Figura 17 Interfaz Visualización de Productos terminados ........................................................ 41 Figura 18 Gráfica de esfuerzo Sprint 3 ...................................................................................... 41 Figura 19 Interfaz de Registro de nueva nota pedido productos terminados ............................. 46 Figura 20 Interfaz Editar Nota de pedido de productos terminados ........................................... 46 Figura 21 Interfaz Visualizar Notas de Pedido........................................................................... 47 Figura 22 Gráfica de esfuerzo Sprint 4 ...................................................................................... 47 Figura 23 Interfaz Registro notas de Pedido Materias Primas ................................................... 52 Figura 24 Interfaz Editar Nota de Pedido Materia Prima............................................................ 52 Figura 25 Visualizar Notas de Pedido Materia Prima................................................................. 53 Figura 26 Gráfica de esfuerzo Sprint 5 ...................................................................................... 53 Figura 27 Interfaz de Salida de Productos Terminados ............................................................. 58 Figura 28 Interfaz de Registro de Salida de Materias Primas .................................................... 58 Figura 29 Interfaz de Devolución de Materia Prima ................................................................... 59 Figura 30 Interfaz de Devolución de Productos Terminados ..................................................... 59 Figura 31 Gráfica de esfuerzo del Sprint 6 ................................................................................ 60 Figura 32 Alerta de Disponibilidad Baja Materia Prima.............................................................. 63 Figura 33 Alerta de Disponibilidad Baja Productos Terminados ................................................ 63 Figura 34 Catálogo.................................................................................................................... 64 Figura 35 Gráfica de esfuerzo del Sprint 7 ................................................................................ 64.

(12) F77. INDICE DE TABLAS Tabla 1. Roles Scrum ................................................................................................................ 14 Tabla 2. Requerimientos del Sistema ........................................................................................ 15 Tabla 3. Usuarios del Sistema................................................................................................... 16 Tabla 4 Historia de Usuario Técnica 0....................................................................................... 17 Tabla 5 Historia de Usuario Técnica 1....................................................................................... 17 Tabla 6 Lista de Historias de usuario......................................................................................... 19 Tabla 7 Tareas Sprint 1 ............................................................................................................. 24 Tabla 8 Tareas realizadas Sprint 1............................................................................................ 25 Tabla 9. Tareas Sprint 2 ............................................................................................................ 31 Tabla 10. Tareas realizadas Sprint 2 ......................................................................................... 33 Tabla 11 Tareas Sprint 3 ........................................................................................................... 37 Tabla 12 Tareas realizadas Sprint 3 .......................................................................................... 38 Tabla 13 Tareas Sprint 4 ........................................................................................................... 42 Tabla 14 Tareas realizadas Sprint 4 .......................................................................................... 43 Tabla 15 Tareas Sprint 5 ........................................................................................................... 48 Tabla 16 Tareas realizadas Sprint 5 .......................................................................................... 49 Tabla 17 Tareas Sprint 6 ........................................................................................................... 54 Tabla 18 Tareas realizadas Sprint 6 .......................................................................................... 55 Tabla 19 Tareas Sprint 7 ........................................................................................................... 60 Tabla 20 Tareas realizadas Sprint 7 .......................................................................................... 61.

(13) F777. 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..

(14) F7D. 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..

(15) 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..

(16) •. 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.

(17) 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,.

(18) . 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.

(19) . 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)..

(20) . 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)..

(21) . 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)..

(22) . 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..

(23) . 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: <link rel="stylesheet" href="ruta/nombre_documento.css" type="text/css" media="all">.

(24) 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.. <script type”text/javasript” src=”URL_de_Archivo.js”></script> 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)..

(25) 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..

(26) 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)..

(27) 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).

(28) . 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.. Ing. Hernán Ordoñez. Guía al equipo en el desarrollo del. Experto Scrum. proyecto. Equipo Scrum. Janneth Buri. Encargados de diseñar y desarrollar la. Diego Pillajo. aplicación.

(29) . 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 01 02 03 04 05. Requerimientos Registrar información usuarios Autenticar y autorizar a un usuario para iniciar sesión Editar información de los usuarios Cambiar la Contraseña del Usuario Visualizar usuarios registrados.

(30) . Número 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26. Requerimientos Registrar información de productos de materia prima Editar información de un producto Materia Prima Visualizar la cantidad de productos de materia prima Registrar información de productos terminados Editar información de producto terminado Visualizar la cantidad de productos terminados Registrar nota de pedido de productos terminados Editar nota de pedido de productos terminados Cancelar una nota de pedido de productos terminados Necesito verificar las notas de pedido entrantes a producción Registrar nota de pedido de materias primas Editar nota de pedido de materias primas Cancelar una nota de pedido de materias primas Visualizar las notas de pedido de materias primas entrantes Registrar nota de salida de productos terminados Registrar nota de salida de materias primas Registrar devolución de productos terminados Registrar devolución de materias primas Visualizar alerta de disponibilidad baja de productos de materias primas Visualizar alerta de disponibilidad Baja de productos de terminados 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. Área. Tipo Administrador. Administración. Bodeguero. Bodega. Producción. Producción. Vendedor. Ventas. Descripción Persona encargada de la administración de toda la aplicación y registro de usuarios. Persona encargada del registro y control de productos terminados y materias primas. Persona encargada del registro de notas de pedido hacia materia prima. Persona encargada de registrar clientes y notas de pedido de productos terminados..

(31) . 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 Usuario. Numero: 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 Buri Diego Pillajo Descripción:. Yo como desarrollador necesito definir la arquitectura del sistema con el objetivo de tener un solo patrón de desarrollo. Yo como desarrollador necesito modelar los datos de la empresa con la finalidad de manejar los datos de forma ordenada y eficiente. Yo como desarrollador necesito crear la base de datos con el objetivo de inicial el desarrollo 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 Numero: 1. Historia de Usuario. Prioridad en negocio (Alta/Media/Baja): Puntos Estimados: 3. Alta. Usuario: Administrador Riesgo en desarrollo (Alta/Media/Baja): Alta Iteración Asignada (SPRINT): 1. Responsable:. Janneth Buri Diego Pillajo Descripción:. Yo como administrador necesito registrar un usuario para limitar el ingreso a las diferentes áreas del Sistema..

(32) . Requerimientos de Software:. Diseñar un formulario que permita guardar los datos del usuario y que sea compatible con todos los navegadores Web. Criterio de Aceptación. Criterio El administrador necesita guardar en el sistema los datos personales como Nombre de Usuario, Cédula, Nombre, Apellido, Email, Dirección, teléfono, Contraseña, rol, el estado de la cuenta de usuario, Fecha de Creación y modificación. Todos estos campos son obligatorios. El sistema verifica que todos los campos de un nuevo usuario no estén duplicados.. Evento. Resultado. Presionar botón guardar. Usuario registrado en la base de datos.. Presionar Botón guardar. Registra en la base de datos..

(33) H009. H008. H007. H006. H005. H004. Como administrador, necesito cambiar la contraseña un usuario específico, con el objetivo de recuperar una contraseña olvidada. Como administrador, necesito obtener una lista de usuarios, con el objetivo de tener un control de todos los usuarios del sistema. Como bodeguero, necesito registrar el producto de materia prima, con el objetivo de controlar las existencias en bodega. Como bodeguero, necesito editar un producto de materia prima, con el objetivo de actualizar la información de materias primas. Como bodeguero, necesito visualizar la cantidad de productos de materia prima, con el objetivo de verificar sus existencias. Como bodeguero, necesito registrar un producto terminado, con el objetivo de. Identificador (ID) de la Enunciado de la Historia Historia H001 Como administrador, necesito registrar un usuario, para limitar el ingreso a las diferentes áreas del sistema. H002 Como usuario, necesito iniciar sesión en el Sistema para poder cumplir con las tareas asignadas. H003 Como administrador, necesito editar los datos de un usuario, para poder definir su perfil. Hecho. Hecho. Ingreso al Sistema. Editar usuario. Hecho. Hecho. Hecho. Visualizar la cantidad de Hecho productos de materia prima Registrar producto de Hecho productos terminados. Editar producto de materia prima. Registrar producto de materia prima. Listar usuarios. Cambiar contraseña del Hecho usuario. Hecho. Estado. Registrar cuentas de usuario. Alias. Tabla 6 Lista de Historias de usuario. Product Backlog (Lista de historias de usuario). 3. 2. 2. 3. 2. 3. 3. 3. 3. Esfuerzo. Tercer. Segundo. Segundo. Segundo. Primer. Primer. Primer. Primer. Primer. Iteración (Sprint). .

(34) H017. H016. H015. H014. H013. H012. H011. H010. Identificador (ID) de la Historia. Como bodeguero, necesito editar un producto terminado, con el objetivo de tener actualizada la información de bodega. Como bodeguero, necesito visualizar la cantidad de productos terminados, con el objetivo de verificar sus existencias. Como usuario de producción, necesito saber la cantidad de productos terminados, con el objetivo de evitar la sobreproducción. Como usuario de ventas, necesito poder registrar una nota de pedido de productos terminados, con el objetivo de recibir de producción los productos para su venta. Como usuario de ventas, necesito poder editar una nota de pedido de productos terminados, con el objetivo de actualizar o eliminar algún producto de la nota de pedido. Como usuario de ventas, necesito poder cancelar una nota de pedido de productos terminados, con el objetivo de evitar sobre producción. Como usuario de producción, necesito poder visualizar las notas de pedido entrantes, con el objetivo de poner en marcha la producción. Como usuario de producción, necesito poder registrar una nota de pedido de materias primas, con el objetivo de tener lo necesario para producción.. contabilizar y clasificar los productos para su venta.. Enunciado de la Historia. Hecho. Estado. Hecho. Visualizar las notas de pedido entrantes a producción Registrar nota de pedido de materias primas. Cancelar una nota de pedido de productos terminados. Hecho. Hecho. Hecho. Editar nota de pedido de Hecho productos terminados. Registrar nota de pedido de productos terminados. Visualizar la cantidad de Hecho productos terminados. Visualizar la cantidad de Hecho productos terminados. Editar un producto de productos terminados. Alias. 3. 2. 2. 2. 3. 2. 2. 2. Esfuerzo. Quinto. Cuarto. Cuarto. Cuarto. Cuarto. Cuarto. Tercer. Tercer. Iteración (Sprint).

(35) Identificador (ID) de la Enunciado de la Historia Historia H018 Como usuario de Producción necesito poder editar una nota de pedido de materias primas, con el objetivo de actualizar la nota de pedido. H019 Como usuario de Producción, necesito poder cancelar una nota de pedido de materias primas, con el objetivo de evitar desperdicio de materias primas. H020 Como bodeguero, necesito visualizar la nota de pedido de materia prima, con el objetivo de evitar la sobre producción. H021 Como bodeguero, necesito visualizar la nota de pedido de productos terminados con el objetivo de entregar un pedido, evitando una nueva producción. H022 Como bodeguero, necesito registrar la nota de salida de productos terminados con el objetivo de entregar un pedido al cliente. H023 Como bodeguero, necesito registrar la nota de salida de materia prima, con el objetivo de entregar un pedido para su producción. H024 Como usuario de ventas, necesito registrar una devolución de productos terminados, con el objetivo de tener un histórico 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: con motivo-fecha y actualizar el Stock de productos. H025 Como usuario de Producción, necesito registrar una devolución de materia prima, con el objetivo de tener un histórico con Hecho. 3. Hecho. Registrar devolución de materias primas. 3. Hecho. Registrar la nota de salida de productos terminados Registrar la nota de salida de materia prima. 3. 3. 2. Hecho. Visualizar la nota de pedido de productos terminados. Hecho. 2. Visualizar la nota de Hecho pedido de materia prima. Registrar devolución de productos terminados. 2. Hecho. Cancelar una nota de pedido de productos terminados. 2. Hecho. Estado. Editar nota de pedido de materias primas. Alias. Esfuerzo. Sexto. Sexto. Sexto. Sexto. Quinto. Quinto. Quinto. Quinto. Iteración (Sprint).

(36) H028. H027. H026. Identificador (ID) de la Historia. Como bodeguero, necesito alertas en caso de disponibilidad baja de productos de materias primas, con el objetivo de cumplir con las notas de pedido entrantes. Como usuario de producción, necesito alertas en caso de disponibilidad baja de productos de productos terminados, con el objetivo de cumplir con las notas de pedido entrantes. Como usuario externo, necesito visualizar los productos de la empresa, con el objetivo de realizar un pedido.. motivo-fecha y actualizar el Stock de materias primas.. Enunciado de la Historia. Hecho. Hecho. Estado. Visualizar los productos Hecho de la empresa. Disponibilidad baja de productos de productos terminados. Disponibilidad baja de productos de materias primas. Alias. 3. 1. 1. Esfuerzo. Septimo. Septimo. Septimo. Iteración (Sprint).

(37) 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 el esfuerzo y la prioridad de cada una de las historias. Por esta razón se definió 7 Sprints con una 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 de requerimientos, porque la empresa en ese momento se encontraba con una orden de producció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 de octubre de 2017. En este sprint se definió la arquitectura de desarrollo, el diseño y creación de base 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ño del 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 finalizando el 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:.

(38) . Tabla 7 Tareas Sprint 1. ID Back log. Historia de Usuario. PILA DEL SPRINT Tarea Definir Tipos y Estados de Usuarios del Sistema Diseñar Interfaz de Registro de usuarios Crear la interfaz de registros de Usuario. H001. Registro de usuarios. H002. Inicio de Sesión. Ingresar Datos de un Usuario Validar que los campos no sean nulos y que cumplan con el formato específico. Guardar datos en la Base de Datos Diseño de Interfaz de Login Crear interfaz del Login Validar campos nulos y campos requeridos Ingresar al sistema Diseñar interfaz para Editar Usuario Crear Interfaz para Editar Usuario Traer los datos definidos en la base de datos. H003. Editar Usuarios. Ingresar datos a modificar en el formulario Validar campos nulos y campos requeridos Guardar datos en la Base de Datos Diseño de Interfaz de Cambio de Contraseña. H004. Cambiar Contraseña del Usuario. Crear la interfaz de Cambio de Contraseña Traer campo contraseña definido e ingresar la nueva contraseña Actualizar Contraseña en la base de datos. H005. Listar Usuarios. Diseñ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:.

(39) H001. ID Backlog Tarea. Definir Tipos y Estados de Usuarios del Sistema Diseñar Interfaz de Registro de usuarios Crear la interfaz de registro de registros de usuarios Usuario Ingresar Datos de un Usuario Validar que los campos no sean nulos y que cumplan con el formato específico.. Hist. de Usuario. PILA DEL SPRINT. 10-oct.-16. 1. DURACIÓN (días) 14 planning inicio M X. Janneth. Terminada. Janneth. Terminada. Diego. Diego. Terminada. Terminada. Diego. Terminada. 24. 4. 18. 8. 4. Horas Responsable Proyectadas. 20 135. 129 107 107 93. 74. 72. 60. 42. 26. 7. 21. 6. 5. 1. J 12-oct.. 10. V 13-oct.. 12. L 16-oct.. 14. M 17-oct. 15. X 18-oct.. 17. J 19-oct.. 18. V 20-oct.. 18. L 23-oct.. 20. fin V J. X. M 24-oct.. 24. 4. 18. 8. 4. 24. 4. 12. 24 12 12. 4. 6. ESFUERZO(tiempo proyectado - horas que se realiza a diario). Horas pendientes. Estado. 22 153. 22 153. Tareas pendientes. Fecha. Día 10-oct.. INICIO. 11-oct.. SPRINT. 25-oct.. Tabla 8 Tareas realizadas Sprint 1. 26-oct.. . 27-oct..

(40) Inicio de Sesión. Editar Usuarios. H002. H003. Guardar datos en la Base de Datos Diseño de Interfaz de Login Crear interfaz del Login Validar campos nulos y campos requeridos Ingresar al sistema 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 Diego. Diego. Terminada. Terminada. Janneth. Terminada. Janneth. Diego. Terminada. Terminada. Diego. Terminada. Janneth. Terminada. Janneth. Diego. Terminada. Terminada. Janneth. Terminada. 12. 4. 4. 12. 2. 3. 18. 6. 2. 6. 12. 4. 4. 12. 2. 3. 18. 6. 2. 6. 12. 4. 4. 12. 2. 3. 18. 6. 2. 6. 6. 2. 6. 6. 2. 6. 4. 2. 6. 2. 2. 3. 2. 3. 2. 3. 2. 3. 2. 3. 9. 2. 4. 4. 4. 4. 4. 4. 4. 4. 4. 4. 4. 4. 4. 4. 12 12 12 12 12 12 12 8 2a. 4. 4. 12 12 12 12 12 12 12. 2. 3. 18 18 18 18 9. 6. 2. 6. .

(41) H005. H004. Guardar datos en la Base de Datos Diseño de Interfaz de Cambio de Contraseña Crear la interfaz de Cambio de Contraseña Cambiar Traer campo Contraseña contraseña del Usuario definido e ingresar la nueva contraseña Actualizar Contraseña en la base de datos Diseñar interfaz de Visualización de Usuarios Listar Usuarios Crear Interfaz de Visualización de Usuarios Janneth. Diego. Terminada. Terminada. Diego. Terminada. Janneth. Terminada. Janneth. Diego. Terminada. Terminada. Janneth. Terminada. 5. 2. 2. 4. 6. 2. 5. 5. 2. 2. 4. 6. 2. 5. 5. 2. 2. 4. 6. 2. 5. 5. 2. 2. 4. 6. 2. 5. 5. 2. 2. 4. 6. 2. 5. 5. 2. 2. 4. 6. 2. 5. 5. 2. 2. 4. 6. 2. 5. 5. 2. 2. 4. 6. 2. 5. 5. 2. 2. 4. 6. 2. 5. 5. 2. 2. 4. 6. 2. 5. 5. 2. 2. 4. 6. 2. 5. 5. 2. 2. 4. 6. 2. 5. 5. 2. 2. 4. 6. 2. 1r. 5. 1r. 2r. .

(42) . 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.

(43) . Login. Figura 7Interfaz de Inicio de Sesión. Visualizar Usuarios. Figura 8 Interfaz Visualizar Usuarios.

(44) 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..

(45) 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 finalizando el 16 de noviembre de 2017. Las tareas a realizarse en este Sprint se especifican en la Tabla 9:. Tabla 9. Tareas Sprint 2 PILA DEL SPRINT ID Backlog Hist. de Usuario. Tarea Diseñar Interfaz de Registro de materia prima Crear la interfaz de registros de Materia Prima. H007. Registrar productos materia prima. Ingresar Datos de Materia Prima Validar que los campos no sean nulos y que cumplan con el formato específico. Guardar datos en la Base de Datos. H008. Diseñar interfaz para Editar producto de materia prima Crear Interfaz para Editar producto de materia prima Editar Producto Materia Traer los datos definidos en la base de Prima datos Ingresar datos a modificar en el formulario Validar campos nulos y campos requeridos.

(46) H009. Visualizar la cantidad de productos de materia prima. Guardar datos en la Base de Datos Diseñar interfaz de Visualización de productos de materia prima Crear Interfaz de Visualización de productos de materia prima. Scrum Daily Meeting. Descripción de las tareas realizadas en el Sprint En la )/0:/. se muestra las tareas realizadas por el equipo Scrum:.

Referencias

Documento similar

Debido al riesgo de producir malformaciones congénitas graves, en la Unión Europea se han establecido una serie de requisitos para su prescripción y dispensación con un Plan

Como medida de precaución, puesto que talidomida se encuentra en el semen, todos los pacientes varones deben usar preservativos durante el tratamiento, durante la interrupción

Y tendiendo ellos la vista vieron cuanto en el mundo había y dieron las gracias al Criador diciendo: Repetidas gracias os damos porque nos habéis criado hombres, nos

Entre nosotros anda un escritor de cosas de filología, paisano de Costa, que no deja de tener ingenio y garbo; pero cuyas obras tienen de todo menos de ciencia, y aun

o Si dispone en su establecimiento de alguna silla de ruedas Jazz S50 o 708D cuyo nº de serie figura en el anexo 1 de esta nota informativa, consulte la nota de aviso de la

Las manifestaciones musicales y su organización institucional a lo largo de los siglos XVI al XVIII son aspectos poco conocidos de la cultura alicantina. Analizar el alcance y

Como puede apreciarse, uno de los elementos faltantes de la cadena logística es el sistema de abastecimiento, esto genera algunos problemas de definición, que mediante la reducción

La campaña ha consistido en la revisión del etiquetado e instrucciones de uso de todos los ter- mómetros digitales comunicados, así como de la documentación técnica adicional de