TFM Hector Jahir Lozano Briones
TFM Hector Jahir Lozano Briones
MADRID
Escuela Técnica Superior de Ingeniería de Sistemas Informáticos
Autor
Héctor Jahir Lozano Briones
Tutor
Francisco Javier Gil Rubio
1 de julio de 2017
Análisis y Desarrollo de un Sistema Web para la gestión Kardex de un almacén
AGRADECIMIENTOS
lograr mi objetivo.
RESUMEN
Las nuevas tecnologías van incorporándose cada vez más rápidamente a las actividades
diarias que realizamos, permitiéndonos comunicarnos, informarnos y relacionarnos de
una manera más rápida y directa. El progreso tecnológico permite optimizar la realización
de múltiples acciones, mejorando las labores de gestión y alcanzando grados de eficacia
y eficiencia.
P ALABRAS CLAVE
Aplicación Web, Sistema, Automatizar, Kardex, Producto, Almacén, Consulta, Proceso,
Mercancía, Scrum, Metodología Ágil, Herramientas Open Source.
Análisis y Desarrollo de un Sistema Web para la gestión Kardex de un almacén
ABSTRACT
New technologies are increasingly being incorporated into the daily activities we carry
out, allowing us to communicate, inform and interact in a more rapid and direct way.
Technological progress allows the optimization of multiple actions, improving
management tasks and achieving efficiency and efficiency levels.
A Web System for the automation of the Kardex process has been developed, which will
facilitate the management of the same in the warehouse of a company as a final project,
with the intention of putting into practice many of the concepts learned in each subject of
the Master.
The implementation was based on the agile Scrum development methodology and
through the use of free distribution tools such as: Front-end: HTML5, Bootstrap, CSS3,
Jquery, Ajax and Back-end: PHP, Symfony Framework, Database MySQL, Apache Web
Server, among others.
The system handles several modules, the main ones being: Product information queries,
request of a product to be used in a locality, management of entry and exit of goods,
obtaining better control of inventory, stock, classification, Prices among other
characteristics of the products, consultation of the movements made (input and output) of
products in a fast and accurate.
K EYWORDS
Web Application, System, Automate, Kardex, Product, Warehouse, Query, Process,
Merchandise, Scrum, Agile Methodology, Open Source Tools.
[UPM] Máster en Ingeniería Web
TABLA DE CONTENIDOS
Contenido
Agradecimientos ............................................................................................................... 3
Resumen ........................................................................................................................... 4
Palabras clave ................................................................................................................... 4
Abstract............................................................................................................................. 5
Keywords .......................................................................................................................... 5
Tabla de Contenidos ......................................................................................................... 6
Introducción...................................................................................................................... 8
1. Objetivos y Alcance del Sistema ................................................................................... 9
1.1. OBJETIVOS.............................................................................................................. 9
1.2. ALCANCE DE LA APLICACIÓN ..................................................................... 10
2. Marco Teórico ............................................................................................................. 11
2.1. TENDENCIAS ACTUALES DE LAS TECNOLOGÍAS ................................... 11
2.2. TECNOLOGÍAS UTILIZADAS ......................................................................... 18
2.2.1 HERRAMIENTAS DE DESARROLLO FRONT-END ............................... 18
2.2.2 HERRAMIENTAS DE DESARROLLO BACK-END ................................. 25
2.2.3 FRAMEWORK ............................................................................................. 28
2.2.4. BASES DE DATOS ..................................................................................... 29
2.2.5. SERVIDORES WEB .................................................................................... 30
2.3. ARQUITECTURA REST ........................................................................................... 31
3. Metodología de desarrollo ......................................................................................... 34
3.1. METODOLOGÍA ÁGIL SCRUM ...................................................................... 34
3.2. PROCESO DE DESARROLLO.......................................................................... 39
3.2.1. INTRODUCCIÓN ........................................................................................ 39
3.2.2. PROCESO ITERATIVO E INCREMENTAL ............................................. 39
3.3. ETAPAS DEL PROCESO DE DESARROLLO ................................................. 40
3.3.1. PLANIFICACIÓN ........................................................................................ 40
3.3.2. ANÁLISIS Y DISEÑO................................................................................. 40
3.3.3. DESARROLLO ............................................................................................ 41
3.3.4. CIERRE ........................................................................................................ 42
3.4. HERRAMIENTAS .............................................................................................. 42
3.4.1. HISTORIAS DE USUARIOS ...................................................................... 42
3.4.2. PRODUCT BACKLOG ............................................................................... 43
3.4.3. SPRINT BACKLOG .................................................................................... 43
3.4.4. TAREAS ....................................................................................................... 44
Análisis y Desarrollo de un Sistema Web para la gestión Kardex de un almacén
4. Desarrollo de la Ingeniería .......................................................................................... 45
4.1. DESARROLLO DE LA INGENIERÍA .............................................................. 45
4.1.1. PLANIFICACIÓN INICIAL ........................................................................ 45
4.1.2. ANÁLISIS DEL SISTEMA ......................................................................... 46
4.1.3. DISEÑO DEL SISTEMA CON SCRUM .................................................... 51
4.1.4. PRUEBAS DEL SISTEMA ....................................................................... 149
5. Conclusiones y Posibles Ampliaciones ...................................................................... 155
Bibliografía .................................................................................................................... 157
Anexos .......................................................................................................................... 159
[UPM] Máster en Ingeniería Web
INTRODUCCIÓN
El proyecto descrito en este documento fue desarrollado con el propósito de optimizar el
proceso de Kardex de un almacén, abarcando de una manera práctica los procesos, las
metodologías y las pruebas que son empleadas en la construcción de aplicaciones web
para cumplir con los requerimientos planteados por parte del cliente.
Página 8
Análisis y Desarrollo de un Sistema Web para la gestión Kardex de un almacén
1.1. OBJETIVOS
OBJETIVO GENERAL
OBJETIVOS ESPECÍFICOS
Página 10
Análisis y Desarrollo de un Sistema Web para la gestión Kardex de un almacén
2. MARCO TEÓRICO
2.1. TENDENCIAS ACTUALES DE LAS TECNOLOGÍAS
Framework
Aplicaciones Web
Servidores Web
Los servidores web (también conocidos como servidores HTTP) son un tipo
de servidores utilizados para la distribución de contenido web en redes internas o en
Internet. Como parte de una red de ordenadores, un servidor web transfiere
documentos a los llamados clientes, por ejemplo, una página web a un explorador.
Los servidores web más difundidos a nivel mundial son Apache e Internet
Information Services (IIS).
Apache
El NCSA (del inglés, National Center for Super Computing Applications) creó en
1995 un servidor web, pero el principal desarrollador de servidores web del NCSA
abandonó el proyecto y este se vio notablemente afectado. Los que utilizaban el
servidor web de NCSA empezaron a intercambiar sus propios paquetes para el
servidor y pronto pensaron que era necesario un foro para gestionarlos, así nació
el grupo Apache, el grupo utilizaba el código del servidor Web de NCSA y dio
nacimiento a un nuevo servidor web llamado Apache.
El servidor HTTP de Apache ("httpd") fue lanzado en 1995 y ha sido el servidor web
más popular en Internet desde abril de 1996. El Servidor Apache HTTP es un
proyecto de The Apache Software Foundation. [4]
Página 12
Análisis y Desarrollo de un Sistema Web para la gestión Kardex de un almacén
La arquitectura escalable y abierta de IIS está lista para manejar las tareas más
exigentes, en sus comienzos, IIS era una parte integral de los sistemas de Windows
Server, ahora, en caso de ser necesario, es posible instalar el programa en algunos
sistemas operativos Windows. Microsoft IIS solo puede ser utilizado en servidores
Windows.
Se basa en varios módulos que le dan capacidad para procesar distintos tipos de
páginas. Por ejemplo, Microsoft incluye los de Active Server Pages (ASP)
y ASP.NET. También pueden ser incluidos los de otros fabricantes,
como PHP o Perl.
Página 14
Análisis y Desarrollo de un Sistema Web para la gestión Kardex de un almacén
Scrum
Página 16
Análisis y Desarrollo de un Sistema Web para la gestión Kardex de un almacén
Arquitectura REST
Nos permite crear servicios que pueden ser usadas por cualquier dispositivo o cliente
que entienda HTTP, por lo que es increíblemente más simple y convencional que
otras alternativas que se han usado en los últimos diez años como SOAP y XML-
RPC. El término fue introducido en la tesis doctoral de Roy Fielding en 2000, quien
es uno de los principales autores de la especificación de HTTP. [8]
Una sintaxis universal para identificar los recursos, donde cada recurso es
direccionable únicamente a través de su URI.
AngularJS
Una biblioteca: Una colección de funciones útiles para escribir aplicaciones web,
donde su código está a cargo y llama a la biblioteca cuando lo crea conveniente. Por
ejemplo, jQuery. La biblioteca lee el HTML que contiene atributos de las etiquetas
personalizadas adicionales, entonces obedece a las directivas de los atributos
personalizados, y une las piezas de entrada o salida de la página a un modelo
representado por las variables estándar de JavaScript.
Página 18
Análisis y Desarrollo de un Sistema Web para la gestión Kardex de un almacén
AngularJS enseña la nueva sintaxis del navegador a través de una construcción que
llamamos directivas. Las directivas son marcas en los elementos del árbol DOM, en
los nodos del HTML, que indican al compilador de Angular que debe asignar cierto
comportamiento a dichos elementos según corresponda. Son útiles para definir
nuevos pedazos de código HTML, como botones, un footer, o para crear cosas más
complejas que incluyan funciones o variables dinámicas definidas directamente en
el DOM. [10]
Html5
Con HTML5, los navegadores como Firefox, Chrome, Explorer, Safari y más
pueden saber cómo mostrar una determinada página web, saber dónde están los
elementos, dónde poner las imágenes, dónde ubicar el texto.
Los navegadores vendrían a ser como “traductores” de las etiquetas, y con HTML5,
se agregan nuevas etiquetas para utilizar que nos ahorran el uso de otros productos
que se usaban para complementar y hacer cosas que con el simple HTML no se
podían hacer.
Esta nueva versión del lenguaje HTML, consta de nuevos elementos, atributos y
comportamientos, y un conjunto más amplio de tecnologías que permite sitios y
aplicaciones más diversas y potentes. HTML5 incorpora recursos, clasificados en
varios grupos basados en su función:
Css3
CSS sirve para definir la estética de un sitio web en un documento externo y eso
mismo permite que modificando ese documento (fichero CSS) podamos cambiar la
estética entera de un sitio web, ese es precisamente el poder de CSS.
Página 20
Análisis y Desarrollo de un Sistema Web para la gestión Kardex de un almacén
En otras palabras, el mismo sitio web puede variar totalmente de estética cambiando
solo la CSS, sin tocar para nada los documentos HTML o jsp o asp que lo componen,
ya con CSS3 se suman muchas nuevos efectos que harán de la que la parte visual de
nuestra página sea mucho más agradable y llamativa, como sombras,
transformaciones de figuras, gradientes, creación sencilla de bordes y efectos 3D.
La nueva versión de CSS nos va a permitir que el diseño de páginas web cambie por
completo, esta nueva versión nos va a permitir hacer cosas que antes eran
impensables, podremos incluso dibujar con CSS, hacer que nuestras webs cobren
vida, y otras muchas cosas.
Esto hará que los diseñadores que quieran mantenerse al día tenga que evolucionar,
tenga que cambiar el concepto de hacer diseños web como si fueran artistas y pasar
a hacer web como si fueran programadores haciendo uso de las nuevas herramientas
que nos ofrece CSS3. [13]
Bootstrap
Aunque el desarrollo del Framework Bootstrap fue iniciado por Twitter, fue liberado
bajo licencia MIT en el año 2011 y su desarrollo continua en un repositorio de
GitHub.
JQuery
Página 22
Análisis y Desarrollo de un Sistema Web para la gestión Kardex de un almacén
Nos permite agregar efectos y funcionalidades complejas a nuestro sitio web, como
por ejemplo: galerías de fotos dinámicas y elegantes, validación de formularios,
calendarios, hacer aparecer y desaparecer elementos en nuestra página y muchas
otras poderosas opciones, sin preocuparnos de los detalles complejos de la
programación.
Se optó por utilizar jQuery, ya que cuenta con estandarización de código JavaScript,
y además, es un producto estable, bien documentado y con un gran equipo de
desarrolladores a cargo de la mejora y actualización del Framework.
Ajax
WebStorm Framework
Página 24
Análisis y Desarrollo de un Sistema Web para la gestión Kardex de un almacén
Php
PHP puede ser desplegado en la mayoría de los servidores web y en casi todos los
sistemas operativos y plataformas sin costo alguno. En lugar de un montón de
comandos para la salida de HTML (como se ve en C o Perl), las páginas PHP
contienen HTML con código incrustado que hace "algo".
El 13 de julio del 2004, se lanzó PHP 5, utilizando el motor Zend Engine 2.0. Incluye
todas las ventajas que provee el nuevo Zend Engine 2, como:
NetBeans IDE
Página 26
Análisis y Desarrollo de un Sistema Web para la gestión Kardex de un almacén
Da soporte a las siguientes tecnologías como Java, PHP, Groovy, C/C++, HTML5,
entre otras, además puede instalarse en varios sistemas operativos: Windows, Linux,
Mac OS.
También está disponible NetBeans Platform; una base modular y extensible usada
como estructura de integración para crear grandes aplicaciones de escritorio.
Empresas independientes asociadas, especializadas en desarrollo de software,
proporcionan extensiones adicionales que se integran fácilmente en la plataforma y
que pueden también utilizarse para desarrollar sus propias herramientas y soluciones.
Características Principales
Soporte a casi todas las novedades en el lenguaje Java, cualquier preview del
lenguaje es rápidamente soportada por NetBeans.
Una vez que nos metemos en una clase, por poner un ejemplo, se nos mostrarán
distintas ventanas con el código, su localización en el proyecto, una lista de los
métodos y propiedades (ordenadas alfabéticamente).
También hay una vista que nos presenta las jerarquías que tiene nuestra clase y otras
muchas opciones, por supuesto personalizable según el gusto de cada usuario. [21]
2.2.3 FRAMEWORK
Symfony
Principales Características:
Página 28
Análisis y Desarrollo de un Sistema Web para la gestión Kardex de un almacén
Los componentes de Symfony son tan útiles y están tan probados, que proyectos
tan gigantescos como Drupal 8 están construidos con ellos.
MySQL
Nació como una iniciativa de Software Libre y aún sigue ofreciéndose como tal,
para usuarios particulares. La mayor parte del código se encuentra escrito en
lenguaje C/C++ y la sintaxis de su uso es bastante simple, lo que permite crear bases
de datos simples o complejas con mucha facilidad. Además, es compatible con
múltiples plataformas informáticas y ofrece una infinidad de aplicaciones que
permiten acceder rápidamente a las sentencias del gestor de base de datos.
Utilidad de MySQL
Cuando se combina con PHP, se convierte en una mezcla poderosa, que siempre
es tomada en cuenta para realizar aplicaciones cliente/servidor, que requieran el
uso de una base de datos rápida, segura y potente.
Apache
Página 30
Análisis y Desarrollo de un Sistema Web para la gestión Kardex de un almacén
En sus inicios se basaba en el código de NCSA HTTPD 1.3, pero más tarde fue
reescrito por completo. Actualmente es el servidor web más usado en todo el
mundo, superando en 2009 los 100 millones de sitios web, el 70% del total. Está
desarrollado y mantenido por una comunidad de usuarios en torno a la Apache
Software Foundation.
1. Separación Cliente/Servidor
2. Independencia de Tecnologías/Lenguajes
Al final solo nos tenemos que preocupar que el nexo cliente / servidor esté correcto.
Escalabilidad porque se puede crecer todo lo que necesite en cada momento. El API
puede responder a otros tipos de operaciones o puede versionarse tanto como desee.
Página 32
Análisis y Desarrollo de un Sistema Web para la gestión Kardex de un almacén
A la hora de ejecutar la aplicación también tiene una flexibilidad mucho mayor, las
páginas del front las puede enviar desde unos servidores y las API pueden estar
alojadas en servidores independientes, tantos como necesite el desarrollador.
4. Experiencia de Usuario
Los sitios web basados en un API pueden dar mejor desempeño que uno tradicional.
En este tipo de aplicaciones web no se necesita recargar la página, aunque esto no es
una ventaja específica del desarrollo basado en REST, sino del uso de Ajax en
general, con el que podemos conseguir aplicaciones web que se asemejan más a
aplicaciones de escritorio.
Se utilizó Symfony como Framework de Desarrollo para crear el Api REST, donde
fue necesario instalar algunos componentes adicionales para su funcionamiento tales
como FOSRestBundle () y NelmioCorsBundle ().
Con las tablas creadas en la Base de Datos se empleó Doctrine para generar las
entidades y trabajar con el modelo de datos. Doctrine es un (ORM) mapeador de
objetos-relacional escrito en PHP que proporciona una capa de persistencia para
objetos PHP, a partir de eso se crearon los Controladores respectivos de cada entidad
en Symfony, implementando los métodos y funciones de CRUD (Create, Read,
Update, Delete) que luego serán utilizados como Servicios Rest desde el Front-End.
Los servicios Rest serán consumidos desde el Front end, realizando peticiones
utilizando la Tecnología Ajax, los cuales devolverán las respuestas en JSON para
procesar dicha información y presentarla al usuario, donde se utilizó AngularJs como
Framework para el desarrollo de la aplicación del front-end.
3. METODOLOGÍA DE DESARROLLO
3.1. METODOLOGÍA ÁGIL SCRUM
Qué es SCRUM
Solapamiento de las diferentes fases del desarrollo, en lugar de realizar una tras
otra en un ciclo secuencial o de cascada.
Página 34
Análisis y Desarrollo de un Sistema Web para la gestión Kardex de un almacén
Este modelo fue identificado y definido por Ikujiro Nonaka e Hirotaka Takeuchi
a principios de los 80, al analizar cómo desarrollaban los nuevos productos las
principales empresas de manufactura tecnológica: Fuji-Xerox, Canon, Honda,
Nec, Epson, Brother, 3M y Hewlett-Packard.
Fuente: Essential Scrum: A Practical Guide to the Most Popular Agile Process. K.S.Rubin
Scrum es una metodología de desarrollo muy simple, que requiere trabajo duro
porque no se basa en el seguimiento de un plan, sino en la adaptación continúa a las
circunstancias de la evolución del proyecto.
El Proceso
El progreso de los proyectos que utilizan Scrum se realiza y verifica en una serie de
iteraciones llamadas Sprints. Estos Sprints tienen una duración fija, pre-establecida
de no más de un mes.
Página 36
Análisis y Desarrollo de un Sistema Web para la gestión Kardex de un almacén
Planificación de la iteración
Ejecución de la iteración
Cada día el equipo realiza una reunión de sincronización, donde los miembros del
equipo inspecciona el trabajo que el resto está realizando (dependencias entre tareas,
progreso hacia el objetivo de la iteración, obstáculos que pueden impedir este
objetivo) para poder hacer las adaptaciones necesarias que permitan cumplir con el
compromiso adquirido. En la reunión cada miembro del equipo responde a tres
preguntas:
¿Qué he hecho desde la última reunión de sincronización?
¿Qué voy a hacer a partir de este momento?
¿Qué impedimentos tengo o voy a tener?
Durante la iteración, el cliente junto con el equipo refinan la lista de requisitos para
prepararlos para las siguientes iteraciones y, si es necesario, cambian o replanifican
los objetivos del proyecto para maximizar la utilidad de lo que se desarrolla y
el retorno de inversión.
Inspección y adaptación
Página 38
Análisis y Desarrollo de un Sistema Web para la gestión Kardex de un almacén
3.2. PROCESO DE DESARROLLO
3.2.1. INTRODUCCIÓN
Las iteraciones se pueden entender como mini proyectos: en todas las iteraciones se
repite un proceso de trabajo similar para proporcionar un resultado completo
sobre producto final, de manera que el cliente pueda obtener los beneficios del
proyecto de forma incremental. Para ello, cada requisito se debe completar en una
única iteración: el equipo debe realizar todas las tareas necesarias para completarlo
(incluyendo pruebas y documentación) y que esté preparado para ser entregado al
cliente con el mínimo esfuerzo necesario. De esta manera no se deja para el final del
proyecto ninguna actividad arriesgada relacionada con la entrega de requisitos.
A continuación detallamos las etapas por las cuales transita nuestro proceso de
desarrollo y la combinación de herramientas utilizadas en él.
Una vez que se tiene el definido el proyecto con las funcionalidades, es necesario
establecer criterios para hacer pequeñas entregas del producto y así obtener su valor
y un feedback temprano.
El Backlog no es más que una lista de todo lo que debe hacerse para convertir la
visión en realidad. Esta lista existe y evoluciona a lo largo del proceso, es el mapa o
la hoja de ruta del producto. En cualquier momento del proyecto, la lista de objetivos
pendientes es la única y definitiva vista panorámica de todo lo que el equipo podría
hacer, por orden de prioridades.
Página 40
Análisis y Desarrollo de un Sistema Web para la gestión Kardex de un almacén
Se debe consultar con todos los interesados y con el equipo para asegurarse de que
representan tanto lo que quiere el cliente como lo que es factible construir.
3.3.3. DESARROLLO
Reunión con los equipos para revisar los planes de lanzamiento de versión.
Distribución, revisión y ajuste de los estándares de conformidad para el
producto.
Sprints iterativos hasta que el producto se considera listo para su distribución.
Envoltura: Cierre de los módulos, creación de una versión ejecutable con los
cambios que implementas los requisitos del Backlog.
Revisión: Reunión de todos los equipos para presentar el trabajo y revisar el
progreso, identificando y resolviendo posibles cuestiones y añadiendo nuevos
elementos al Backlog.
Ajuste: Consolidación de la información de la revisión de los módulos
afectados.
3.3.4. CIERRE
Cuando el equipo de gestión siente que las variables de tiempo, parte completada,
requisitos, coste y calidad están alineadas para producir una nueva versión, declaran
cerrada la versión, dando paso a esta fase.
En esta fase se prepara el producto generado para producir una nueva versión. Entre
las tareas de cierre se encuentran: integración, pruebas del sistema, documentación
de usuario, preparación del material de formación y marketing.
3.4. HERRAMIENTAS
3.4.1. HISTORIAS DE USUARIOS
Historias de usuario
Yo como<rol>
Quiero/deseo/necesito <funcionalidad>
Para<beneficio del negocio>
Página 42
Análisis y Desarrollo de un Sistema Web para la gestión Kardex de un almacén
3.4.2. PRODUCT BACKLOG
Aunque suele estar formado por requisitos funcionales, puede haber también otro
tipo de tareas como: cambios solicitados por el cliente, tareas de resolución de
riesgos técnicos, errores a corregir, etc.
El equipo transforma el “qué tengo que hacer” en “cómo hacerlo”, estima el coste
de la a historia y si el coste de realizar una historia es muy elevado, esta debe
dividirse en tareas más pequeñas, además de tener en cuenta que ninguna tarea debe
superar una jornada de trabajo.
Se definen reuniones que se deben realizar utilizando el método Scrum, para llevar
acabo el Sprint:
Planeación del Sprint (Scrum Planning), con la ayuda del Product Owner y el
Scrum Master, el equipo se compromete con las actividades que se deben realizar
de la Pila del Producto. Es decir se seleccionan actividades prioritarias y
relacionadas y con la restricción del tiempo existente, para que estas formen parte
de la siguiente iteración.
Reunión Diario de Scrum (Daily Scrum), esta actividad se lleva a cabo todos
los días, donde cada miembro del equipo debe comunicar al resto del equipo y al
Scrum Master, tres ítems indicados en la tabla de tareas: lo que se realizó, lo que
se va realizar el día de hoy, y si existe algún impedimento para llevar a cabo el
trabajo. Cada tarea debe evolucionar desde Por hacer (To Do), En Progreso (In
Progress), Realizadas (Done).
Revision del Sprint (Sprint Review). Al final del sprint se muestra a los clientes
y al dueño del Producto el sprint terminado, luego el cliente provee del feedback
necesario y pueden tener o no la necesidad de otro Sprint para mejorar el
producto. Esto ayuda a crear el software con los requerimientos exactos del cliente
y permite que el equipo sea más eficaz.
3.4.4. TAREAS
El panel de tareas muestra todas y cada una de las tareas que tienen asignados cada
uno de los miembros del equipo. Esta tabla se divide en tres columnas que
representan el estado de la tarea: Por hacer, Haciendo, Terminado.
Al inicio del Sprint todas están en la primera columna y cuando se pase una tarea a
la columna número dos, el equipo indicará al Scrum Master y al Product Owner qué
se está haciendo y cuánto tiempo lleva trabajando en dicha tarea para la consecución
de las historias de usuario asignadas al sprint. Al finalizar la tarea, esta debe
cambiarse a la última columna.
Las tareas, según el esfuerzo estimado se pueden encajar en uno de los siguientes
grupos de horas necesarias: 1, 2, 4, 8, las cuales incluirán tareas de diseño,
codificación y pruebas y al final del proceso de codificación y pruebas se debe
presentar un “entregable” o “incremento”.
Página 44
Análisis y Desarrollo de un Sistema Web para la gestión Kardex de un almacén
4. DESARROLLO DE LA INGENIERÍA
4.1. DESARROLLO DE LA INGENIERÍA
4.1.1. PLANIFICACIÓN INICIAL
Por el hecho de que el modelo de negocio normalmente es más amplio que la parte
de sistema computacional, los procesos muestran las actividades que deben ser
realizadas para alcanzar una meta explícita, a través de sus relaciones con los
recursos que participan en el proceso.
Página 46
Análisis y Desarrollo de un Sistema Web para la gestión Kardex de un almacén
Permitir el acceso a
Reporte de Consultar movimientos de los
información confiable,
Kardex productos (Kardex)
precisa y oportuna.
Usuario: Actor con ciertas restricciones dentro del sistema, toma el nombre de
cliente dentro de un restaurante.
Página 48
Análisis y Desarrollo de un Sistema Web para la gestión Kardex de un almacén
Página 50
Análisis y Desarrollo de un Sistema Web para la gestión Kardex de un almacén
Página 52
Análisis y Desarrollo de un Sistema Web para la gestión Kardex de un almacén
Página 54
Análisis y Desarrollo de un Sistema Web para la gestión Kardex de un almacén
Página 56
Análisis y Desarrollo de un Sistema Web para la gestión Kardex de un almacén
Como se puede observar a continuación se definen los Sprints con sus tareas
definidas y estimadas en unidades, las cuales se estimarán en horas a posterior, vale
aclarar que es la estimación inicial y varían entre 20 unidades cada uno.
Página 58
Análisis y Desarrollo de un Sistema Web para la gestión Kardex de un almacén
ID Tarea: T17.08
Tarea 8 Implementar métodos del Front-end para consumir el
servicio REST de alta de orden de ingreso.
ID Tarea: T17.09
Tarea 9 Implementar la interfaz web (formulario) para ingresar
la información necesaria y enviarla al Back-end.
Identificador de la HU01
Historia
Alias Alta Producto
Historia de Usuario Como administrador
Quiero poder dar de alta productos
Para poder disponer de ellos en el Sistema
ID Tarea: T01.01
Tarea 1 Definir y diseñar una estructura de almacenamiento de la
información, (Base de Datos).
Descripción Se procedió a analizar los requerimientos obtenidos por el
cliente, para definir el diseño de la estructura de
almacenamiento, para esto se creó una base de datos con
las tablas: producto, categoria y unidad_medida
definiendo sus respectivos campos con la información
analizada.
Prioridad Alta
Dimensión / 2 Unidades
Esfuerzo
Tiempo estimado 1 Hora
Tiempo dedicado 2 Horas
Página 60
Análisis y Desarrollo de un Sistema Web para la gestión Kardex de un almacén
Comentarios Diseño:
ID Tarea: T01.02
Tarea 2 Desarrollo de Tests
Descripción Utilizando PhpUnit, se implementó el método
testPostProducts() enviando los datos por medio de
request para guardar la información en la base de datos y
dar de alta un producto. Además se implementaron los
métodos testGetAllCategories(), testGetAllMeasures()
para listar todos sus registros de las tablas
correspondientes y ser utilizados cuando se guarde la
información del producto.
Prioridad Alta
Dimensión / 4 Unidades
Esfuerzo
Tiempo estimado 3 Horas
Tiempo dedicado 4 Horas
Comentarios Código implementado:
Fichero:
apiKardex/tests/AppBundle/Controller/ProductControllerTest
apiKardex/tests/AppBundle/Controller/CategoryControllerTest
apiKardex/tests/AppBundle/Controller/MeasureUnitControllerTest
Método:
testGetAllCategories()
testGetAllMeasures()
testPostProducts()
ID Tarea: T01.03
Tarea 3 Implementar método en el Back-end para crear el Servicio
REST de listar todas las categorías.
Método:
getAllCategoriesAction()
ID Tarea: T01.04
Tarea 4 Implementar método en el Back-end para crear el Servicio
REST de listar todas las unidades de medida.
Descripción Se implementó el método getAllMeasuresAction()
utilizando el Framework Symfony con lenguaje PHP para
listar todas las unidades de medida almacenadas en la
Base de Datos.
Prioridad Alta
Dimensión / 1 Unidad
Esfuerzo
Tiempo estimado 2 Horas
Tiempo dedicado 1 Hora
Comentarios Código implementado:
Fichero:
apiKardex/src/AppBundle/Controller/MeasureUnitController
Método:
getAllMeasuresAction()
ID Tarea: T01.05
Tarea 5 Implementar método en el Back-end para crear el Servicio
REST de alta de producto.
Descripción Se implementó el método addProductAction() utilizando
el Framework Symfony con lenguaje PHP para ingresar
la información en la Base de Datos enviada por medio de
un formulario web desde el Front-end.
Prioridad Alta
Dimensión / 2 Unidades
Esfuerzo
Página 62
Análisis y Desarrollo de un Sistema Web para la gestión Kardex de un almacén
Tiempo estimado 2 Horas
Tiempo dedicado 2 Horas
Método:
addProductAction()
ID Tarea: T01.06
Tarea 6 Implementar método en el Front-end para consumir el
servicio REST de listar todas las categorías.
Descripción Se implementó el controlador CtrlProduct utilizando el
Framework Angularjs, Jquery y Ajax para consumir el
servicio REST de listar todas las categorías y poder
utilizarlas desde el Front-end.
Prioridad Alta
Dimensión / 1 Unidad
Esfuerzo
Tiempo estimado 2 Horas
Tiempo dedicado 1 Hora
Comentarios Código implementado:
Fichero:
kardexWeb/app/js/angular_script/kardex_controller.js
Método:
Controlador: CtrlProduct, init function()
ID Tarea: T01.07
Tarea 7 Implementar método en el Front-end para consumir el
servicio REST de listar todas las unidades de medida.
Descripción Se implementó el controlador CtrlProduct utilizando el
Framework Angularjs, Jquery y Ajax para consumir el
servicio REST de listar todas las unidades de medida y
poder utilizarlas desde el Front-end.
Prioridad Alta
Dimensión / 1 Unidad
Esfuerzo
Tiempo estimado 2 Horas
Tiempo dedicado 1 Hora
Método:
Controlador: CtrlProduct, init function()
ID Tarea: T01.08
Tarea 8 Implementar método en el Front-end para consumir el
servicio REST de alta de producto.
Descripción Se implementó el controlador CtrlProduct utilizando el
Framework Angularjs, Jquery y Ajax para consumir el
servicio REST de alta de producto.
Prioridad Alta
Dimensión / 2 Unidades
Esfuerzo
Tiempo estimado 2 Horas
Tiempo dedicado 2 Horas
Comentarios Código implementado:
Fichero:
kardexWeb/app/js/angular_script/kardex_controller.js
Método:
Controlador: CtrlProduct, addProduct function()
ID Tarea: T01.09
Tarea 9 Implementar la interfaz web (formulario) para ingresar la
información necesaria y enviarla al Back-end.
Descripción Se implementó la página web con un formulario
utilizando el Framework Angularjs, HTML para ingresar
la información del producto y enviarla al Back-end y ser
almacenada. Adicional se configuró el archivo de rutas de
Angularjs para re-direccionar a la página solicitada.
Prioridad Alta
Dimensión / 1 Unidad
Esfuerzo
Tiempo estimado 2 Horas
Tiempo dedicado 1 Hora
Comentarios Código implementado:
Fichero:
kardexWeb/app/js/angular_script/kardex_routes.js
kardexWeb/app/templates/product/addProduct.html
Método:
appKardex.config()
Página 64
Análisis y Desarrollo de un Sistema Web para la gestión Kardex de un almacén
ID Tarea: T17.02
Tarea 2 Desarrollo de Tests
Descripción Utilizando PhpUnit, se implementó el método
testPostEntryOrder() enviando los datos por medio de
request para guardar la información en la base de datos
y dar de alta una orden de ingreso.
Método:
testPostEntryOrder()
testGetAllProviders()
testGetAllProducts()
ID Tarea: T17.03
Tarea 3 Implementar método en el Back-end para crear el
Servicio REST de alta de orden de ingreso de un
producto.
Prioridad Alta
Dimensión / Esfuerzo 2 Unidades
Tiempo estimado 2 Horas
Tiempo dedicado 3 Horas
Comentarios Código implementado:
Fichero:
apiKardex/src/AppBundle/Controller/EntryOrderController
Método:
addEntryAction()
ID Tarea: T17.04
Tarea 4 Implementar método en el Back-end para crear el
Servicio REST de listar todos los productos.
Página 66
Análisis y Desarrollo de un Sistema Web para la gestión Kardex de un almacén
Descripción Se implementó el método getAllProductsAction()
utilizando el Framework Symfony con lenguaje PHP
para poder listar todos los productos almacenados en la
Base de Datos.
Prioridad Alta
Dimensión / Esfuerzo 1 Unidad
Tiempo estimado 2 Horas
Tiempo dedicado 1 Hora
Método:
getAllProductsAction()
ID Tarea: T17.05
Tarea 5 Implementar método en el Back-end para crear el
Servicio REST de listar todos los proveedores.
Descripción Se implementó el método getAllProvidersAction()
utilizando el Framework Symfony con lenguaje PHP
para poder listar todos los proveedores almacenados en
la Base de Datos.
Prioridad Alta
Dimensión / Esfuerzo 1 Unidad
Tiempo estimado 2 Horas
Tiempo dedicado 1 Hora
Comentarios Código implementado:
Fichero:
apiKardex/src/AppBundle/Controller/ProviderController
Método:
getAllProvidersAction()
ID Tarea: T17.06
Tarea 6 Implementar método en el Front-end para consumir el
servicio REST de listar todos los productos.
Prioridad Alta
Dimensión / Esfuerzo 1 Unidad
Método:
Controlador: CtrlEntryOrder, init function()
ID Tarea: T17.07
Tarea 7 Implementar métodos del Front-end para consumir el
servicio REST de listar todos los proveedores.
Descripción Se implementó el controlador CtrlEntryOrder
utilizando el Framework Angularjs, Jquery y Ajax para
poder consumir el servicio REST de listar todos los
proveedores y poder ser utilizados desde el Front-end.
Prioridad Alta
Dimensión / Esfuerzo 1 Unidad
Tiempo estimado 1 Hora
Tiempo dedicado 2 Horas
Comentarios Código implementado:
Fichero:
kardexWeb/app/js/angular_script/kardex_controller.js
Método:
Controlador: CtrlEntryOrder, init function()
ID Tarea: T17.08
Tarea 8 Implementar métodos del Front-end para consumir el
servicio REST de alta de orden de ingreso.
Descripción Se implementó el controlador CtrlEntryOrder
utilizando el Framework Angularjs, Jquery y Ajax para
poder consumir el servicio REST de alta de orden de
ingreso de un producto.
Prioridad Alta
Dimensión / Esfuerzo 2 Unidades
Tiempo estimado 1 Hora
Tiempo dedicado 2 Horas
Comentarios Código implementado:
Fichero:
kardexWeb/app/js/angular_script/kardex_controller.js
Método:
Controlador: CtrlEntryOrder, addEntryOrder function()
Página 68
Análisis y Desarrollo de un Sistema Web para la gestión Kardex de un almacén
ID Tarea: T17.09
Tarea 9 Implementar la interfaz web (formulario) para ingresar
la información necesaria y enviarla al Back-end.
Descripción Se implementó la página web con un formulario
utilizando el Framework Angularjs, HTML para poder
ingresar la información de la orden de ingreso del
producto y enviarla al Back-end, para ser almacenada.
Adicional se configuró el archivo de rutas de Angularjs
para re-direccionar a la página solicitada.
Prioridad Alta
Dimensión / Esfuerzo 1 Unidad
Tiempo estimado 2 Horas
Tiempo dedicado 2 Horas
Método:
appKardex.config()
Prioridad Alta
Dimensión / Esfuerzo 4 Unidades
Tiempo estimado 4 Horas
Tiempo dedicado 4 Horas
Método:
testGetProductsByName()
ID Tarea: T20.02
Tarea 2 Implementar método en el Back-end para crear el
Servicio REST de buscar producto por nombre.
Descripción Se implementó el método getProductByNameAction()
utilizando el Framework Symfony con lenguaje PHP
para poder buscar un producto y mostrar su información
por medio de un formulario web desde el Front-end.
Prioridad Alta
Dimensión / Esfuerzo 2 Unidades
Tiempo estimado 1 Hora
Tiempo dedicado 2 Horas
Comentarios Código implementado:
Fichero:
apiKardex/src/AppBundle/Controller/ProductController
Método:
getProductByNameAction()
ID Tarea: T20.03
Tarea 3 Implementar método en el Front-end para consumir el
servicio REST de buscar producto por nombre.
Descripción Se implementó el controlador CtrlProduct utilizando el
Framework Angularjs, Jquery y Ajax para poder
consumir el servicio REST búsqueda de productos y
presentar la información desde el Front-end.
Prioridad Alta
Dimensión / Esfuerzo 2 Unidades
Tiempo estimado 2 Horas
Tiempo dedicado 2 Horas
Comentarios Código implementado:
Fichero:
kardexWeb/app/js/angular_script/kardex_controller.js
Método:
Controlador: CtrlProduct, findProduct function()
Página 70
Análisis y Desarrollo de un Sistema Web para la gestión Kardex de un almacén
ID Tarea: T20.04
Tarea 4 Implementar la interfaz web (formulario de búsqueda)
para obtener la información del producto.
Descripción Se implementó el formulario Web de búsqueda, y una
tabla con paginación utilizando el Framework
Angularjs, HTML para poder consultar la información
del producto a buscar y presentar su información.
Adicional se configuró el archivo de rutas de Angularjs
para re-direccionar a la página solicitada.
Prioridad Alta
Dimensión / Esfuerzo 2 Unidades
Tiempo estimado 2 Horas
Tiempo dedicado 3 Horas
Comentarios Código implementado:
Fichero:
kardexWeb/app/js/angular_script/kardex_routes.js
kardexWeb/app/templates/product/findProduct.html
Método:
appKardex.config()
Sprint 1
50
45
40
35
30
25
20
15
10
5
0
1 2 3 4 5 6 7 8
Página 72
Análisis y Desarrollo de un Sistema Web para la gestión Kardex de un almacén
Página 74
Análisis y Desarrollo de un Sistema Web para la gestión Kardex de un almacén
Comentarios Diseño:
ID Tarea: T12.02
Tarea 2 Desarrollo de Tests
Descripción Utilizando PhpUnit, se implementó el método
testPostRequestProduct() enviando los datos por medio
de request para guardar la información en la base de
datos y poder solicitar un producto. Además se
implementó el método testGetAllLocations para listar
todos sus registros de las tablas correspondientes y ser
utilizados cuando se guarde la información de la
solicitud.
Prioridad Alta
Dimensión / Esfuerzo 4 Unidades
Tiempo estimado 4 Hora
Tiempo dedicado 3 Horas
Comentarios Código implementado:
Fichero:
apiKardex/tests/AppBundle/Controller/ProductControllerTest
apiKardex/tests/AppBundle/Controller/LocationControllerTest
Método:
testPostRequestProduct()
testGetAllLocations()
ID Tarea: T12.03
Tarea 3 Implementar método en el Back-end para crear el
Servicio REST de alta de solicitud de producto.
Página 76
Análisis y Desarrollo de un Sistema Web para la gestión Kardex de un almacén
Descripción Se implementó el método requestProductAction()
utilizando el Framework Symfony con lenguaje PHP
para poder ingresar la información en la Base de Datos
enviados por medio de un formulario web desde el
Front-end.
Prioridad Alta
Dimensión / Esfuerzo 4 Unidades
Tiempo estimado 3 Hora
Tiempo dedicado 3 Horas
Comentarios Código implementado:
Fichero:
apiKardex/src/AppBundle/Controller/ProductController
Método:
requestProductAction()
ID Tarea: T12.04
Tarea 4 Implementar método en el Back-end para crear el
Servicio REST de listar todas las localidades.
Descripción Se implementó el método getAllLocations() utilizando
el Framework Symfony con lenguaje PHP para listar
todos las localidades almacenadas en la Base de Datos.
Prioridad Alta
Dimensión / Esfuerzo 1 Unidad
Tiempo estimado 1 Hora
Tiempo dedicado 1 Hora
Comentarios Código implementado:
Fichero:
apiKardex/src/AppBundle/Controller/LocationController
Método:
getAllLocationsAction()
ID Tarea: T12.05
Tarea 5 Implementar método en el Front-end para consumir el
servicio REST de solicitar producto.
Descripción Se implementó el controlador CtrlRequestProduct
utilizando el Framework Angularjs, Jquery y Ajax para
consumir el servicio REST de solicitar producto desde
el Front-end.
Prioridad Alta
Dimensión / Esfuerzo 2 Unidades
Tiempo estimado 1 Hora
Tiempo dedicado 2 Horas
Método:
Controlador: CtrlRequestProduct, requestProduct function()
ID Tarea: T12.06
Tarea 6 Implementar método en el Front-end para consumir el
servicio REST de listar todas las localidades.
Descripción Se implementó el controlador CtrlRequestProduct
utilizando el Framework Angularjs, Jquery y Ajax para
consumir el servicio REST de listar localidades y poder
utilizarlas desde el Front-end.
Prioridad Alta
Dimensión / Esfuerzo 1 Unidad
Tiempo estimado 1 Hora
Tiempo dedicado 1 Hora
Comentarios Código implementado:
Fichero:
kardexWeb/app/js/angular_script/kardex_controller.js
Método:
Controlador: CtrlRequestProduct, init function()
ID Tarea: T12.07
Tarea 7 Implementar método en el Front-end para consumir el
servicio REST de listar todos los productos.
Descripción Se implementó el controlador CtrlRequestProduct
utilizando el Framework Angularjs, Jquery y Ajax para
poder consumir el servicio REST de listar productos y
poder utilizarlos desde el Front-end.
Prioridad Alta
Dimensión / Esfuerzo 2 Unidades
Tiempo estimado 3 Horas
Tiempo dedicado 2 Horas
Comentarios Código implementado:
Fichero:
kardexWeb/app/js/angular_script/kardex_controller.js
Método:
Controlador: CtrlRequestProduct, init function()
ID Tarea: T12.08
Tarea 8 Implementar la interfaz web (formulario) para ingresar
la información necesaria y enviarla al Back-end.
Página 78
Análisis y Desarrollo de un Sistema Web para la gestión Kardex de un almacén
Descripción Se implementó la página web con un formulario
utilizando el Framework Angularjs, HTML para poder
ingresar la información de la solicitud del producto y
enviarla al Back-end, para ser almacenada. Adicional se
configuró el archivo de rutas de Angularjs para re-
direccionar a la página solicitada.
Prioridad Alta
Dimensión / Esfuerzo 2 Unidades
Tiempo estimado 1 Hora
Tiempo dedicado 2 Horas
Comentarios Código implementado:
Fichero:
kardexWeb/app/js/angular_script/kardex_routes.js
kardexWeb/app/templates/product/requestProduct.html
Método:
appKardex.config()
Comentarios Diseño:
ID Tarea: T19.02
Tarea 2 Desarrollo de Tests
Descripción Utilizando PhpUnit, se implementó el método
testPostOutputOrder() enviando los datos por medio de
request para guardar la información en la base de datos y
dar de alta una orden de ingreso. Además se
implementaron los métodos testGetAllRequest(),
testGetAllClients() para listar todos sus registros de las
tablas correspondientes y ser utilizados cuando se guarde
la información de la orden.
Prioridad Alta
Dimensión / 4 Unidades
Esfuerzo
Tiempo estimado 3 Horas
Tiempo dedicado 4 Horas
Comentarios Código implementado:
Fichero:
apiKardex/tests/AppBundle/Controller/OutputOrderControllerTest
apiKardex/tests/AppBundle/Controller/ProductControllerTest
apiKardex/tests/AppBundle/Controller/ClientControllerTest
Método:
testPostOutputOrder()
testGetAllRequest()
testGetAllClients()
ID Tarea: T19.03
Tarea 3 Implementar método en el Back-end para crear el
Servicio REST de alta de orden de egreso de un producto.
Página 80
Análisis y Desarrollo de un Sistema Web para la gestión Kardex de un almacén
Descripción Se implementó el método addOutputOrderAction()
utilizando el Framework Symfony con lenguaje PHP
para poder ingresar la información en la Base de Datos
enviados por medio de un formulario web desde el Front-
end.
Prioridad Alta
Dimensión / 4 Unidades
Esfuerzo
Tiempo estimado 2 Horas
Tiempo dedicado 4 Horas
Comentarios Código implementado:
Fichero:
apiKardex/src/AppBundle/Controller/OutputOrderController
Método:
addOutputOrderAction()
ID Tarea: T19.04
Tarea 4 Implementar método en el Back-end para crear el
Servicio REST de listar todas las solicitudes de
productos.
Descripción Se implementó el método getAllRequestProductAction()
utilizando el Framework Symfony con lenguaje PHP
para poder listar todas las solicitudes almacenadas en la
Base de Datos.
Prioridad Alta
Dimensión / 2 Unidades
Esfuerzo
Tiempo estimado 2 Horas
Tiempo dedicado 2 Horas
Comentarios Código implementado:
Fichero:
apiKardex/src/AppBundle/Controller/ProductController
Método:
getAllRequestProductAction()
ID Tarea: T19.05
Tarea 5 Implementar método en el Back-end para crear el
Servicio REST de listar todos los clientes o encargados.
Descripción Se implementó el método getAllClientsAction()
utilizando el Framework Symfony con lenguaje PHP
para poder listar todos los clientes o encargados
almacenados en la Base de Datos.
Prioridad Alta
Dimensión / 1 Unidad
Esfuerzo
Tiempo estimado 1 Hora
Tiempo dedicado 1 Hora
Comentarios Código implementado:
Fichero:
apiKardex/src/AppBundle/Controller/ClientController
Método:
getAllClientsAction()
ID Tarea: T19.06
Tarea 6 Implementar método en el Front-end para consumir el
servicio REST de listar todas las solicitudes de
productos.
Descripción Se implementó el controlador CtrlOutputOrder
utilizando el Framework Angularjs, Jquery y Ajax para
poder consumir el servicio REST de listar todas las
solicitudes de productos y poder utilizarlas desde el
Front-end.
Prioridad Alta
Dimensión / 2 Unidades
Esfuerzo
Tiempo estimado 2 Horas
Tiempo dedicado 2 Horas
Comentarios Código implementado:
Fichero:
kardexWeb/app/js/angular_script/kardex_controller.js
Método:
Controlador: CtrlOutputOrder, init function()
ID Tarea: T19.07
Tarea 7 Implementar método en el Front-end para consumir el
servicio REST de listar todos los clientes o encargados.
Descripción Se implementó el controlador CtrlOutputOrder
utilizando el Framework Angularjs, Jquery y Ajax para
poder consumir el servicio REST de listar todos los
clientes o encargados y poder utilizarlos desde el Front-
end.
Prioridad Alta
Dimensión / 1 Unidad
Esfuerzo
Página 82
Análisis y Desarrollo de un Sistema Web para la gestión Kardex de un almacén
Tiempo estimado 1 Hora
Tiempo dedicado 1 Hora
Comentarios Código implementado:
Fichero:
kardexWeb/app/js/angular_script/kardex_controller.js
Método:
Controlador: CtrlOutputOrder, init function()
ID Tarea: T19.08
Tarea 8 Implementar método en el Front-end para consumir el
servicio REST de alta de orden de egreso.
Prioridad Alta
Dimensión / 2 Unidades
Esfuerzo
Tiempo estimado 1 Hora
Tiempo dedicado 2 Horas
Comentarios Código implementado:
Fichero:
kardexWeb/app/js/angular_script/kardex_controller.js
Método:
Controlador: CtrlOutputOrder, addOutputOrder function()
ID Tarea: T19.09
Tarea 9 Implementar la interfaz web (formulario) para ingresar la
información necesaria y enviarla al Back-end.
Prioridad Alta
Dimensión / 2 Unidades
Esfuerzo
Tiempo estimado 2 Horas
Tiempo dedicado 2 Horas
Comentarios Código implementado:
Fichero:
kardexWeb/app/js/angular_script/kardex_routes.js
kardexWeb/app/templates/outputOrder/OutputOrder.html
Método:
appKardex.config()
Prioridad Alta
Dimensión / Esfuerzo 2 Unidades
Tiempo estimado 2 Horas
Tiempo dedicado 2 Horas
Comentarios Código implementado:
Fichero:
kardexWeb/app/js/angular_script/kardex_controller.js
Método:
Controlador: CtrlProduct, listProducts function()
ID Tarea: T21.02
Tarea 2 Implementar la interfaz web para obtener la
información de todos los productos.
Página 84
Análisis y Desarrollo de un Sistema Web para la gestión Kardex de un almacén
Descripción Se implementó la interfaz Web utilizando el Framework
Angularjs, HTML para poder consultar la información
de todos los productos. Adicional se configuró el
archivo de rutas de Angularjs para re-direccionar a la
página solicitada.
Prioridad Alta
Dimensión / Esfuerzo 2 Unidades
Tiempo estimado 1 Hora
Tiempo dedicado 2 Horas
Comentarios Código implementado:
Fichero:
kardexWeb/app/js/angular_script/kardex_routes.js
kardexWeb/app/templates/product/listProduct.html
Método:
appKardex.config()
Sprint 2
45
40
35
30
25
20
15
10
5
0
1 2 3 4 5 6 7 8
Página 86
Análisis y Desarrollo de un Sistema Web para la gestión Kardex de un almacén
ID Tarea: T22.06
Tarea 6 Implementar método en el Front-end para consumir el
servicio REST de buscar los movimientos de salida por
código de producto.
ID Tarea: T22.07
Tarea 7 Implementar método en el Front-end para consumir el
servicio REST de buscar producto por código
ID Tarea: T22.08
Tarea 8 Implementar la interfaz web para buscar y presentar la
información de los movimientos de un producto.
Página 88
Análisis y Desarrollo de un Sistema Web para la gestión Kardex de un almacén
Identificador de la HU22
Historia
Alias Consultar Movimientos de Productos
Historia de Usuario Como administrador
Quiero poder listar todos los movimientos de entrada
y salida de los productos
Para poder llevar un mejor control de caja y stock
del almacén.
ID Tarea: T22.01
Tarea 1 Desarrollo de Tests
Descripción Utilizando PhpUnit, se implementaron los métodos:
testGetEntryMovementByProduct() para buscar los
movimientos de entrada de un producto por su código,
testGetOutputMovementByProduct() para buscar los
movimientos de salida de un producto por su código,
testGetProductByCode() para buscar un producto por su
código.
Prioridad Alta
Dimensión / 4 Unidades
Esfuerzo
Tiempo estimado 5 Horas
Tiempo dedicado 4 Horas
Comentarios Código implementado:
Fichero:
apiKardex/tests/AppBundle/Controller/EntryOrderControllerTest
apiKardex/tests/AppBundle/Controller/OutputOrderControllerTest
apiKardex/tests/AppBundle/Controller/ProductControllerTest
Método:
testGetEntryMovementByProduct ()
testGetOutputMovementByProduct ()
testGetProductByCode ()
ID Tarea: T22.02
Tarea 2 Implementar método en el Back-end para crear el
Servicio REST de buscar los movimientos de entrada por
código de producto.
Prioridad Alta
Dimensión / 2 Unidades
Esfuerzo
Tiempo estimado 3 Horas
Tiempo dedicado 2 Horas
Comentarios Código implementado:
Fichero:
apiKardex/src/AppBundle/Controller/EntryOrderController
Método:
getEntryMovementByProductAction ()
ID Tarea: T22.03
Tarea 3 Implementar método en el Back-end para crear el
Servicio REST de buscar los movimientos de salida por
código de producto.
Página 90
Análisis y Desarrollo de un Sistema Web para la gestión Kardex de un almacén
Descripción Se implementó el método
getOutputMovementByProductAction() utilizando el
Framework Symfony con lenguaje PHP para buscar los
movimientos de salida de un producto y mostrar su
información por medio de un formulario web desde el
Front-end.
Prioridad Alta
Dimensión / 2 Unidades
Esfuerzo
Tiempo estimado 3 Horas
Tiempo dedicado 2 Horas
Comentarios Código implementado:
Fichero:
apiKardex/src/AppBundle/Controller/OutputOrderController
Método:
getOutputMovementByProductAction()
ID Tarea: T22.04
Tarea 4 Implementar método en el Back-end para crear el
Servicio REST de buscar producto por código.
Descripción Se implementó el método getProductByCodeAction()
utilizando el Framework Symfony con lenguaje PHP
para buscar un producto por su código y mostrar su
información por medio de un formulario web desde el
Front-end.
Prioridad Alta
Dimensión / 2 Unidades
Esfuerzo
Tiempo estimado 2 Horas
Tiempo dedicado 2 Horas
Comentarios Código implementado:
Fichero:
apiKardex/src/AppBundle/Controller/ProductController
Método:
getProductByCodeAction ()
ID Tarea: T22.05
Tarea 5 Implementar método en el Front-end para consumir el
servicio REST de buscar los movimientos de entrada por
código de producto.
Método:
Controlador: CtrlKardexConsult, searchMovement function()
ID Tarea: T22.06
Tarea 6 Implementar método en el Front-end para consumir el
servicio REST de buscar los movimientos de salida por
código de producto.
Prioridad Alta
Dimensión / 2 Unidades
Esfuerzo
Tiempo estimado 2 Horas
Tiempo dedicado 2 Horas
Comentarios Código implementado:
Fichero:
kardexWeb/app/js/angular_script/kardex_controller.js
Método:
Controlador: CtrlKardexConsult, searchMovement function()
ID Tarea: T22.07
Tarea 7 Implementar método en el Front-end para consumir el
servicio REST de buscar producto por código.
Página 92
Análisis y Desarrollo de un Sistema Web para la gestión Kardex de un almacén
Descripción Se implementó el controlador CtrlKardexConsult
utilizando el Framework Angularjs, Jquery y Ajax para
poder consumir el servicio REST búsqueda de producto
por código y presentar la información desde el Front-end.
Prioridad Alta
Dimensión / 2 Unidades
Esfuerzo
Tiempo estimado 1 Hora
Tiempo dedicado 2 Horas
Comentarios Código implementado:
Fichero:
kardexWeb/app/js/angular_script/kardex_controller.js
Método:
Controlador: CtrlKardexConsult, searchMovement function()
ID Tarea: T22.08
Tarea 8 Implementar la interfaz web para buscar y presentar la
información de los movimientos de un producto.
Descripción Se implementó el formulario Web de búsqueda, y una
tabla con paginación utilizando el Framework
Angularjs, HTML para poder presentar la información
consultada del producto y sus movimientos de entrada y
salida. Adicional se configuró el archivo de rutas de
Angularjs para re-direccionar a la página solicitada.
Prioridad Alta
Dimensión / 4 Unidades
Esfuerzo
Tiempo estimado 3 Horas
Tiempo dedicado 4 Horas
Comentarios Código implementado:
Fichero:
kardexWeb/app/js/angular_script/kardex_routes.js
kardexWeb/app/templates/product/kardexConsult.html
Método:
appKardex.config()
Prioridad Alta
Dimensión / Esfuerzo 1 Unidad
Tiempo estimado 1 Hora
Tiempo dedicado 1 Hora
Comentarios Código implementado:
Fichero:
kardexWeb/app/js/angular_script/kardex_routes.js
kardexWeb/app/templates/home.html
Método:
appKardex.config()
ID Tarea: T23.03
Tarea 3 Implementar menú con las opciones del sistema.
Descripción Diseñar e implementar la interfaz web que permita
disponer de un menú para acceder a las distintas partes
de la aplicación.
Página 94
Análisis y Desarrollo de un Sistema Web para la gestión Kardex de un almacén
Prioridad Alta
Dimensión / Esfuerzo 2 Unidades
Tiempo estimado 1 Hora
Tiempo dedicado 2 Horas
Comentarios Código implementado:
Fichero:
kardexWeb/app/templates/index.html
Método:
testGetRequestById()
testCancelRequest()
ID Tarea: T14.02
Tarea 2 Implementar método en el Back-end para crear el
Servicio REST de buscar solicitud de producto por id.
Descripción Se implementó el método getRequestByIdAction()
utilizando el Framework Symfony con lenguaje PHP
para poder buscar una solicitud de producto por id y
mostrar su información por medio de un formulario
web desde el Front-end.
Prioridad Alta
Dimensión / Esfuerzo 2 Unidades
Tiempo estimado 3 Horas
Tiempo dedicado 2 Horas
Comentarios Código implementado:
Fichero:
apiKardex/src/AppBundle/Controller/ProductController
Método:
getRequestByIdAction()
ID Tarea: T14.03
Tarea 3 Implementar método en el Back-end para actualizar el
estado de la solicitud para cancelarla.
Descripción Se implementó el método cancelRequestAction()
utilizando el Framework Symfony con lenguaje PHP
para cancelar la solicitud de un producto.
Prioridad Alta
Dimensión / Esfuerzo 2 Unidades
Tiempo estimado 2 Horas
Tiempo dedicado 2 Horas
Comentarios Código implementado:
Fichero:
apiKardex/src/AppBundle/Controller/ProductController
Método:
cancelRequestAction()
ID Tarea: T14.04
Tarea 4 Implementar método en el Front-end para consumir el
servicio REST de buscar solicitud de producto por id.
Descripción Se implementó el método en el controlador
CtrlRequestProduct utilizando el Framework
Angularjs, Jquery y Ajax para consumir el servicio
REST de solicitud de producto por id y presentar la
información desde el Front-end.
Prioridad Alta
Dimensión / Esfuerzo 2 Unidades
Tiempo estimado 1 Hora
Tiempo dedicado 2 Horas
Comentarios Código implementado:
Fichero:
kardexWeb/app/js/angular_script/kardex_controller.js
Método:
Controlador: CtrlRequestProduct, findRequest function()
Página 96
Análisis y Desarrollo de un Sistema Web para la gestión Kardex de un almacén
ID Tarea: T14.05
Tarea 5 Implementar método en el Front-end para consumir el
servicio REST de actualizar el estado de la solicitud
para cancelarla.
Descripción Se implementó el método en el controlador
CtrlRequestProduct utilizando el Framework
Angularjs, Jquery y Ajax para consumir el servicio
REST de cancelar la solicitud de un producto.
Prioridad Alta
Dimensión / Esfuerzo 2 Unidades
Tiempo estimado 1 Hora
Tiempo dedicado 2 Horas
Comentarios Código implementado:
Fichero:
kardexWeb/app/js/angular_script/kardex_controller.js
Método:
Controlador: CtrlRequestProduct, cancelRequest function()
ID Tarea: T14.06
Tarea 6 Implementar la interfaz web para buscar y presentar la
información de la solicitud de un producto.
Descripción Se implementó el formulario Web de búsqueda
utilizando el Framework Angularjs, HTML para poder
presentar la información consultada de la solicitud de
producto, para luego poder ser cancelada. Adicional se
configuró el archivo de rutas de Angularjs para re-
direccionar a la página solicitada.
Prioridad Alta
Dimensión / Esfuerzo 4 Unidades
Tiempo estimado 2 Horas
Tiempo dedicado 4 Horas
Comentarios Código implementado:
Fichero:
kardexWeb/app/js/angular_script/kardex_routes.js
kardexWeb/app/templates/product/cancelRequest.html
Método:
appKardex.config()
Método:
testPostClient()
ID Tarea: T04.02
Tarea 2 Implementar método en el Back-end para crear el
Servicio REST de alta de cliente.
Descripción Se implementó el método addClientAction() utilizando
el Framework Symfony con lenguaje PHP para ingresar
la información en la Base de Datos enviada por medio
de un formulario web desde el Front-end.
Prioridad Alta
Dimensión / Esfuerzo 2 Unidad
Tiempo estimado 2 Horas
Tiempo dedicado 2 Horas
Comentarios Código implementado:
Fichero:
apiKardex/src/AppBundle/Controller/ClientController
Método:
addClientAction()
Página 98
Análisis y Desarrollo de un Sistema Web para la gestión Kardex de un almacén
ID Tarea: T04.03
Tarea 3 Implementar método en el Front-end para consumir el
servicio REST de alta de cliente.
Descripción Se implementó el controlador CtrlClient utilizando el
Framework Angularjs, Jquery y Ajax para consumir el
servicio REST de alta de cliente.
Prioridad Alta
Dimensión / Esfuerzo 2 Unidades
Tiempo estimado 1 Hora
Tiempo dedicado 2 Horas
Comentarios Código implementado:
Fichero:
kardexWeb/app/js/angular_script/kardex_controller.js
Método:
Controlador: CtrlClient, addClient function()
ID Tarea: T04.04
Tarea 4 Implementar la interfaz web (formulario) para ingresar
la información necesaria y enviarla al Back-end.
Descripción Se implementó la página web con un formulario
utilizando el Framework Angularjs, HTML para poder
ingresar la información del cliente y enviarla al Back-
end, para ser almacenada. Adicional se configuró el
archivo de rutas de Angularjs para re-direccionar a la
página solicitada.
Prioridad Alta
Dimensión / Esfuerzo 1 Unidad
Tiempo estimado 2 Horas
Tiempo dedicado 1 Hora
Comentarios Código implementado:
Fichero:
kardexWeb/app/js/angular_script/kardex_routes.js
kardexWeb/app/templates/product/addClient.html
Método:
appKardex.config()
Sprint 3
60
50
40
30
20
10
0
1 2 3 4 5 6 7 8 9
Página 100
Análisis y Desarrollo de un Sistema Web para la gestión Kardex de un almacén
ID Tarea: T08.04
Tarea 4 Implementar la interfaz web (formulario) para ingresar
la información necesaria y enviarla al Back-end.
Página 102
Análisis y Desarrollo de un Sistema Web para la gestión Kardex de un almacén
ID Tarea: T06.01
Tarea 1 Desarrollo de Tests
Descripción Utilizando PhpUnit, se implementó el método
testPostProvider() enviando los datos por medio de
request para guardar la información en la base de datos
y dar de alta un proveedor.
Prioridad Alta
Dimensión / Esfuerzo 4 Unidades
Tiempo estimado 2 Horas
Tiempo dedicado 2 Horas
Comentarios Código implementado:
Fichero:
apiKardex/tests/AppBundle/Controller/ProviderControllerTest
Método:
testPostProvider()
ID Tarea: T06.02
Tarea 2 Implementar método en el Back-end para crear el
Servicio REST de alta de proveedor.
Descripción Se implementó el método addProviderAction()
utilizando el Framework Symfony con lenguaje PHP
para poder ingresar la información en la Base de Datos
enviada por medio de un formulario web desde el Front-
end.
Prioridad Alta
Dimensión / Esfuerzo 2 Unidad
Tiempo estimado 1 Hora
Tiempo dedicado 1 Hora
Comentarios Código implementado:
Fichero:
apiKardex/src/AppBundle/Controller/ProviderController
Método:
addProviderAction()
ID Tarea: T06.03
Tarea 3 Implementar método en el Front-end para consumir el
servicio REST de alta de proveedor.
Descripción Se implementó el controlador CtrlProvider utilizando el
Framework Angularjs, Jquery y Ajax para consumir el
servicio REST de alta de proveedor.
Prioridad Alta
Dimensión / Esfuerzo 2 Unidades
Tiempo estimado 2 Horas
Página 104
Análisis y Desarrollo de un Sistema Web para la gestión Kardex de un almacén
Tiempo dedicado 2 Horas
Comentarios Código implementado:
Fichero:
kardexWeb/app/js/angular_script/kardex_controller.js
Método:
Controlador: CtrlProvider, addProvider function()
ID Tarea: T06.04
Tarea 4 Implementar la interfaz web (formulario) para ingresar
la información necesaria y enviarla al Back-end.
Descripción Se implementó la página web con un formulario
utilizando el Framework Angularjs, HTML para
ingresar la información del proveedor y enviarla al
Back-end, para ser almacenada. Adicional se configuró
el archivo de rutas de Angularjs para re-direccionar a la
página solicitada.
Prioridad Alta
Dimensión / Esfuerzo 1 Unidad
Tiempo estimado 1 Hora
Tiempo dedicado 1 Hora
Comentarios Código implementado:
Fichero:
kardexWeb/app/js/angular_script/kardex_routes.js
kardexWeb/app/templates/product/addProvider.html
Método:
appKardex.config()
Prioridad Alta
Dimensión / Esfuerzo 2 Unidades
Tiempo estimado 2 Horas
Tiempo dedicado 2 Horas
Comentarios Código implementado:
Fichero:
apiKardex/tests/AppBundle/Controller/CategoryControllerTest
Método:
testPostCategory()
ID Tarea: T08.02
Tarea 2 Implementar método en el Back-end para crear el
Servicio REST de alta de categoría.
Descripción Se implementó el método addCategoryAction()
utilizando el Framework Symfony con lenguaje PHP
para poder ingresar la información en la Base de Datos
enviada por medio de un formulario web desde el Front-
end.
Prioridad Alta
Dimensión / Esfuerzo 1 Unidad
Tiempo estimado 2 Horas
Tiempo dedicado 1 Hora
Comentarios Código implementado:
Fichero:
apiKardex/src/AppBundle/Controller/CategoryController
Método:
addCategoryAction()
ID Tarea: T08.03
Tarea 3 Implementar método en el Front-end para consumir el
servicio REST de alta de categoría.
Descripción Se implementó el controlador CtrlCategory utilizando
el Framework Angularjs, Jquery y Ajax para consumir
el servicio REST de alta de categoría.
Prioridad Alta
Dimensión / Esfuerzo 2 Unidades
Tiempo estimado 2 Horas
Tiempo dedicado 2 Horas
Comentarios Código implementado:
Fichero:
kardexWeb/app/js/angular_script/kardex_controller.js
Método:
Controlador: CtrlCategory, addCategory function()
Página 106
Análisis y Desarrollo de un Sistema Web para la gestión Kardex de un almacén
ID Tarea: T08.04
Tarea 4 Implementar la interfaz web (formulario) para ingresar
la información necesaria y enviarla al Back-end.
Descripción Se implementó la página web con un formulario
utilizando el Framework Angularjs, HTML para poder
ingresar la información de la categoría y enviarla al
Back-end, para ser almacenada. Adicional se configuró
el archivo de rutas de Angularjs para re-direccionar a la
página solicitada.
Prioridad Alta
Dimensión / Esfuerzo 1 Unidad
Tiempo estimado 1 Hora
Tiempo dedicado 1 Hora
Comentarios Código implementado:
Fichero:
kardexWeb/app/js/angular_script/kardex_routes.js
kardexWeb/app/templates/category/addCategory.html
Método:
appKardex.config()
Prioridad Alta
Dimensión / Esfuerzo 2 Unidades
Tiempo estimado 2 Horas
Tiempo dedicado 2 Horas
Método:
testPostLocation()
ID Tarea: T10.02
Tarea 2 Implementar método en el Back-end para crear el
Servicio REST de alta de categoría.
Descripción Se implementó el método addLocationAction()
utilizando el Framework Symfony con lenguaje PHP
para poder ingresar la información en la Base de Datos
enviada por medio de un formulario web desde el Front-
end.
Prioridad Alta
Dimensión / Esfuerzo 1 Unidad
Tiempo estimado 2 Horas
Tiempo dedicado 1 Hora
Comentarios Código implementado:
Fichero:
apiKardex/src/AppBundle/Controller/LocationController
Método:
addLocationAction()
ID Tarea: T10.03
Tarea 3 Implementar método en el Front-end para consumir el
servicio REST de alta de localidad.
Método:
Controlador: CtrlLocation, addLocation function()
Página 108
Análisis y Desarrollo de un Sistema Web para la gestión Kardex de un almacén
ID Tarea: T10.04
Tarea 4 Implementar la interfaz web (formulario) para ingresar
la información necesaria y enviarla al Back-end.
Descripción Se implementó la página web con un formulario
utilizando el Framework Angularjs, HTML para poder
ingresar la información de la localidad y enviarla al
Back-end, para ser almacenada. Adicional se configuró
el archivo de rutas de Angularjs para re-direccionar a la
página solicitada.
Prioridad Alta
Dimensión / Esfuerzo 1 Unidad
Tiempo estimado 2 Horas
Tiempo dedicado 1 Hora
Comentarios Código implementado:
Fichero:
kardexWeb/app/js/angular_script/kardex_routes.js
kardexWeb/app/templates/category/addLocation.html
Método:
appKardex.config()
Prioridad Alta
Dimensión / 2 Unidades
Esfuerzo
Tiempo estimado 2 Horas
Tiempo dedicado 2 Horas
Método:
testPostMeasureUnit()
ID Tarea: T15.02
Tarea 2 Implementar método en el Back-end para crear el
Servicio REST de alta de unidad de medida.
Descripción Se implementó el método addMeasureUnitAction()
utilizando el Framework Symfony con lenguaje PHP para
poder ingresar la información en la Base de Datos
enviada por medio de un formulario web desde el Front-
end.
Prioridad Alta
Dimensión / 1 Unidad
Esfuerzo
Tiempo estimado 2 Horas
Tiempo dedicado 1 Hora
Comentarios Código implementado:
Fichero:
apiKardex/src/AppBundle/Controller/MeasureUnitController
Método:
addMeasureUnitAction()
ID Tarea: T15.03
Tarea 3 Implementar método en el Front-end para consumir el
servicio REST de alta de unidad de medida.
Descripción Se implementó el controlador CtrlMeasureUnit
utilizando el Framework Angularjs, Jquery y Ajax para
consumir el servicio REST de alta de unidad de medida.
Prioridad Alta
Dimensión / 2 Unidades
Esfuerzo
Tiempo estimado 2 Horas
Tiempo dedicado 2 Horas
Comentarios Código implementado:
Fichero:
kardexWeb/app/js/angular_script/kardex_controller.js
Método:
Controlador: CtrlMeasureUnit, addMeasureUnit function()
Página 110
Análisis y Desarrollo de un Sistema Web para la gestión Kardex de un almacén
ID Tarea: T15.04
Tarea 4 Implementar la interfaz web (formulario) para ingresar la
información necesaria y enviarla al Back-end.
Descripción Se implementó la página web con un formulario
utilizando el Framework Angularjs, HTML para poder
ingresar la información de la unidad de medida y enviarla
al Back-end, para ser almacenada. Adicional se configuró
el archivo de rutas de Angularjs para re-direccionar a la
página solicitada.
Prioridad Alta
Dimensión / 1 Unidad
Esfuerzo
Tiempo estimado 2 Horas
Tiempo dedicado 1 Hora
Comentarios Código implementado:
Fichero:
kardexWeb/app/js/angular_script/kardex_routes.js
kardexWeb/app/templates/measureUnit/addMeasureUnit.html
Método:
appKardex.config()
Método:
testPutClient()
testGetClientByDni()
ID Tarea: T05.02
Tarea 2 Implementar método en el Back-end para crear el
Servicio REST de buscar cliente por DNI.
Descripción Se implementó el método getClientByDniAction()
utilizando el Framework Symfony con lenguaje PHP
para buscar la información en la Base de Datos de un
cliente mediante su DNI.
Prioridad Alta
Dimensión / Esfuerzo 1 Unidad
Tiempo estimado 1 Hora
Tiempo dedicado 1 Hora
Comentarios Código implementado:
Fichero:
apiKardex/src/AppBundle/Controller/ClientController
Método:
getClientByDniAction()
ID Tarea: T05.03
Tarea 3 Implementar método en el Back-end para crear el
Servicio REST de modificar cliente.
Descripción Se implementó el método editClientAction() utilizando
el Framework Symfony con lenguaje PHP para editar la
información de un cliente en la Base de Datos enviada
por medio de un formulario web desde el Front-end.
Prioridad Alta
Dimensión / Esfuerzo 2 Unidades
Tiempo estimado 1 Hora
Tiempo dedicado 2 Horas
Comentarios Código implementado:
Fichero:
apiKardex/src/AppBundle/Controller/ClientController
Método:
editClientAction()
ID Tarea: T05.04
Tarea 4 Implementar método en el Front-end para consumir el
servicio REST de listar todos los clientes.
Descripción Se implementó el controlador CtrlClient utilizando el
Framework Angularjs, Jquery y Ajax para consumir el
servicio REST de listar clientes.
Prioridad Alta
Dimensión / Esfuerzo 1 Unidad
Tiempo estimado 1 Hora
Tiempo dedicado 1 Hora
Página 112
Análisis y Desarrollo de un Sistema Web para la gestión Kardex de un almacén
Comentarios Código implementado:
Fichero:
kardexWeb/app/js/angular_script/kardex_controller.js
Método:
Controlador: CtrlClient, listClients function()
ID Tarea: T05.05
Tarea 5 Implementar método en el Front-end para consumir el
servicio REST de buscar cliente por DNI.
Descripción Se implementó el controlador CtrlClient utilizando el
Framework Angularjs, Jquery y Ajax para consumir el
servicio REST de buscar cliente por id.
Prioridad Alta
Dimensión / Esfuerzo 1 Unidad
Tiempo estimado 1 Hora
Tiempo dedicado 1 Hora
Comentarios Código implementado:
Fichero:
kardexWeb/app/js/angular_script/kardex_controller.js
Método:
Controlador: CtrlClient, findClient function()
ID Tarea: T05.06
Tarea 6 Implementar método en el Front-end para consumir el
servicio REST de modificar cliente.
Descripción Se implementó el controlador CtrlClient utilizando el
Framework Angularjs, Jquery y Ajax para consumir el
servicio REST de modificar cliente.
Prioridad Alta
Dimensión / Esfuerzo 1 Unidad
Tiempo estimado 2 Horas
Tiempo dedicado 1 Hora
Comentarios Código implementado:
Fichero:
kardexWeb/app/js/angular_script/kardex_controller.js
Método:
Controlador: CtrlClient, editClient function()
ID Tarea: T05.07
Tarea 7 Implementar la interfaz web para listar todos los
clientes almacenados en el Sistema.
Prioridad Alta
Dimensión / Esfuerzo 2 Unidades
Tiempo estimado 1 Hora
Tiempo dedicado 2 Horas
Comentarios Código implementado:
Fichero:
kardexWeb/app/js/angular_script/kardex_routes.js
kardexWeb/app/templates/client/listClients.html
Método:
appKardex.config()
ID Tarea: T05.08
Tarea 8 Implementar la interfaz web (formulario) con la
información del cliente, lista para editarla si es
necesario y enviarla al Back-end.
Descripción Se implementó la página web con un formulario
utilizando el Framework Angularjs, HTML para editar
la información del cliente y enviarla al Back-end, para
ser almacenada. Adicional se configuró el archivo de
rutas de Angularjs para re-direccionar a la página
solicitada.
Prioridad Alta
Dimensión / Esfuerzo 2 Unidades
Tiempo estimado 2 Horas
Tiempo dedicado 2 Horas
Comentarios Código implementado:
Fichero:
kardexWeb/app/js/angular_script/kardex_routes.js
kardexWeb/app/templates/client/editClient.html
Método:
appKardex.config()
Página 114
Análisis y Desarrollo de un Sistema Web para la gestión Kardex de un almacén
Sprint 4
45
40
35
30
25
20
15
10
5
0
1 2 3 4 5 6 7 8 9
Página 116
Análisis y Desarrollo de un Sistema Web para la gestión Kardex de un almacén
ID Tarea: T07.05
Tarea 5 Implementar método en el Front-end para consumir el
servicio REST de buscar proveedor por id.
ID Tarea: T07.06
Tarea 6 Implementar método en el Front-end para consumir el
servicio REST de modificar proveedor.
ID Tarea: T07.07
Tarea 7 Implementar la interfaz web para listar todos los
proveedores almacenados en el Sistema.
ID Tarea: T07.08
Tarea 8 Implementar la interfaz web (formulario) para editar la
información necesaria del proveedor y enviarla al Back-
end.
Página 118
Análisis y Desarrollo de un Sistema Web para la gestión Kardex de un almacén
Prioridad Alta
Dimensión / Esfuerzo 4 Unidades
Tiempo estimado 3 Horas
Tiempo dedicado 4 Horas
Comentarios Código implementado:
Fichero:
apiKardex/app/appKernel.php
apiKardex/app/config/parameters.yml
ID Tarea: T02.02
Tarea 2 Desarrollo de Tests
Descripción Utilizando PhpUnit, se implementó el método
testSendEmail().
Prioridad Alta
Dimensión / Esfuerzo 4 Unidades
Tiempo estimado 2 Horas
Tiempo dedicado 2 Horas
Comentarios Código implementado:
Fichero:
apiKardex/tests/AppBundle/Controller/ProductControllerTest
Método:
testSendEmail()
ID Tarea: T02.03
Tarea 3 Implementar método en el Back-end para crear el
Servicio REST de enviar email.
Descripción Se implementó el método sendEmailAction() utilizando
el Framework Symfony con lenguaje PHP para realizar
las pruebas correspondientes, para luego incluir el
código implementado en el método de Solicitar
Producto requestProductAction().
Prioridad Alta
Dimensión / Esfuerzo 2 Unidades
Tiempo estimado 2 Horas
Tiempo dedicado 2 Horas
Comentarios Código implementado:
Fichero:
apiKardex/src/AppBundle/Controller/ProductController
Método:
sendEmailAction()
requestProductAction()
Método:
testPutProvider()
testGetProviderById()
Página 120
Análisis y Desarrollo de un Sistema Web para la gestión Kardex de un almacén
ID Tarea: T07.02
Tarea 2 Implementar método en el Back-end para crear el
Servicio REST de buscar proveedor por id.
Descripción Se implementó el método getProviderByIdAction()
utilizando el Framework Symfony con lenguaje PHP
para buscar la información en la Base de Datos de un
proveedor mediante su id.
Prioridad Alta
Dimensión / Esfuerzo 1 Unidad
Tiempo estimado 1 Hora
Tiempo dedicado 1 Hora
Comentarios Código implementado:
Fichero:
apiKardex/src/AppBundle/Controller/ProviderController
Método:
getProviderByIdAction()
ID Tarea: T07.03
Tarea 3 Implementar método en el Back-end para crear el
Servicio REST de modificar proveedor.
Prioridad Alta
Dimensión / Esfuerzo 2 Unidades
Tiempo estimado 1 Hora
Tiempo dedicado 2 Horas
Comentarios Código implementado:
Fichero:
apiKardex/src/AppBundle/Controller/ProviderController
Método:
editProviderAction()
ID Tarea: T07.04
Tarea 4 Implementar método en el Front-end para consumir el
servicio REST de listar todos los proveedores.
Prioridad Alta
Dimensión / Esfuerzo 1 Unidad
Tiempo estimado 1 Hora
Tiempo dedicado 1 Hora
Comentarios Código implementado:
Fichero:
kardexWeb/app/js/angular_script/kardex_controller.js
Método:
Controlador: CtrlProvider, listProviders function()
ID Tarea: T07.05
Tarea 5 Implementar método en el Front-end para consumir el
servicio REST de buscar proveedor por id.
Descripción Se implementó el controlador CtrlProvider utilizando el
Framework Angularjs, Jquery y Ajax para consumir el
servicio REST de buscar proveedor por id.
Prioridad Alta
Dimensión / Esfuerzo 1 Unidad
Tiempo estimado 1 Hora
Tiempo dedicado 1 Hora
Comentarios Código implementado:
Fichero:
kardexWeb/app/js/angular_script/kardex_controller.js
Método:
Controlador: CtrlProvider, findProvider function()
ID Tarea: T07.06
Tarea 6 Implementar método en el Front-end para consumir el
servicio REST de modificar proveedor.
Descripción Se implementó el controlador CtrlProvider utilizando el
Framework Angularjs, Jquery y Ajax para consumir el
servicio REST de modificar proveedor.
Prioridad Alta
Dimensión / Esfuerzo 1 Unidad
Tiempo estimado 2 Horas
Tiempo dedicado 1 Hora
Página 122
Análisis y Desarrollo de un Sistema Web para la gestión Kardex de un almacén
Comentarios Código implementado:
Fichero:
kardexWeb/app/js/angular_script/kardex_controller.js
Método:
Controlador: CtrlProvider, editProvider function()
ID Tarea: T07.07
Tarea 7 Implementar la interfaz web para listar todos los
proveedores almacenados en el Sistema.
Descripción Se implementó la página web utilizando el Framework
Angularjs, HTML para poder listar la información de
todos los proveedores almacenados. Adicional se
configuró el archivo de rutas de Angularjs para re-
direccionar a la página solicitada.
Prioridad Alta
Dimensión / Esfuerzo 2 Unidades
Tiempo estimado 1 Hora
Tiempo dedicado 2 Horas
Comentarios Código implementado:
Fichero:
kardexWeb/app/js/angular_script/kardex_routes.js
kardexWeb/app/templates/provider/listProviders.html
Método:
appKardex.config()
ID Tarea: T07.08
Tarea 8 Implementar la interfaz web (formulario) con la
información del proveedor, lista para editarla si es
necesario y enviarla al Back-end.
Descripción Se implementó la página web con un formulario
utilizando el Framework Angularjs, HTML para poder
editar la información del proveedor consultado y
enviarla al Back-end, para ser almacenada. Adicional se
configuró el archivo de rutas de Angularjs para re-
direccionar a la página solicitada.
Prioridad Alta
Dimensión / Esfuerzo 2 Unidades
Tiempo estimado 2 Horas
Tiempo dedicado 2 Horas
Comentarios Código implementado:
Fichero:
kardexWeb/app/js/angular_script/kardex_routes.js
kardexWeb/app/templates/provider/editProvider.html
Método:
appKardex.config()
Prioridad Alta
Dimensión / Esfuerzo 4 Unidades
Tiempo estimado 3 Horas
Tiempo dedicado 4 Horas
Comentarios Código implementado:
Fichero:
apiKardex/tests/AppBundle/Controller/CategoryControllerTest
Método:
testPutCategory()
testGetCategoryById()
ID Tarea: T09.02
Tarea 2 Implementar método en el Back-end para crear el
Servicio REST de buscar categoría por id.
Descripción Se implementó el método getCategoryByIdAction()
utilizando el Framework Symfony con lenguaje PHP
para buscar la información en la Base de Datos de una
categoría mediante su id.
Prioridad Alta
Dimensión / Esfuerzo 1 Unidad
Tiempo estimado 1 Hora
Tiempo dedicado 1 Hora
Comentarios Código implementado:
Fichero:
apiKardex/src/AppBundle/Controller/CategoryController
Método:
getCategoryByIdAction()
Página 124
Análisis y Desarrollo de un Sistema Web para la gestión Kardex de un almacén
ID Tarea: T09.03
Tarea 3 Implementar método en el Back-end para crear el
Servicio REST de modificar categoría.
Descripción Se implementó el método editCategoryAction()
utilizando el Framework Symfony con lenguaje PHP
para poder editar la información de una categoría en la
Base de Datos enviada por medio de un formulario web
desde el Front-end.
Prioridad Alta
Dimensión / Esfuerzo 2 Unidades
Tiempo estimado 1 Hora
Tiempo dedicado 2 Horas
Comentarios Código implementado:
Fichero:
apiKardex/src/AppBundle/Controller/CategoryController
Método:
editCategoryAction()
ID Tarea: T09.04
Tarea 4 Implementar método en el Front-end para consumir el
servicio REST de listar todas las categorías.
Descripción Se implementó el controlador CtrlCategory utilizando
el Framework Angularjs, Jquery y Ajax para consumir
el servicio REST de listar categorías.
Prioridad Alta
Dimensión / Esfuerzo 1 Unidad
Tiempo estimado 1 Hora
Tiempo dedicado 1 Hora
Comentarios Código implementado:
Fichero:
kardexWeb/app/js/angular_script/kardex_controller.js
Método:
Controlador: CtrlCategory, listCategories function()
ID Tarea: T09.05
Tarea 5 Implementar método en el Front-end para consumir el
servicio REST de buscar categoría por id.
Descripción Se implementó el controlador CtrlCategory utilizando
el Framework Angularjs, Jquery y Ajax para consumir
el servicio REST de buscar categoría por id.
Prioridad Alta
Dimensión / Esfuerzo 1 Unidad
Tiempo estimado 1 Hora
Tiempo dedicado 1 Hora
Método:
Controlador: CtrlCategory, findCategory function()
ID Tarea: T09.06
Tarea 6 Implementar método en el Front-end para consumir el
servicio REST de modificar categoría.
Descripción Se implementó el controlador CtrlCategory utilizando
el Framework Angularjs, Jquery y Ajax para consumir
el servicio REST de modificar categoría.
Prioridad Alta
Dimensión / Esfuerzo 1 Unidad
Tiempo estimado 2 Horas
Tiempo dedicado 1 Hora
Comentarios Código implementado:
Fichero:
kardexWeb/app/js/angular_script/kardex_controller.js
Método:
Controlador: CtrlCategory, editCategory function()
ID Tarea: T09.07
Tarea 7 Implementar la interfaz web para listar todas las
categorías almacenadas en el Sistema.
Descripción Se implementó la página web utilizando el Framework
Angularjs, Html para poder listar la información de
todas las categorías almacenadas. Adicional se
configuró el archivo de rutas de Angularjs para re-
direccionar a la página solicitada.
Prioridad Alta
Dimensión / Esfuerzo 2 Unidades
Tiempo estimado 1 Hora
Tiempo dedicado 2 Horas
Comentarios Código implementado:
Fichero:
kardexWeb/app/js/angular_script/kardex_routes.js
kardexWeb/app/templates/provider/listCategories.html
Método:
appKardex.config()
ID Tarea: T09.08
Tarea 8 Implementar la interfaz web (formulario) con la
información de la categoría, lista para editarla si es
necesario y enviarla al Back-end.
Página 126
Análisis y Desarrollo de un Sistema Web para la gestión Kardex de un almacén
Descripción Se implementó la página web con un formulario
utilizando el Framework Angularjs, HTML para editar
la información de la categoría consultada y enviarla al
Back-end, para ser almacenada. Adicional se configuró
el archivo de rutas de Angularjs para re-direccionar a la
página solicitada.
Prioridad Alta
Dimensión / Esfuerzo 2 Unidades
Tiempo estimado 2 Horas
Tiempo dedicado 2 Horas
Comentarios Código implementado:
Fichero:
kardexWeb/app/js/angular_script/kardex_routes.js
kardexWeb/app/templates/provider/editCategory.html
Método:
appKardex.config()
Prioridad Alta
Dimensión / Esfuerzo 4 Unidades
Tiempo estimado 3 Horas
Tiempo dedicado 4 Horas
Comentarios Código implementado:
Fichero:
apiKardex/tests/AppBundle/Controller/LocationControllerTest
Método:
testPutLocation()
testGetLocationById()
ID Tarea: T11.02
Tarea 2 Implementar método en el Back-end para crear el
Servicio REST de buscar localidad por id.
Prioridad Alta
Dimensión / Esfuerzo 1 Unidad
Tiempo estimado 1 Hora
Tiempo dedicado 1 Hora
Comentarios Código implementado:
Fichero:
apiKardex/src/AppBundle/Controller/LocationController
Método:
getLocationByIdAction()
ID Tarea: T11.03
Tarea 3 Implementar método en el Back-end para crear el
Servicio REST de modificar localidad.
Descripción Se implementó el método editLocationAction()
utilizando el Framework Symfony con lenguaje PHP
para poder editar la información de una localidad en la
Base de Datos enviada por medio de un formulario web
desde el Front-end.
Prioridad Alta
Dimensión / Esfuerzo 2 Unidades
Tiempo estimado 1 Hora
Tiempo dedicado 2 Horas
Comentarios Código implementado:
Fichero:
apiKardex/src/AppBundle/Controller/LocationController
Método:
editLocationAction()
ID Tarea: T11.04
Tarea 4 Implementar método en el Front-end para consumir el
servicio REST de listar todas las localidades.
Descripción Se implementó el controlador CtrlLocation utilizando el
Framework Angularjs, Jquery y Ajax para consumir el
servicio REST de listar localidades.
Prioridad Alta
Página 128
Análisis y Desarrollo de un Sistema Web para la gestión Kardex de un almacén
Dimensión / Esfuerzo 1 Unidad
Tiempo estimado 1 Hora
Tiempo dedicado 1 Hora
Comentarios Código implementado:
Fichero:
kardexWeb/app/js/angular_script/kardex_controller.js
Método:
Controlador: CtrlLocation, listLocations function()
ID Tarea: T11.05
Tarea 5 Implementar método en el Front-end para consumir el
servicio REST de buscar localidad por id.
Descripción Se implementó el controlador CtrlLocation utilizando el
Framework Angularjs, Jquery y Ajax para consumir el
servicio REST de buscar localidad por id.
Prioridad Alta
Dimensión / Esfuerzo 1 Unidad
Tiempo estimado 1 Hora
Tiempo dedicado 1 Hora
Comentarios Código implementado:
Fichero:
kardexWeb/app/js/angular_script/kardex_controller.js
Método:
Controlador: CtrlLocation, findLocation function()
ID Tarea: T11.06
Tarea 6 Implementar método en el Front-end para consumir el
servicio REST de modificar localidad.
Descripción Se implementó el controlador CtrlLocation utilizando el
Framework Angularjs, Jquery y Ajax para consumir el
servicio REST de modificar localidad.
Prioridad Alta
Dimensión / Esfuerzo 1 Unidad
Tiempo estimado 2 Horas
Tiempo dedicado 1 Hora
Comentarios Código implementado:
Fichero:
kardexWeb/app/js/angular_script/kardex_controller.js
Método:
Controlador: CtrlLocation, editLocation function()
ID Tarea: T11.07
Tarea 7 Implementar la interfaz web para listar todas las
localidades almacenadas en el Sistema.
Método:
appKardex.config()
ID Tarea: T11.08
Tarea 8 Implementar la interfaz web (formulario) con la
información de la localidad, lista para editarla si es
necesario y enviarla al Back-end.
Descripción Se implementó la página web con un formulario
utilizando el Framework Angularjs, Html para editar la
información de la localidad consultada y enviarla al
Back-end, para ser almacenada. Adicional se configuró
el archivo de rutas de Angularjs para re-direccionar a la
página solicitada.
Prioridad Alta
Dimensión / Esfuerzo 2 Unidades
Tiempo estimado 2 Horas
Tiempo dedicado 2 Horas
Comentarios Código implementado:
Fichero:
kardexWeb/app/js/angular_script/kardex_routes.js
kardexWeb/app/templates/location/editLocation.html
Método:
appKardex.config()
Página 130
Análisis y Desarrollo de un Sistema Web para la gestión Kardex de un almacén
Sprint 5
60
50
40
30
20
10
0
1 2 3 4 5 6 7 8 9 10 11
ID Tarea: T16.03
Tarea 3 Implementar método en el Back-end para crear el
Servicio REST de modificar unidad de medida.
ID Tarea: T16.04
Tarea 4 Implementar método en el Front-end para consumir el
servicio REST de listar todas las unidades de medidas.
ID Tarea: T16.05
Tarea 5 Implementar método en el Front-end para consumir el
servicio REST de buscar unidad de medida por id.
ID Tarea: T16.06
Tarea 6 Implementar método en el Front-end para consumir el
servicio REST de modificar unidad de medida.
ID Tarea: T16.07
Tarea 7 Implementar la interfaz web para listar todas las
unidades de medidas almacenadas en el Sistema.
ID Tarea: T16.08
Tarea 8 Implementar la interfaz web (formulario) para editar la
información necesaria de la unidad de medida y enviarla
al Back-end.
Página 132
Análisis y Desarrollo de un Sistema Web para la gestión Kardex de un almacén
ID Tarea: T18.05
Tarea 5 Implementar método en el Front-end para consumir el
servicio REST de buscar usuarios por id.
ID Tarea: T18.06
Tarea 6 Implementar método en el Front-end para consumir el
servicio REST de modificar usuario.
ID Tarea: T18.07
Tarea 7 Implementar la interfaz web para listar todos los
usuarios almacenados en el Sistema.
ID Tarea: T18.08
Tarea 8 Implementar la interfaz web (formulario) para editar la
información necesaria del usuario y enviarla al Back-
end.
Identificador de la HU16
Historia
Alias Modificar Unidades de Medidas
Historia de Usuario Como administrador
Necesito poder modificar unidades de medidas
Para actualizar sus datos cuando cambien
ID Tarea: T16.01
Tarea 1 Desarrollo de Tests
Descripción Utilizando PhpUnit, se implementaron los métodos
testPutMeasureUnit(), testGetMeasureUnitById().
Prioridad Alta
Página 134
Análisis y Desarrollo de un Sistema Web para la gestión Kardex de un almacén
Dimensión / 4 Unidades
Esfuerzo
Tiempo estimado 3 Horas
Tiempo dedicado 4 Horas
Comentarios Código implementado:
Fichero:
apiKardex/tests/AppBundle/Controller/MeasureUnitControllerTest
Método:
testPutMeasureUnit()
testGetMeasureUnitById()
ID Tarea: T16.02
Tarea 2 Implementar método en el Back-end para crear el
Servicio REST de buscar unidad de medida por id.
Descripción Se implementó el método getMeasureUnitByIdAction()
utilizando el Framework Symfony con lenguaje PHP
para buscar la información en la Base de Datos de una
unidad de medida mediante su id.
Prioridad Alta
Dimensión / 1 Unidad
Esfuerzo
Tiempo estimado 1 Hora
Tiempo dedicado 1 Hora
Comentarios Código implementado:
Fichero:
apiKardex/src/AppBundle/Controller/MeasureUnitController
Método:
getMeasureUnitByIdAction()
ID Tarea: T16.03
Tarea 3 Implementar método en el Back-end para crear el
Servicio REST de modificar unidad de medida.
Descripción Se implementó el método editMeasureUnitAction()
utilizando el Framework Symfony con lenguaje PHP
para poder editar la información de una unidad de medida
en la Base de Datos enviada por medio de un formulario
web desde el Front-end.
Prioridad Alta
Dimensión / 2 Unidades
Esfuerzo
Tiempo estimado 2 Horas
Tiempo dedicado 2 Horas
Método:
editMeasureUnitAction()
ID Tarea: T16.04
Tarea 4 Implementar método en el Front-end para consumir el
servicio REST de listar todas las unidades de medida.
Descripción Se implementó el controlador CtrlMeasureUnit
utilizando el Framework Angularjs, Jquery y Ajax para
consumir el servicio REST de listar unidades de medida.
Prioridad Alta
Dimensión / 1 Unidad
Esfuerzo
Tiempo estimado 1 Hora
Tiempo dedicado 1 Hora
Comentarios Código implementado:
Fichero:
kardexWeb/app/js/angular_script/kardex_controller.js
Método:
Controlador: CtrlMeasureUnit, listMeasuresUnit function()
ID Tarea: T16.05
Tarea 5 Implementar método en el Front-end para consumir el
servicio REST de buscar unidad de medida por id.
Descripción Se implementó el controlador CtrlMeasureUnit
utilizando el Framework Angularjs, Jquery y Ajax para
consumir el servicio REST de buscar unidad de medida
por id.
Prioridad Alta
Dimensión / 1 Unidad
Esfuerzo
Tiempo estimado 1 Hora
Tiempo dedicado 1 Hora
Comentarios Código implementado:
Fichero:
kardexWeb/app/js/angular_script/kardex_controller.js
Método:
Controlador: CtrlMeasureUnit, findMeasureUnit function()
ID Tarea: T16.06
Tarea 6 Implementar método en el Front-end para consumir el
servicio REST de modificar unidad de medida.
Página 136
Análisis y Desarrollo de un Sistema Web para la gestión Kardex de un almacén
Descripción Se implementó el controlador CtrlMeasureUnit
utilizando el Framework Angularjs, Jquery y Ajax para
consumir el servicio REST de modificar unidad de
medida.
Prioridad Alta
Dimensión / 1 Unidad
Esfuerzo
Tiempo estimado 2 Horas
Tiempo dedicado 1 Hora
Comentarios Código implementado:
Fichero:
kardexWeb/app/js/angular_script/kardex_controller.js
Método:
Controlador: CtrlMeasureUnit, editMeasureUnit function()
ID Tarea: T16.07
Tarea 7 Implementar la interfaz web para listar todas las unidades
de medida almacenadas en el Sistema.
Descripción Se implementó la página web utilizando el Framework
Angularjs, Html para listar la información de todas las
unidades de medida almacenadas. Adicional se configuró
el archivo de rutas de Angularjs para re-direccionar a la
página solicitada.
Prioridad Alta
Dimensión / 2 Unidades
Esfuerzo
Tiempo estimado 1 Hora
Tiempo dedicado 2 Hora
Comentarios Código implementado:
Fichero:
kardexWeb/app/js/angular_script/kardex_routes.js
kardexWeb/app/templates/measureUnit/listMeasuresUnit.html
Método:
appKardex.config()
ID Tarea: T16.08
Tarea 8 Implementar la interfaz web (formulario) con la
información de la unidad de medida, lista para editarla si
es necesario y enviarla al Back-end.
Método:
appKardex.config()
Página 138
Análisis y Desarrollo de un Sistema Web para la gestión Kardex de un almacén
Comentarios Diseño:
ID Tarea: T13.02
Tarea 2 Desarrollo de Tests
Descripción Utilizando PhpUnit, se implementó el método
testPostUser() enviando los datos por medio de request
para guardar la información en la base de datos y dar de
alta un usuario. Además se implementó el método
testGetAllRol() para listar todos sus registros y
seleccionar uno cuando se guarde la información del
usuario.
Prioridad Alta
Dimensión / Esfuerzo 2 Unidades
Tiempo estimado 1 Hora
Tiempo dedicado 2 Horas
Comentarios Código implementado:
Fichero:
apiKardex/tests/AppBundle/Controller/UserControllerTest
Método:
testPostUser()
testGetAllRol()
ID Tarea: T13.03
Tarea 3 Implementar método en el Back-end para crear el
Servicio REST de listar todos los roles.
Prioridad Alta
Dimensión / Esfuerzo 2 Unidades
Método:
getAllRolAction()
ID Tarea: T13.04
Tarea 4 Implementar método en el Back-end para crear el
Servicio REST de alta de usuario.
Descripción Se implementó el método addUserAction() utilizando el
Framework Symfony con lenguaje PHP para ingresar la
información en la Base de Datos enviada por medio de
un formulario web desde el Front-end.
Prioridad Alta
Dimensión / Esfuerzo 1 Unidad
Tiempo estimado 1 Hora
Tiempo dedicado 1 Hora
Comentarios Código implementado:
Fichero:
apiKardex/src/AppBundle/Controller/UserController
Método:
addUserAction()
ID Tarea: T13.05
Tarea 5 Implementar método en el Front-end para consumir el
servicio REST de listar todos los roles.
Descripción Se implementó el controlador CtrlUser utilizando el
Framework Angularjs, Jquery y Ajax para consumir el
servicio REST de listar todos los roles y poder ser
utilizadas desde el Front-end.
Prioridad Alta
Dimensión / Esfuerzo 1 Unidad
Tiempo estimado 1 Hora
Tiempo dedicado 1 Hora
Comentarios Código implementado:
Fichero:
kardexWeb/app/js/angular_script/kardex_controller.js
Método:
Controlador: CtrlUser, init function()
Página 140
Análisis y Desarrollo de un Sistema Web para la gestión Kardex de un almacén
ID Tarea: T13.06
Tarea 6 Implementar método en el Front-end para consumir el
servicio REST de alta de usuario.
Descripción Se implementó el controlador CtrlUser utilizando el
Framework Angularjs, Jquery y Ajax para consumir el
servicio REST de alta de usuario.
Prioridad Alta
Dimensión / Esfuerzo 1 Unidad
Tiempo estimado 1 Hora
Tiempo dedicado 1 Hora
Comentarios Código implementado:
Fichero:
kardexWeb/app/js/angular_script/kardex_controller.js
Método:
Controlador: CtrlUser, addUser function()
ID Tarea: T13.07
Tarea 7 Implementar la interfaz web (formulario) para ingresar
la información necesaria y enviarla al Back-end.
Descripción Se implementó la página web con un formulario
utilizando el Framework Angularjs, HTML para
ingresar la información del usuario y enviarla al Back-
end, para ser almacenada. Adicional se configuró el
archivo de rutas de Angularjs para re-direccionar a la
página solicitada.
Prioridad Alta
Dimensión / Esfuerzo 1 Unidad
Tiempo estimado 1 Hora
Tiempo dedicado 1 Hora
Comentarios Fichero:
kardexWeb/app/js/angular_script/kardex_routes.js
kardexWeb/app/templates/user/addUser.html
Método:
appKardex.config()
Método:
testPutUser()
testGetUserById ()
ID Tarea: T18.02
Tarea 2 Implementar método en el Back-end para crear el
Servicio REST de buscar usuario por id.
Descripción Se implementó el método getUserByIdAction()
utilizando el Framework Symfony con lenguaje PHP
para buscar la información en la Base de Datos de un
usuario mediante su id.
Prioridad Alta
Dimensión / Esfuerzo 1 Unidad
Tiempo estimado 2 Horas
Tiempo dedicado 1 Hora
Comentarios Código implementado:
Fichero:
apiKardex/src/AppBundle/Controller/UserController
Método:
getUserByIdAction()
ID Tarea: T18.03
Tarea 3 Implementar método en el Back-end para crear el
Servicio REST de modificar usuario.
Página 142
Análisis y Desarrollo de un Sistema Web para la gestión Kardex de un almacén
Descripción Se implementó el método editUserAction() utilizando
el Framework Symfony con lenguaje PHP para editar la
información de un usuario en la Base de Datos enviada
por medio de un formulario web desde el Front-end.
Prioridad Alta
Dimensión / Esfuerzo 2 Unidades
Tiempo estimado 1 Hora
Tiempo dedicado 2 Horas
Comentarios Código implementado:
Fichero:
apiKardex/src/AppBundle/Controller/UserController
Método:
editUserAction()
ID Tarea: T18.04
Tarea 4 Implementar método en el Front-end para consumir el
servicio REST de listar todos los roles.
Descripción Se implementó el controlador CtrlUser utilizando el
Framework Angularjs, Jquery y Ajax para consumir el
servicio REST de listar usuarios.
Prioridad Alta
Dimensión / Esfuerzo 1 Unidad
Tiempo estimado 1 Hora
Tiempo dedicado 1 Hora
Comentarios Código implementado:
Fichero:
kardexWeb/app/js/angular_script/kardex_controller.js
Método:
Controlador: CtrlUser, listUsers function()
ID Tarea: T18.05
Tarea 5 Implementar método en el Front-end para consumir el
servicio REST de buscar usuario por id.
Descripción Se implementó el controlador CtrlUser utilizando el
Framework Angularjs, Jquery y Ajax para consumir el
servicio REST de buscar usuario por id.
Prioridad Alta
Dimensión / Esfuerzo 1 Unidad
Tiempo estimado 1 Hora
Tiempo dedicado 1 Hora
Método:
Controlador: CtrlUser, findUser function()
ID Tarea: T18.06
Tarea 6 Implementar método en el Front-end para consumir el
servicio REST de modificar usuario.
Descripción Se implementó el controlador CtrlUser utilizando el
Framework Angularjs, Jquery y Ajax para consumir el
servicio REST de modificar usuario.
Prioridad Alta
Dimensión / Esfuerzo 1 Unidad
Tiempo estimado 1 Hora
Tiempo dedicado 1 Hora
Comentarios Código implementado:
Fichero:
kardexWeb/app/js/angular_script/kardex_controller.js
Método:
Controlador: CtrlUser, editUser function()
ID Tarea: T18.07
Tarea 7 Implementar la interfaz web para listar todos los
usuarios almacenados en el Sistema.
Descripción Se implementó la página web utilizando el Framework
Angularjs, HTML para poder listar la información de
todos los usuarios almacenados. Adicional se configuró
el archivo de rutas de Angularjs para re-direccionar a la
página solicitada.
Prioridad Alta
Dimensión / Esfuerzo 2 Unidades
Tiempo estimado 1 Hora
Tiempo dedicado 2 Horas
Comentarios Código implementado:
Fichero:
kardexWeb/app/js/angular_script/kardex_routes.js
kardexWeb/app/templates/user/listUsers.html
Método:
appKardex.config()
Página 144
Análisis y Desarrollo de un Sistema Web para la gestión Kardex de un almacén
ID Tarea: T18.08
Tarea 8 Implementar la interfaz web (formulario) con la
información del usuario, lista para editarla si es
necesario y enviarla al Back-end.
Descripción Se implementó la página web con un formulario
utilizando el Framework Angularjs, Html para editar la
información del usuario consultado y enviarla al Back-
end, para ser almacenada. Adicional se configuró el
archivo de rutas de Angularjs para re-direccionar a la
página solicitada.
Prioridad Alta
Dimensión / Esfuerzo 2 Unidades
Tiempo estimado 2 Horas
Tiempo dedicado 2 Horas
Comentarios Código implementado:
Fichero:
kardexWeb/app/js/angular_script/kardex_routes.js
kardexWeb/app/templates/user/editUser.html
Método:
appKardex.config()
ID Tarea: T03.02
Tarea 2 Desarrollo de Tests
Descripción Utilizando PhpUnit, se implementó el método
testAuthentication().
Prioridad Alta
Dimensión / Esfuerzo 4 Unidades
Tiempo estimado 3 Horas
Tiempo dedicado 4 Horas
Comentarios Código implementado:
Fichero:
apiKardex/tests/AppBundle/Controller/TokenControllerTest
Método:
testAuthentication()
ID Tarea: T03.03
Tarea 3 Implementar método en el Back-end para crear el
Servicio REST de authentication.
Método:
tokenAuthentication()
Página 146
Análisis y Desarrollo de un Sistema Web para la gestión Kardex de un almacén
Sprint 6
60
50
40
30
20
10
0
1 2 3 4 5 6 7 8 9 10 11
Modelo de Datos
Página 148
Análisis y Desarrollo de un Sistema Web para la gestión Kardex de un almacén
Test CategoryController
Test ClientController
Test EntryOrderController
Página 150
Análisis y Desarrollo de un Sistema Web para la gestión Kardex de un almacén
Test LocationController
Test MeasureUnitController
Test OutputOrderController
Test ProductController
Página 152
Análisis y Desarrollo de un Sistema Web para la gestión Kardex de un almacén
Test ProviderController
Test TokenController
Test UserController
Página 154
Análisis y Desarrollo de un Sistema Web para la gestión Kardex de un almacén
5. CONCLUSIONES Y POSIBLES
AMPLIACIONES
CONCLUSIONES
Por otro lado se realizó la entrega de los seis Sprints en el desarrollo de la Metodología
Scrum, implicando el seguimiento del desarrollo del Sistema que garantizó que se
cumplió a cabalidad todas las expectativas sobre el mismo.
Utilizar Symfony como Framework para el desarrollo ayudo a realizar el proyecto de una
manera mucho más rápida y ordenada. Concluyendo que este es uno de los frameworks
de menor dificultad para el inicio en el conocimiento y desarrollo de aplicaciones web
por parte de programadores.
POSIBLES AMPLIACIONES
Por otra parte una posible ampliación para este proyecto podría ser la
implementación de un módulo Contable, incluyendo Compras, Ventas, Facturación y
Cotización de Productos, además de incluir los asientos en caja, creados al momento de
finalizar Ventas u Órdenes de Compra que involucren pago en efectivo.,
Página 156
Análisis y Desarrollo de un Sistema Web para la gestión Kardex de un almacén
BIBLIOGRAFÍA
[2] Colaboradores de Wikipedia, «Aplicación web,» Wikipedia, La enciclopedia libre., 8 Mayo 2017. [En línea].
Available: https://es.wikipedia.org/wiki/Aplicaci%C3%B3n_web. [Último acceso: 25 Mayo 2017].
[3] 1&1 Digital Guide, «1&1 Digital Guide,» 25 Octubre 2016. [En línea]. Available:
https://www.1and1.es/digitalguide/servidores/know-how/servidor-web-definicion-historia-y-programas/. [Último
acceso: 25 Mayo 2017].
[4] Apache, «Apache HTTP Server Project,» Apache, [En línea]. Available:
https://httpd.apache.org/ABOUT_APACHE.html. [Último acceso: 25 Mayo 2017].
[5] Microsoft, «IIS,» 2017. [En línea]. Available: https://www.iis.net/. [Último acceso: 25 Mayo 2017].
[7] J. Iruela, «Revista Digital Inesem,» Gestores de Bases de Datos, 19 Enero 2016. [En línea]. Available:
https://revistadigital.inesem.es/informatica-y-tics/los-gestores-de-bases-de-datos-mas-usados/. [Último acceso: 25
Mayo 2017].
[9] colaboradores de Wikipedia, «Transferencia de Estado Representacional,» 23 Mayo 2017. [En línea].
Available: https://es.wikipedia.org/wiki/Transferencia_de_Estado_Representacional. [Último acceso: 29 Mayo
2017].
[11] W3C, «W3C,» 28 Octubre 2014. [En línea]. Available: https://www.w3.org/TR/html5/. [Último acceso: 26
Mayo 2017].
[13] A. Criollo, «Prezi,» El poder de HTML5 Y CCS3, 5 Febrero 2015. [En línea]. Available:
https://prezi.com/5pa2ucuodgr_/el-poder-de-html5-y-ccs3/. [Último acceso: 26 Mayo 2017].
[15] Punto Abierto, «PuntoAbierto,» 3 Agosto 2016. [En línea]. Available: http://puntoabierto.net/blog/que-es-
bootstrap-y-cuales-son-sus-ventajas. [Último acceso: 30 Mayo 2017].
[16] jQuery, «jQuery,» [En línea]. Available: http://jquery.com/. [Último acceso: 27 Mayo 2017].
[18] Jetbrains, «Jetbrains,» IntelliJ IDEA, [En línea]. Available: https://www.jetbrains.com/webstorm/. [Último
acceso: 27 Mayo 2017].
[20] PHP Group, «PHP,» 2017. [En línea]. Available: http://php.net/manual/en/intro-whatis.php. [Último acceso:
27 Mayo 2017].
[21] NetBeans, «NetBeans,» 2017. [En línea]. Available: https://netbeans.org/index_es.html. [Último acceso: 27
Mayo 2017].
[23] Colaboradores de Wikipedia, «Symfony,» Wikipedia, La enciclopedia libre, 10 Marzo 2017. [En línea].
Available: https://es.wikipedia.org/wiki/Symfony. [Último acceso: 25 Mayo 2017].
[24] A. Menzinsky, G. López y J. Palacio, «Scrum Manager,» Julio 2016. [En línea]. Available:
http://www.scrummanager.net/files/sm_proyecto.pdf. [Último acceso: 28 Mayo 2017].
[28] colaboradores de Wikipedia, «Wikipedia,» MySql, 22 Mayo 2017. [En línea]. Available:
https://es.wikipedia.org/wiki/MySQL. [Último acceso: 27 Mayo 2017].
[29] Platzi, «Platzi,» Etapas del Proceso, [En línea]. Available: https://platzi.com/blog/guia-scrum/. [Último acceso:
28 Mayo 2017].
[31] Espol, «Blog Espol,» Proceso de Desarrollo, [En línea]. Available: http://blog.espol.edu.ec/elpoli/scrum-
metodologia-de-desarrollo-de-solftware-agil/. [Último acceso: 28 Mayo 2017].
[33] Andrzej, «Kolab,» Ferrier Pearce (Digital) Ltd trading as Kolab, 4 Abril 2016. [En línea]. Available:
https://kolabdigital.com/lab-time/symfony-json-web-tokens-authentication-guard. [Último acceso: 17 Mayo 2017].
[34] J. Núñez Berrocoso, «Atomic Post,» 28 Julio 2016. [En línea]. Available: http://atomicposts.com/symfony-
autenticacion-json-web-token/. [Último acceso: 17 Mayo 2017].
Página 158
Análisis y Desarrollo de un Sistema Web para la gestión Kardex de un almacén
ANEXOS
El Sistema, aplicación que ha sido desarrollada en una plataforma web, donde puede ser
accedida por el personal desde cualquier computador o dispositivo con acceso a internet,
conservando los datos actualizados.
La aplicación sigue el modelo de Arquitectura Rest, por lo tanto es necesario tener algunas
dependencias tanto del lado del cliente como del lado del servidor.
Detalles Técnicos
Página 160
Análisis y Desarrollo de un Sistema Web para la gestión Kardex de un almacén
Imágenes de la Aplicación
Página de Log-In
Administración de Cliente
Lista de Clientes
Modificar Cliente
Página 162
Análisis y Desarrollo de un Sistema Web para la gestión Kardex de un almacén
Administración de Proveedor
Lista de Proveedores
Modificar Proveedor
Administración de Categorías
Lista de Categorías
Modificar Categoría
Página 164
Análisis y Desarrollo de un Sistema Web para la gestión Kardex de un almacén
Administración de Localidades
Lista de Localidades
Modificar Localidad
Página 166
Análisis y Desarrollo de un Sistema Web para la gestión Kardex de un almacén
Administración de Usuarios
Lista de Usuarios
Modificar Usuario
Administración de Productos
Lista de Productos
Búsqueda de Productos
Página 168
Análisis y Desarrollo de un Sistema Web para la gestión Kardex de un almacén
Solicitar Producto
Administración de Movimientos
Página 170
Análisis y Desarrollo de un Sistema Web para la gestión Kardex de un almacén