Está en la página 1de 81

Facultad de Ingeniería

Escuela de Ingeniería Informática

Sistema Móvil Integrado para


Manejo de Inventarios

TRABAJO INSTRUMENTAL DE GRADO

Presentado ante la

UNIVERSIDAD CATÓLICA ANDRÉS BELLO

Como parte de los requisitos para optar al título de

INGENIERO EN INFORMÁTICA

REALIZADO POR Br. Ricardo Andrés Díaz Peñaloza


TUTOR EMPRESARIAL Ing. Orlando Rauseo
TUTOR ACADÉMICO Ing. Susana García

FECHA Noviembre, 2014

i
Facultad de Ingeniería
Escuela de Ingeniería Informática

INDICE
INDICE ............................................................................................................................ ii
DEDICATORIA ................................................................................................................ v
SINOPSIS ..................................................................................................................... viii
INTRODUCCION ............................................................................................................. 1
CAPITULO I. PLANTEAMIENTO DEL PROBLEMA ........................................................... 2
I.1 Necesidad de la empresa ........................................................................................ 2
I.2 Solución Propuesta .................................................................................................. 4
I.3 Objetivos................................................................................................................... 5
I.3.1 Objetivo General ................................................................................................... 5
I.3.2 Objetivos Específicos ............................................................................................. 5
I.4 Alcance ..................................................................................................................... 7
CAPITULO II. Marco Teórico ....................................................................................... 13
II.1 Inventario .............................................................................................................. 13
II.2 Sistema de Inventario ............................................................................................ 14
II.2.1 ERP...................................................................................................................... 14
II.2.2 SAP Business One .............................................................................................. 14
II.2.3 Toma Física de Inventario .................................................................................. 15
II.2.4 Stock ................................................................................................................... 15
II.2.4 Bin....................................................................................................................... 16
II.3 Código de Barras ................................................................................................... 16
II.4 Dispositivo Móvil ................................................................................................... 16
II.5 Windows Mobile.................................................................................................... 17
II.6 Base de datos ........................................................................................................ 17
II.6.1 SQLite ................................................................................................................. 17
II.6.2 MySQL ................................................................................................................ 18

ii
Facultad de Ingeniería
Escuela de Ingeniería Informática

II.6.3 Hibernate ............................................................................................................ 18


II.7 Servidor Apache .................................................................................................... 19
II.8 Web Services ......................................................................................................... 19
II.8.1 Apache CFX ........................................................................................................ 19
II.9 Framework ............................................................................................................ 20
II.10 Grafo.................................................................................................................... 20
II.11 Algoritmo de Dijkstra .......................................................................................... 21
II.12 Modelo Vista Controlador (MVC) ........................................................................ 22
II.13 Entorno Integrado de Desarrollo (IDE) ................................................................ 22
II.13.1 Eclipse ............................................................................................................... 22
II.13.2 Visual Studio 2008 ............................................................................................ 23
II.14 Struts2 ................................................................................................................. 23
CAPITULO III. MARCO METODOLGICO ........................................................................ 24
III.1 Metodología SCRUM ........................................................................................... 24
III.1.2 Actividades de la metodología SCRUM ............................................................. 25
III.2. Adaptaciones a la Metodología .......................................................................... 27
III.2.1 Estructura de las iteraciones ............................................................................. 27
III.3 Adaptación de para el presente TIG: ................................................................... 29
III.1.5. Plan general ..................................................................................................... 30
CAPÍTULO IV. DESARROLLO ......................................................................................... 31
IV.1 Primera Iteración: Investigación y análisis .......................................................... 31
IV.1.1 Planificación del Sprint:..................................................................................... 31
IV.1.2 Desarrollo del Sprint: ........................................................................................ 32
IV.1.2.1 Diseño: ........................................................................................................... 32
IV.2 Segunda Iteración: Establecimiento del ambiente de desarrollo. ...................... 40
IV.2.1 Planificación del Sprint: ..................................................................................... 40

iii
Facultad de Ingeniería
Escuela de Ingeniería Informática

IV.2.2 Desarrollo del Sprint: ........................................................................................ 40


IV.3 Tercera iteración: Diseño del sistema. ................................................................ 44
IV.3.1 Planificación del Sprint: ..................................................................................... 44
IV.3.2 Diseño del Sprint ............................................................................................... 44
IV.4 Cuarta iteración: Diseño y Desarrollo componente web. ................................... 49
IV.4.1 Planificación del Sprint:..................................................................................... 49
IV.4.2 Fase de diseño del Sprint: ................................................................................. 49
IV.4.3 Fase de desarrollo del Sprint: ............................................................................ 55
IV.4.4 Fase de pruebas del Sprint: ............................................................................... 57
IV.5 Quinta iteración: Diseño y desarrollo componente móvil.................................... 57
IV.5.1 Planificación del Sprint: ..................................................................................... 57
IV.5.2 Diseño del Sprint: .............................................................................................. 57
IV.5.3 Desarrollo del Sprint: ........................................................................................ 60
IV.6 Sexta iteración: Integración a web services. ........................................................ 61
IV.6.1 Planificación del Sprint: .................................................................................... 61
IV.6.2 Desarrollo del Sprint:........................................................................................ 61
CAPÍTULO V. RESULTADOS ......................................................................................... 64
CAPÍTULO VI. CONCLUSIONES Y RECOMENDACIONES ............................................... 68
VI.1 Conclusiones ......................................................................................................... 68
VI.2 Recomendaciones ................................................................................................ 69
REFERENCIAS BIBLIOGRAFICAS ................................................................................... 70

iv
Facultad de Ingeniería
Escuela de Ingeniería Informática

INDICE DE FIGURAS

Figura 1: Arquitectura solución propuesta ............................................................................... 4


Figura 2: Metodología Iterativa incremental SCRUM ............................................................. 25
Figura 3: Adaptación de Metodología Iterativa Incremental orientada a pruebas ............... 29
Figura 4: Panel gestión de inventario SAP BUSINESS ONE...................................................... 33
Figura 5: Diagrama de actividades proceso actual para gestión de inventario IDA Software
solutions .................................................................................................................................. 33
Figura 6: Rediseño del proceso para gestión de inventario IDA Software solutions ............. 35
Figura 7: Modelo de casos de uso gestión de artículo ............................................................ 45
Figura 8: Modelo de casos de uso gestión de almacenes ....................................................... 46
Figura 9: Modelo de casos de uso crear documento ............................................................. 46
Figura 10: Modelo de casos de uso Sincronizar con SAP ........................................................ 47
Figura 11: Modelo Entidad Relación del Sistema ................................................................... 48
Figura 12: Ventana Login para componente web. .................................................................. 50
Figura 13: Estructura del diseño visual de las pantallas de la interfaz usuario componente
web.......................................................................................................................................... 50
Figura 14 : Ventana Registro de datos maestro artículos ....................................................... 52
Figura 15: Ventana Registro de datos maestros artículos ...................................................... 52
Figura 16: Grafo para obtención de ruta mínima basado en Dijkstra .................................... 54
Figura 17: Ruta optima de despacho ...................................................................................... 54
Figura 18: Ventana Login componente móvil………………………………………………………………………58
Figura 19: Ventana Menu componente móvil ........................................................................ 58
Figura 20: Ventana configuracion componente movil............................................................ 58
Figura 21: Ventana orden de compra componente movil……………………………………………………59
Figura 22: Ventana transferencia de stock componente movil……………………………………….…..59
Figura 23: Ventana toma fisica de stock componente movil……………………………….……………..59

v
Facultad de Ingeniería
Escuela de Ingeniería Informática

INDICE DE TABLAS

Tabla 1: Plan general del proyecto Fuente: Elaboración Propia ............................................. 30


Tabla 2: Requerimientos componente móvil.......................................................................... 36
Tabla 3: Requerimientos componente web............................................................................ 38
Tabla 4: Matriz de Alcance de la figura 16 .............................................................................. 55

vi
Facultad de Ingeniería
Escuela de Ingeniería Informática

DEDICATORIA

Dedico con todo mi corazón y esfuerzo que conllevo la realización de


este trabajo en primera y principal instancia a mi madre Jeannette
Grisel Peñaloza y a mi padre Luis Eduardo Flores de los cuales me
siento orgulloso por transmitirme sus valores siendo ambos dos un
ejemplo digno de constancia, realización, esfuerzo y éxito, por contar
con su apoyo y consejos en todo momento y nunca perder la
confianza en mí a pesar de las circunstancias para ustedes este logro,
gracias.

A mi novia Bárbara por la paciencia, el amor y el apoyo frente a las


adversidades motivándome siempre a continuar el camino de frente,
gracias.

A mi abuelo Abraham Peñaloza desde donde me esté observando sé


que tiene una sonrisa y se sentirá orgulloso de este logro.

A Dios, por darme la oportunidad de vivir y por estar conmigo en


cada paso que doy, por fortalecer mi corazón e iluminar mi mente y
por haber puesto en mi camino a aquellas personas que han sido mi
soporte y compañía durante todo el periodo de estudio.

vii
Facultad de Ingeniería
Escuela de Ingeniería Informática

SINOPSIS

El Trabajo Especial de Grado que se presenta a continuación, titulado

“Sistema Móvil Integrado para Manejo de Inventarios” se fundamentó en el

desarrollo de un sistema para la gestión de procesos de inventario integrado SAP

BUSINESS ONE, que contempla el rediseño del proceso actual para gestión de

inventario de IDA SOFTWARE SOLUTIONS.

Dicho sistema está compuesto por un componente móvil, un componente

web y un componente para la integración con SAP. El componente móvil es una

aplicación instalada en una lectora de códigos de barras, con sistema operativo

Windows Mobile que permite al usuario generar la mayoría de los documentos

correspondientes a la gestión de inventario que se permite generar a través de SAP

BUSSINES ONE. Durante el desarrollo de este proyecto se utilizó una adaptación

propia de la metodología SCRUM, para la definición estructural del proyecto

haciendo uso de diversas herramientas de desarrollo.

Este proyecto busca optimizar el proceso de gestión de inventario mediante

el rediseño del mismo, manteniendo control y adicionando portabilidad y usabilidad

al proceso permitiendo generar documentos mediante un dispositivo móvil y

manteniendo la información centralizada.

viii
Facultad de Ingeniería
Escuela de Ingeniería Informática

INTRODUCCION

En el presente Trabajo Instrumental de Grado, se explica el proceso de

desarrollo que se llevó a cabo para la construcción de un sistema móvil para gestión

de procesos de inventario integrado a SAP BUSSINES ONE aplicando diversos

conocimientos enfocados al área desarrollo de aplicaciones web y móviles. El

esquema presentado se describe a continuación:

 Capítulo I: El Problema, donde se define una revisión del tema y su

importancia, a partir del planteamiento del problema, objetivos, justificación,

alcance y limitaciones.

 Capítulo II: Marco Teórico, donde se describe y explica las definiciones

teóricas relacionados con el entorno del Trabajo Instrumental de Grado.

 Capítulo III: Marco Metodológico, donde se describen la metodología trabajo

utilizado para presente Trabajo Instrumental de Grado.

 Capítulo IV: Desarrollo, hace referencia a las herramientas a utilizar para la

ejecución de las iteraciones que corresponden al ciclo de vida del producto.

 Capítulo V y VI: Resultados, Conclusiones y Recomendaciones, donde se

presentan los resultados obtenidos por cada objetivo, describiendo el

producto final logrado. Se puntualizan las conclusiones y las sugerencias para

darle continuidad al proyecto.

1
Facultad de Ingeniería
Escuela de Ingeniería Informática

CAPITULO I. PLANTEAMIENTO DEL PROBLEMA

I.1 Necesidad de la empresa

IDA SOFTWARE SOLUTIONS CA es una compañía líder en la integración de

Servicios y Soluciones de alto contenido de valor para el negocio de sus clientes,

avalados por el conocimiento, la experiencia y la tecnología por ende desea

desarrollar una solución informática compuesta por tres (3) módulos que permita

realizar la gestión de inventario de manera automatizada permitiendo manejar

ubicaciones dentro del espacio definido en cada almacén.

Las empresas de retail y distribución de productos presentan problemas para

registrar y controlar inventario de manera rápida y fácil, así como también actualizar

y comparar con la existencia de estos productos en los sistemas administrativos de

la empresa, problemas como ubicación física, controles de robo o pérdidas, todo

esto ligado a un tema de procurar cambios constante a través del uso de la

tecnología, que apoyen la seguridad del proceso, evitar fraudes, y aumentar la

eficiencia y bienestar de los trabajadores en conjunto a una reducción y estabilidad

de los gastos de operación.

2
Facultad de Ingeniería
Escuela de Ingeniería Informática

Por otra parte al momento del despacho y recepción de mercancía, la

empresa necesita que el proceso sea de calidad para ello el empleado almacenista

debe realizar el proceso de manera eficiente, este procedimiento puede tardar

dependiendo de la ubicación de los productos a despachar y la manera en que se

extraen los mismo del almacén; Ya que una búsqueda o almacenamiento de un

producto de una manera no adecuada causa demoras en los tiempos de entrega,

que conlleva a más empleados dedicados a una misma tarea lo que en definitiva

recae en una disminución de la rentabilidad.

La habilidad para registrar inventario de manera rápida y fácil, y

simultáneamente actualizar y comparar con la existencia en los sistemas de la

empresa, ubicación física adecuada dentro del almacén, control de robos o perdida,

puede ser la diferencia crucial entre un negocio que cierra con utilidad y uno que lo

hace con pérdida. Uno de los principales objetivos de esta solución recae sobre el

proceso de manejo de almacén e inventario; es la optimización que permitirá

reducir los gastos operativos y tiempo de ejecución de las tareas.

3
Facultad de Ingeniería
Escuela de Ingeniería Informática

I.2 Solución Propuesta

Para solucionar el problema expuesto en el apartado anterior se plantea como

Trabajo Instrumental de Grado el desarrollo formal de una solución móvil integrada

a el ERP de la empresa, para la ubicación física adecuada dentro del almacén

siguiendo algoritmos de recorrido de grafos o teoría de grafos, así como también

optimizar las operaciones para generar documentos de recepción, despacho,

transferencia así como también toma física de inventario por medio de algoritmos

aleatorios por parámetros de existencias, valor y rotación de inventario.

La aplicación estará compuesta por tres (3) componentes:

 Componente Aplicación Móvil

 Componente Aplicación del servidor

 Componente integrador a SAP.

Figura 1: Arquitectura solución propuesta


Fuente: Elaboración propia

4
Facultad de Ingeniería
Escuela de Ingeniería Informática

I.3 Objetivos

I.3.1 Objetivo General

Desarrollar un sistema informático sobre dispositivos móviles para

automatizar el proceso de logística de inventario integrado a SAP BUSINESS ONE.

I.3.2 Objetivos Específicos

 Diseñar y desarrollar una base de datos para dispositivos móviles en SQLITE

 Integrar al sistema un dispositivo móvil para la captura de la información,

mediante escaneo de código de barra.

 Diseñar y desarrollar una interfaz móvil para:

o Transferencia de Stock

o Toma física de Inventario

o Despacho de Inventario

o Recepción de Inventario.

o Autenticación de usuario.

 Diseñar y desarrollar un algoritmo de generación de alertas para análisis de

Inventario rotativo basado en su valor, rotación y su existencia.

 Diseñar y desarrollar componente servidor para procesar las solicitudes de:

transferencia, toma física, despacho, recepción de inventario, autenticación

del dispositivo móvil.


5
Facultad de Ingeniería
Escuela de Ingeniería Informática

 Diseñar y desarrollar una base de datos centralizada para el almacenamiento

de los datos de distintos dispositivos móviles conectados al servidor.

 Diseñar e implementar un algoritmo basado en teoría de grafos para calcular

la ruta óptima para el despacho de mercancía.

Aporte Funcional

 Rediseño del proceso para la gestión de inventario permitiendo obtener ruta


óptima para el despacho de mercancía.

Aporte tecnológico:

 Desarrollar un conector para integrar a los web services ofrecidos por SAP
BUSINESS ONE para la integración.

6
Facultad de Ingeniería
Escuela de Ingeniería Informática

I.4 Alcance

El Trabajo Instrumental de Grado “Sistema Móvil Integrado para manejo de

Inventarios” permitirá gestionar y controlar los procesos de inventario tales como,

despacho, recepción, transferencia y almacenamiento de mercancía en ubicaciones

físicas determinadas permitiendo el control y seguimiento de la información de los

activos circulantes de la empresa así como también su integración con SAP

BUSSINES ONE.

Integrar en esta solución un nuevo servicio automatizado para almacenes e

inventario con la finalidad de reducir el fraude, los costos operativos y agilizar el

proceso de despacho y almacenamiento optimizando el uso del espacio físico y la

obtención de manera eficiente de los artículos próximos a despachar siendo uno de

los puntos principales para el logro de la solución propuesta.

Para el escaneo de los artículos se utilizará un dispositivo escáner que ofrece

opciones de: lector imagen 1D lineal, láser 1D o lector Imagen de área 1D/2D (los

tres capturan códigos de barras dañados, sucios y raspados en un primer intento).

Este dispositivo se integrará al componente web de aplicación mediante

conexiones inalámbricas y el uso de web services bajo el conjunto de servicios para

sistema operativo Microsoft Windows

El sistema en general podrá planificar y ejecutar inventario de productos en

cualquier momento y cualquier lugar comparando resultados en línea contra la

información en los sistemas administrativos y contables de la empresa (ERP)


7
Facultad de Ingeniería
Escuela de Ingeniería Informática

permitiendo corroborar la información, identificar problemas de control y tomar

acciones que protejan a la empresa y garanticen la disponibilidad del inventario que

la empresa planifica y la disponibilidad apropiada para despacho.

Las funcionalidades de los 3 componentes mencionados anteriormente son las

siguientes:

I.4.1 Componente Móvil

 Componente que permite la captura de la información del físico con la

lectora.

 Registro de entradas de mercancía a almacén. (Creación documento de

recepción).

 Traslados entre almacenes.

 Registro de salidas de mercancía del almacén (Creación documento de

despacho).

 El componente gestionar las actividades a ejecutar por los empleados de

almacén la toma física de inventario, general o aleatoria agendada por el

componente Web.

 Reportes de totales de balances de artículos en físico.

 Reportes detallado del envío.

 Reportes del estado de los envíos realizados.

 Envío hacia el servidor de los datos mediante el uso de web services.

8
Facultad de Ingeniería
Escuela de Ingeniería Informática

I.4.2. Componente Web.

Este componente será el corazón de la aplicación, se encargará de gestionar en

tiempo real todas las solicitudes o datos enviados por la aplicación móvil,

verificando el serial del artículo ante la base de datos central, autenticando el

artículo o almacenándolo si no existe para esto el módulo se encargará de tramitar

las transacciones sobre esta plataforma planteada como solución.

En este componente se alojará la base de datos central del sistema, contendrá la

información de todos los almacenes, soportando operaciones exigentes en tiempo

real, dando posibilidad de agrupar todos los ajustes de inventario así como también

la ubicación y reubicación física de todos los artículos dentro del área especificada

dentro del almacén.

El servidor de la aplicación se encargará de planificar la auditoría requerida para

poder corroborar la información de balance, de esta manera realizar ajustes de

inventario en tiempo real. Tendrá dentro de sus funcionalidades la implementación

de un algoritmo para toma física de inventario de forma aleatoria en base a la

existencia de los artículos dentro del almacén seleccionado para dicha actividad.

El componente móvil al momento de obtener un artículo dentro del almacén

será capaz de indicar la ruta óptima para la obtención del mismo basándose en

teoría de grafos para obtener la ruta más corta hacia el articulo requerido

9
Facultad de Ingeniería
Escuela de Ingeniería Informática

dependiendo de las distancias y como opción adicional discriminar la ruta por el

peso de los artículos presentes en la orden de despacho.

Por otra parte dentro de este componente se desarrollará un nivel de

seguridad mediante autenticación de usuarios, manejando perfiles y roles dentro de

la base de datos.

I.4.3. Componente integrador a SAP

El módulo integrador a SAP, forma parte de unos servicios Web SOAP que

serán desarrollados bajo plataforma JAVA en la que mediante el uso de una API o

SDK Java Conector se integrará la aplicación al sistema ERP SAP Business ONE,

llevando la información de entradas y salidas de inventario para que la empresa

pueda manejar a nivel contable el inventario.

El integrador estará compuesto de dos componentes, un componente

extractor de información que se encargara de extraer la información del sistema de

inventario móvil que será enviada a un componente de Servicios Web integrados a

SAP.

10
Facultad de Ingeniería
Escuela de Ingeniería Informática

I.4.4 Interfaz de Usuario

El usuario obtendrá acceso a las funcionalidades del sistema mediante este

módulo móvil y web que de manera gráfica podrá registrar datos maestros de la

mercancía, almacenes, otros usuarios y generar documentos de despacho,

recepción y transferencia de mercancía. Así como también de manera gráfica la

aplicación le indicara la ruta óptima para obtener un artículo seleccionando su peso.

Por otra parte mediante esta interfaz se controla el acceso individual al

sistema mediante la identificación del usuario utilizando credenciales provistas por

el administrador o los administradores. Estos administradores también podrán

asignar o revocar privilegios a los usuarios del sistema.

I.5 Limitaciones

El componente móvil del sistema será una aplicación nativa bajo el sistema

operativo Windows Mobile en su versión 6.5.

11
Facultad de Ingeniería
Escuela de Ingeniería Informática

I.6 Justificación

La realización del proyecto conllevara a las empresas a obtener un ahorro

considerable en tiempo y recurso humano ya que empleados operando el modulo

móvil de la aplicación desde un dispositivo móvil, con muy poca capacitación,

podrán registrar entradas, salidas, transferencia de mercancía y obtención de la

misma para el momento de ubicación o despacho. Además podrán contar

inventario, de acuerdo a la planificación realizada y para todos los productos de la

empresa y con la frecuencia requerida en cualquier almacén o tienda de la empresa.

Las versiones anteriores a la de SAP BUSSINES ONE 9 no presenta la

funcionalidad que permita manejar ubicaciones de espacio dentro del almacén, por

ende se plantea la necesidad de desarrollar una aplicación que permita esta

funcionalidad antes mencionada e integrarla a SAP BUSINES ONE en cualquier

versión a través de web services permitiendo mantener un control en lo que

almacenamiento físico se refiere de todo el activo circulante de una empresa.

12
Facultad de Ingeniería
Escuela de Ingeniería Informática

CAPITULO II. Marco Teórico

El presente capítulo es un compendio de elementos teóricos requeridos para

el entendimiento de la estructura técnica del proyecto, los cuales se referencian de

manera práctica en las etapas del desarrollo del proyecto.

II.1 Inventario

Un inventario se define como el registro documental con orden y precisión

de los bienes y demás cosas pertenecientes a una persona o comunidad. En una

entidad o empresa, es la relación ordenada de bienes y existencias, a una fecha

determinada. Contablemente, es una cuenta de activo circulante que representa el

valor de las mercancías existentes en un almacén. [1]

 Objetivos de un Inventario

 Minimizar los costos de almacenamiento

 Mantener un transporte eficiente

 Mantener información reciente de Mercancía.

 Hacer predicciones sobre las necesidades del negocio.

13
Facultad de Ingeniería
Escuela de Ingeniería Informática

II.2 Sistema de Inventario

Un sistema de inventarios es un conjunto de normas, métodos y

procedimientos aplicados de manera sistemática para planificar y controlar los

materiales y productos que se emplean en una organización. Este sistema puede ser

manual o automatizado como lo es el sistema que se desarrollado expuesto en el

presente trabajo instrumental de grado. Sistema de inventarios. [2]

II.2.1 ERP

Sistemas de planificación de recursos empresariales (ERP, por sus siglas en

inglés, enterprise resource planning) son sistemas de información gerenciales que

integran y permite la automatización de muchos de los negocios asociados con las

operaciones de producción y de los aspectos de distribución de una compañía en la

producción de bienes o servicios. [3]

II.2.2 SAP Business One

SAP Business One es un software de gestión empresarial, integra todas las

funciones empresariales básicas de pequeñas y medianas empresas, incluyendo,

entre otras: gestión financiera, compras, ventas, distribución, gestión de atención al

cliente, comercio electrónico y gestión de inventarios. [4]

14
Facultad de Ingeniería
Escuela de Ingeniería Informática

II.2.3 Toma Física de Inventario

La toma de inventario es un proceso que consiste en verificar físicamente los

bienes, a una fecha determinada, con el fin de asegurar su existencia real. Ésta,

permite contrastar los resultados obtenidos con los registros contables, a fin de

establecer su conformidad, investigando las diferencias que pudieran existir, y

proceder a realizar los ajustes necesarios, según sea el caso. El objetivo principal de

este proceso es que permite llevar un control riguroso de la existencia real en físico

de los productos en el o los almacenes para de este modo tener la información

correcta del nivel de inventario que se posee en un momento determinado. [5]

II.2.4 Stock

Se refiere a existencias (todo lo referente a los bienes que una persona u

organización posee y que sirven para la realización de sus objetivos).

Los términos de stock, inventarios o existencias, se utilizan para referirse a

los artículos que permanecen almacenados en la empresa a la espera de una

posterior utilización. Son recursos ociosos que tienen un valor económico y que

están pendientes de ser empleados en el proceso productivo. La inmensa mayoría

de las empresas tienen artículos o recursos que no están siendo utilizados

actualmente, pero que se espera poder emplearlos en un futuro inmediato. [6]

15
Facultad de Ingeniería
Escuela de Ingeniería Informática

II.2.4 Bin

Un Bin es una ubicación o es la unidad de espacio direccionable más

pequeña en un almacén donde se almacenan las mercancías. [7] En el presente

trabajo instrumental los Bins están representados por un código único y con un

formato especifico. (Ver apéndice G)

II.3 Código de Barras

El código de barras es un código basado en la representación mediante un

conjunto de líneas paralelas verticales de distinto grosor y espaciado que en su

conjunto contienen una determinada información, es decir, las barras y espacios del

código representan pequeñas cadenas de caracteres. De este modo, el código de

barras permite reconocer rápidamente un artículo de forma única, global y no

ambigua en un punto de la cadena logística y así poder realizar inventario o

consultar sus características asociadas. [8]

II.4 Dispositivo Móvil

Dispositivo móvil (mobile device), también conocido como computadora de

bolsillo o computadora de mano (palmtop o handheld), es un tipo de computadora

de tamaño pequeño, con capacidades de procesamiento, con conexión a Internet ,

con memoria, diseñado específicamente para una función, pero que pueden llevar a

cabo otras funciones más generales. [9]


16
Facultad de Ingeniería
Escuela de Ingeniería Informática

II.5 Windows Mobile

Windows Mobile es un sistema operativo móvil compacto desarrollado por

Microsoft, y diseñado para su uso en teléfonos inteligentes y otros dispositivos

móviles. Se basa en el núcleo del sistema operativo Windows CE y cuenta con un

conjunto de aplicaciones básicas utilizando las API de Microsoft Windows. [10]

II.6 Base de datos

Se define como un “Conjunto de datos relacionados entre sí que tienen un

significado para alguien o algo”. [11]

II.6.1 SQLite

SQLite es un sistema de gestión de bases de datos relacional compatible con

ACID, relativamente pequeña, es decir que la capacidad de almacenamiento es

menor comparado a otras base de datos relacionales cliente servidor, el motor de

SQLite no es un proceso independiente con el que el programa principal se

comunica. Esto permite reducir los periodos de acceso a la base de datos ideal para

dispositivos móviles los cuales poseen una limitación en cuanto a procesamiento de

la información en comparación con una computadora de escritorio o un servidor.

[12]

17
Facultad de Ingeniería
Escuela de Ingeniería Informática

II.6.2 MySQL

MySQL es un sistema de administración de bases de datos relacionales de

código abierto (Open Source) significa que la persona que quiera puede usar y

modificar MySQL. Cualquiera puede descargar el software de MySQL de Internet y

usarlo sin pagar por ello. Inclusive, cualquiera que lo necesite puede estudiar el

código fuente y cambiarlo de acuerdo a sus necesidades. Una base de datos

relacional almacena los datos en tablas separadas en lugar de poner todos los datos

en un solo lugar. [13]

II.6.3 Hibernate

En la realización del presente trabajo instrumental de grado un factor

fundamental es la necesidad de usabilidad y escalabilidad de la aplicación por ende

se consideró usar la herramienta Hibernate de Mapeo objeto-relacional (ORM) para

la plataforma Java (y disponible también para .Net con el nombre de NHibernate)

que facilita el mapeo de atributos entre una base de datos relacional tradicional y el

modelo de objetos de una aplicación, mediante archivos declarativos (XML) o

anotaciones en los beans de las entidades que permiten establecer estas relaciones.

[14]

18
Facultad de Ingeniería
Escuela de Ingeniería Informática

II.7 Servidor Apache

El servidor HTTP Apache es un servidor Web HTTP de código abierto el cual

ha sido creado sobre los principales sistemas operativos como Unix (GNU/Linux,

entre otros.), Microsoft Windows, Macintosh, haciendo frente a los servidores Web

propietario de mayor uso en el mercado. [15].

II.8 Web Services

Un servicio web (en inglés, Web Service o Web services) es una tecnología

que utiliza un conjunto de protocolos y estándares que sirven para intercambiar

datos entre aplicaciones. Distintas aplicaciones de software desarrolladas en

lenguajes de programación diferentes, y ejecutadas sobre cualquier plataforma,

pueden utilizar los servicios web para intercambiar datos en redes de ordenadores

como Internet. La interoperabilidad se consigue mediante la adopción de estándares

abiertos. [16]

II.8.1 Apache CFX

Apache CXF es un framework completo, de código abierto para servicios web

que provee soporte de estándares en servicios web tales como SOAP, WSDL Y JAVA

entre otros. Se originó como combinación de dos proyectos de código abierto: Celtix

19
Facultad de Ingeniería
Escuela de Ingeniería Informática

desarrollado por IONA Technologies y XFire desarrollado por un equipo basado en

Codehaus. Estos proyectos fueron combinados por personas que trabajaban juntas

en Apache Software Fundación. [17]

II.9 Framework

Es una infraestructura digital, que naturalmente posee artefactos o módulos

que pueden servir como una base para el desarrollo de sistemas concretos así como

también la organización de los distintos componentes que conforman un software,

generalmente puede incluir soporte de programas o lenguajes de programación,

herramientas, bibliotecas o librerías y así ayudar a desarrollar e integrar diferentes

componentes de un proyecto. [18]

II.10 Grafo

En matemáticas y ciencias de la computación, un grafo (del griego grafos:

dibujo, imagen) es un conjunto de objetos llamados vértices o nodos unidos por

enlaces llamados aristas o arcos, que permiten representar relaciones binarias entre

elementos de un conjunto. Son objeto de estudio de la teoría de grafos.

20
Facultad de Ingeniería
Escuela de Ingeniería Informática

Figura 2.1: Grafo etiquetado con 6 vértices y 7 aristas.


Autor: (AzaTth, 2007) [19]

La estructura de datos usada depende de las características del grafo y el

algoritmo usado para manipularlo. Entre las estructuras más sencillas y usadas se

encuentran las listas y las matrices, aunque frecuentemente se usa una combinación

de ambas. [19]

II.11 Algoritmo de Dijkstra

El algoritmo de Dijkstra, también llamado algoritmo de caminos mínimos, es

un algoritmo para la determinación del camino más corto dado un vértice origen al

resto de vértices en un grafo con pesos en cada arista. Su nombre se refiere a Edsger

Dijkstra, quien lo describió por primera vez en 1959. La idea subyacente en este

algoritmo consiste en ir explorando todos los caminos más cortos que parten del

vértice origen y que llevan a todos los demás vértices; cuando se obtiene el camino

más corto desde el vértice origen, al resto de vértices que componen el grafo, el

algoritmo se detiene. El algoritmo es una especialización de la búsqueda de costo

uniforme, y como tal, no funciona en grafos con aristas de coste negativo (al elegir

21
Facultad de Ingeniería
Escuela de Ingeniería Informática

siempre el nodo con distancia menor, pueden quedar excluidos de la búsqueda

nodos que en próximas iteraciones bajarían el costo general del camino al pasar por

una arista con costo negativo). [20]

II.12 Modelo Vista Controlador (MVC)

Patrón de arquitectura de software que separa los datos de una aplicación, la

presentación y la lógica de control en tres componentes distintos, en donde el

modelo representa la estructura de los datos y reglas de negocio, la vista permite

mostrar información del modelo en un formato adecuado que permita que se dé la

interacción, y el controlador sirve como el intermediario entre el modelo y la vista

para responder a los eventos provocados por el usuario, dando una correcta gestión

a las entradas del usuario. [21]

II.13 Entorno Integrado de Desarrollo (IDE)

Un IDE es un entorno de programación que ofrece un editor de código, un

compilador, un depurador y un constructor de interfaz gráfica. [22]

II.13.1 Eclipse

Eclipse es una plataforma de desarrollo, de código abierto y multiplataforma,

diseñada para ser extendida de forma indefinida a través de plugins. Eclipse es un

22
Facultad de Ingeniería
Escuela de Ingeniería Informática

potente depurador, de uso fácil e intuitivo, y que visualmente nos ayuda a mejorar

nuestro código con el coloreado de código y completar automáticamente el código.

[23]

II.13.2 Visual Studio 2008

Microsoft Visual Studio es un entorno de desarrollo integrado (IDE, por sus

siglas en inglés) para sistemas operativos Windows. Soporta múltiples lenguajes de

programación tales como C++, C#, Visual Basic .NET, F#, Java, Python, Ruby, PHP.

Visual Studio permite a los desarrolladores crear aplicaciones, sitios y

aplicaciones web, así como servicios web en cualquier entorno que soporte la

plataforma .NET (a partir de la versión .NET 2002). Así se pueden crear aplicaciones

que se comuniquen entre estaciones de trabajo, páginas web, dispositivos móviles,

dispositivos embebidos, consolas, etc. [24]

II.14 Struts2

Apache Struts 2 es un framework de aplicaciones web de código abierto para

desarrollar aplicaciones web en JAVA. adoptando un modelo-vista-controlador [25]

23
Facultad de Ingeniería
Escuela de Ingeniería Informática

CAPITULO III. MARCO METODOLGICO

En el presente capítulo se describe cada uno de los aspectos relacionados

con la metodología empleada para el desarrollo del trabajo instrumental de grado

por ende se optó por la aplicación de una adaptación propia de la metodología

SCRUM, capaz de brindar suficiente flexibilidad durante la realización del proyecto y,

a su vez, plantear las bases para la realización de un plan estructurado en iteraciones

e incrementos, permitiendo flexibilidad y control en cada una de ellas para la

obtención de un producto final que logró satisfacer las necesidades de los usuarios.

III.1 Metodología SCRUM

SCRUM es una metodología ágil promueve el desarrollo de proyectos por

cortos lapsos de tiempo, permitiendo establecer los requerimientos

paulatinamente, permitiendo agregar nuevas funcionalidades y posibles cambios a

lo largo del desarrollo.

En Scrum un proyecto se ejecuta en bloques temporales cortos y fijos

(iteraciones de un mes natural y hasta de dos semanas, si así se necesita). Cada

iteración tiene que proporcionar un resultado completo, un incremento de producto

final que sea susceptible de ser entregado con el mínimo esfuerzo al cliente cuando

lo solicite. El proceso parte de la lista de objetivos/requisitos priorizada del

producto, que actúa como plan del proyecto. En esta lista el cliente prioriza los

24
Facultad de Ingeniería
Escuela de Ingeniería Informática

objetivos balanceando el valor que le aportan respecto a su coste y quedan

repartidos en iteraciones y entregas. [26]

Dentro de la metodología SCRUM existen ciertos roles específicos los cuales

tienen una responsabilidad asignada a lo largo de todo el ciclo de vida de la

metodología, estos roles son Cliente, Facilitador y Grupo de trabajo. El detalle y la

descripción de dichos roles se pueden observar en el apéndice (Ver apéndice B)

Figura 2: Metodología Iterativa incremental SCRUM


Fuente: Presentation-Process.com [27]

III.1.2 Actividades de la metodología SCRUM

 Planificación de la iteración (Sprint Planning): El primer día de la iteración se

realiza la reunión de planificación de la iteración que consta de dos parte,

25
Facultad de Ingeniería
Escuela de Ingeniería Informática

revisión de requisitos donde se priorizan los objetivos y una segunda parte

donde se planifican las tareas necesarias para cumplir los objetivos.

 Ejecución de la iteración (Sprint): Durante este periodo se llevan a cabo

todas las tareas planificadas, es importante tomar en cuenta los posibles

impedimentos que surjan durante la iteración o en iteraciones anteriores de

manera de mitigarlos, por ende se lleva a cabo reuniones de sincronización

de máximo quince (15) minutos diarios durante cada iteración, para facilitar

el intercambio de información entre el grupo de trabajo, así como también

cada integrante podrá tener una visión general del proyecto. Durante la

ejecución iteración el Facilitador (Scrum Master) se encarga de que el

equipo pueda cumplir con su compromiso y de que no se merme su

productividad.

 Inspección y adaptación: Durante esta etapa se presenta al cliente los

requisitos completados en la iteración, en forma de incremento de producto

preparado para ser entregado con el mínimo esfuerzo. En función de los

resultados mostrados y de los cambios que haya habido en el contexto del

proyecto, el cliente realiza las adaptaciones necesarias de manera objetiva,

ya desde la primera iteración, re planificando el proyecto. Durante esta etapa

26
Facultad de Ingeniería
Escuela de Ingeniería Informática

el quipo analiza cómo ha sido su manera de trabajar y cuáles son los

problemas.

Por lo expuesto anteriormente se consideró la aplicación de dicha

metodología para cumplir los objetivos propuestos sin embargo se consideró

realizar ciertas adaptaciones a la misma para mantener una estructura de trabajo a

acorde con la realización del presente trabajo instrumental de grado, quedando de

la siguiente manera:

III.2. Adaptaciones a la Metodología

III.2.1 Estructura de las iteraciones

Las iteraciones cuentan con una serie de tareas específicas, Cada iteración consta de

tres partes:

 Diseño o revisión de diseño.

Al inicio de cada iteración se realiza el diseño de las clases o componentes

relacionados con las tareas asignadas a la iteración en curso. En caso de ya existir un

diseño, se revisa detalladamente y se realiza cualquier mejora que se identifique.

También se considera el impacto que presenta el diseño que se está realizando con

27
Facultad de Ingeniería
Escuela de Ingeniería Informática

respecto al diseño general del proyecto, para así conservar una visión clara del plano

abstracto del proyecto de manera incremental.

 Diseño e implementación de pruebas unitarias.

En este proyecto se le da uso a una de las mejores prácticas de desarrollo de

software en la actualidad como lo es TDD (Test Driven Development) o desarrollo

orientado a pruebas, consiste en el diseño e implementación de pruebas unitarias

automatizadas, antes del desarrollo de las unidades funcionales a las que se

refieren. [28]

 Desarrollo de las tareas.

El diseño previamente realizado guiará el desarrollo del componente,

ofreciendo una idea clara del objetivo a cumplir. El desarrollo concreto de las tareas

siempre se realiza contra las pruebas, es decir, luego de considerar “funcional” al

componente en desarrollo, siempre se debe ejecutar la prueba correspondiente

para garantizar el correcto funcionamiento y en caso de fallar la prueba se sabrá que

aún no se ha completado la tarea.

28
Facultad de Ingeniería
Escuela de Ingeniería Informática

III.3 Adaptación de para el presente TIG:

Se estableció una adaptación en cuanto a los roles para la metodología a

seguir así como también el diseño de las iteración mencionados anteriormente, se

puede observar detalle le los apéndices (Ver apéndice B).

Figura 3: Adaptación de Metodología Iterativa Incremental orientada a pruebas


Fuente: Elaboración Propia

29
Facultad de Ingeniería
Escuela de Ingeniería Informática

III.1.5. Plan general


Tabla 1: Plan general del proyecto
Fuente: Elaboración Propia

Numero Iteración Sprint

 Análisis del proceso actual.


 Rediseño de proceso para gestión
de inventario.
 Requerimientos Funcionales y no
1 Investigación y análisis
funcionales del sistema
 Análisis y asignación de módulos
para componente móvil.
 Análisis y asignación de módulos
para componente web.

 Selección de la base de datos a


implementar
Establecimiento del ambiente de desarrollo  Selección de las herramientas de
2
desarrollo
 Elaboración de arquitectura MVC
 Instalación del servidor de
pruebas.

 Modelos de casos de uso


Diseño del sistema componente web y componente
3
móvil.
 Diseño modelo entidad relación
de las bases de datos del sistema

 Vistas componente web.


Diseño y Desarrollo componente web  Diseño Algoritmo ruta óptima.
4
 Implementación de vistas y
desarrollo de algoritmo.
 Pruebas Unitarias.

 Diseño de vistas componente


móvil.
5 Diseño y Desarrollo modulo componente móvil.  Desarrollo de funcionalidad
componente móvil.
 Pruebas Unitarias.

 Web Services InStock


6 Integración del sistema a web services
 Integración a SAP BUSINESS ONE

30
Facultad de Ingeniería
Escuela de Ingeniería Informática

CAPÍTULO IV. DESARROLLO

En el presente capitulo se expone detalladamente la ejecución el desarrollo

de este Trabajo Instrumental de Grado según los instrumentos teóricos expuestos y

según el plan general dado en la metodología planteada en el capítulo anterior se

desarrolló el proyecto conforme a las siguientes iteraciones:

IV.1 Primera Iteración: Investigación y análisis

En esta iteración se realizó el estudio del problema planteado, tomando

como punto de partida la documentación referente a teoría de inventarios para

familiarizarse con procesos y su implementación en SAP BUSSINESS ONE, por

consiguiente se realizó la planificación de actividades para la primera iteración:

IV.1.1 Planificación del Sprint:

 Análisis del proceso actual para gestión de inventario.

 Rediseño del proceso para gestión de inventario.

 Requerimientos funcionales y no funcionales.

 Análisis y asignación de módulos para la aplicación móvil y web.

31
Facultad de Ingeniería
Escuela de Ingeniería Informática

IV.1.2 Desarrollo del Sprint:

IV.1.2.1 Diseño:

 Análisis del proceso actual.

Para la realización de esta tarea se procedió al levantamiento de

información, para ello se establecieron reuniones continuas con algunos de los

clientes de IDA Software Solutions que actualmente gestionan inventario de sus

activos físicos, donde se obtuvieron conocimientos acerca del proceso de

administración de inventario y lo que respecta la documentación resultando esta

información el paso inicial para definir los requerimientos funcionales y no

funcionales para el cumplimiento de los objetivos.

El proceso actual de gestión de inventario que posee IDA SOFTWARE

SOLUTIONS, es realizado utilizando la herramienta SAP BUSINESS ONE en los cuales

cada operación o sub-proceso dentro de la gestión de inventario tales como órdenes

de compra, órdenes de venta, recepción y despacho de mercancía; así como

también el almacenamiento, transferencia y toma física de inventario puede ser

únicamente generado accediendo a las funcionalidades que posee el menú

principal. En caso de que no exista aun un inventario, se procede a realizar la carga

de todos los datos maestros de los artículos, detallando códigos de barras, lotes,

seriales, unidad de medida de peso, volumen de compra y venta

32
Facultad de Ingeniería
Escuela de Ingeniería Informática

Figura 4: Panel gestión de inventario SAP BUSINESS ONE


Fuente: (Ing. Orlando Rauseo, SAP Business One) [29]

Figura 5: Diagrama de actividades Proceso actual para gestión de inventario IDA Software solutions
Fuente: Elaboración propia

En cuanto a almacenamiento de la mercancía se estudió el proceso para la

asignación del espacio físico o ubicación, llegando a la conclusión que las

ubicaciones son las unidades de espacio disponibles menores en un almacén y para

33
Facultad de Ingeniería
Escuela de Ingeniería Informática

determinar estas ubicaciones se debe adicionar al proceso una herramienta que

permita la creación y asignación de Bin de ubicaciones dentro del almacén para

artículos en stock.

 Rediseño de proceso para gestión de inventario.

Inicialmente el proceso de gestión de inventario de la empresa IDA

SOFTWARE SOLUTIONS era realizado utilizando el panel de gestión que proporciona

la herramienta SAP BUSSINES ONE, si la empresa aun no tenían un inventario creado

debía proceder a cargar toda la información mediante formularios presentados en el

panel de gestión como se muestra en la Figura 4.1, así como también si empresa

utilizaba un ERP, debía cargar dicha data maestra en SAP y en su ERP por separado.

Así como también el método de asignación de Bins de ubicaciones para la mercancía

dentro del almacén debía se única y exclusivamente mediante la herramienta de

SAP, el encargado debería crear y asignar ubicaciones desde una estación de trabajo

o computadora de escritorio conectada SAP.

Luego de analizar el proceso actual, en base a los componentes presentes en

el proceso y los componentes reflejados en la propuesta entregada al cliente se

procedió a realizar un rediseño del proceso quedando de la siguiente forma:

34
Facultad de Ingeniería
Escuela de Ingeniería Informática

Figura 6: Rediseño del proceso para gestión de inventario IDA Software solutions
Fuente: Elaboración propia

El rediseño reflejado en la Figura 4.3, comprende en que los documentos no

serán creados mediante SAP BUSINESS ONE, sino mediante un dispositivo móvil

lector de códigos de barras, permitiendo crear documentos de despacho, recepción,

transferencia y toma física de inventario en tiempo real, permitiendo movilidad

dentro del almacén. Por otra parte la creación y asignación de Bins de ubicaciones

se realiza mediante el componente web del sistema que a su vez hace las funciones

de ERP de la empresa permitiendo crear datos maestros los cuales son sincronizados

35
Facultad de Ingeniería
Escuela de Ingeniería Informática

directamente con SAP BUSINNES ONE, eliminando del proceso la tarea de realizar la

carga de la data maestra en SAP y en el ERP por separado.

Así mismo se identificaron los procesos a automatizar y los módulos

correspondientes agrupando los distintos procesos, tanto para la aplicación móvil

como para el portal web

 Requerimientos funcionales y no funcionales

En esta tarea el objetivo es definir los componentes del sistema de acuerdo a

las necesidades o requerimientos del cliente en base a los compromisos adquiridos

en la propuesta entregada y al levantamiento de información. En esta sección se

definió las características de la solución y el alcance para producir los entregables

que permitan satisfacer las necesidades del cliente, y los objetivos del proyecto.

Tabla 2: Requerimientos componente móvil.


Fuente: Elaboración Propia

Tipo de Requerimiento Descripción del Requerimiento

Crear Documento (Orden de Venta, Orden de Compra,


Nota de salida, Nota de entrega, Despacho y Recepción de
Mercancía, Toma Física de Inventario).

Funcionales

36
Facultad de Ingeniería
Escuela de Ingeniería Informática

Configurar Dispositivo (Almacén, Cantidad de reconteos


en la toma física de inventario, Permitir editar conteo,
Dirección IP del servidor).

Consultar Documentos (Orden de Venta, Orden de


Compra)

Funcionales Consultar Socios de Negocios

La aplicación debe poder filtrar el contenido de las listas


de usuarios y documentos

Sincronizar mediante Web Services (Cargar documentos


de orden ce compra, orden de venta de la base de datos
de SAP BUSINESS ONE en la base de datos local del
dispositivo).
El sistema debe estar en capacidad de permitir en el futuro
el desarrollo de nuevas funcionalidades y un fácil
No funcionales mantenimiento

Acceso al sistema mediante usuario y contraseña

Desarrollo modular, siguiendo el patrón MVC

Así como también se identificaron los requerimientos funcionales y no

funcionales para el componente web del sistema. Siendo reflejados en la siguiente

tabla:

37
Facultad de Ingeniería
Escuela de Ingeniería Informática

Tabla 3: Requerimientos componente web


Fuente: Elaboración Propia

Tipo de Requerimiento Descripción del Requerimiento

Crear (Articulo, Marca, Fabricante, Grupo de Articulo,


Código de Barra, Almacén, Usuario, Perfil, Toma Física de
Inventario).

Eliminar (Articulo, Marca, Fabricante, Grupo de Articulo,


Código de Barra, Almacén, Usuario, Perfil, Toma Física de
Inventario).

Consultar (Articulo, Marca, Fabricante, Grupo de


Articulo, Código de Barra, Almacén, Usuario, Perfil, Toma
Física de Inventario).
Funcionales

Editar (Articulo, Marca, Fabricante, Grupo de Articulo,


Código de Barra, Almacén, Usuario, Perfil, Toma Física de
Inventario).
Crear almacén con ubicaciones y permitir crear Bin
ubicaciones y stock máximo del Bin en dicho almacén.

Crear y agendar toma física de inventario a realizar con


la aplicación móvil
El sistema debe contener buscadores inteligentes

El sistema deberá mostrar de forma gráfica la ruta para


obtención de un artículo especificado dentro del
almacén.
El sistema debe estar en capacidad de permitir en el
futuro el desarrollo de nuevas funcionalidades y un fácil
No funcionales mantenimiento

Acceso al sistema mediante usuario y contraseña

Desarrollo modular, siguiendo el patrón MVC

38
Facultad de Ingeniería
Escuela de Ingeniería Informática

 Análisis y asignación de módulos para componente móvil.

Para obtener mejor organización a lo largo del desarrollo del componente

móvil se dividió en cinco (5) módulos.

1. Modulo Despacho de Mercancía 3. Modulo Toma Física de Inventario.

 Despacho Directo.  Toma Física General.


 Despacho con Orden de  Toma Física Agenda.
Compra.

2. Modulo Recepción de Mercancía 4. Módulo Sincronización.

 Recepción Directa. 5. Modulo Transferencia de Mercancía


 Recepción con Orden de
Venta.

El detalle de los módulos mencionados anteriormente se puede observar en

el apéndice (Ver Apéndice B).

 Análisis y asignación de módulos para componente web.

Para esta actividad se tomó la decisión de distribuir la aplicación web en

módulos a partir de las clases del modelo de dominio permitiendo realizar

operaciones CRUD en cada módulo quedando los siguientes: Artículos, Fabricante,

39
Facultad de Ingeniería
Escuela de Ingeniería Informática

Grupos de Artículos, Marca, Almacenes, Perfiles, Usuarios, Códigos de Barras, Toma

Física de Inventario, Documentos). El detalle de cada uno de los módulos se puede

observar en el apéndice (Ver apéndice B).

IV.2 Segunda Iteración: Establecimiento del ambiente de desarrollo.

IV.2.1 Planificación del Sprint:

 Selección de la base de datos a implementar

 Selección de las herramientas de desarrollo

 Elaboración de arquitectura MVC

 instalación del servidor de pruebas.

IV.2.2 Desarrollo del Sprint:

 Selección e instalación de la base de datos a implementar

Dos de los objetivos específicos de este proyecto es diseñar e implementar

una base de datos para dispositivos móviles y web respectivamente, para ellos es

necesario definir la herramienta de almacenamiento tanto para el componente

móvil como para el componente web, tomando en cuenta las necesidades y

40
Facultad de Ingeniería
Escuela de Ingeniería Informática

prioridades de la empresa, de manera que la herramienta seleccionada permita la

ejecución de ellas y responda eficientemente frente al sistema a desarrollar.

- Base de datos componente web

Para determinar el manejador de base de datos que se adapte a las

necesidades del sistema han sido seleccionados distintos criterios técnicos

necesarios requeridos para el almacenamiento de los datos seguido de un estudio

comparativo a al cual se le puede asignar un rango de puntuación por cada criterio

de uno (1) al cinco (5) siendo 1 el criterio seleccionado con menor aceptación del

cliente y 5 el de mayor. Dicho estudio comparativo se puede apreciar los apéndices

(ver apéndice F)

En relación al cuadro comparativo de las herramientas de almacenamiento

para el componente web, en base al criterio presentado en el mismo y el análisis

correspondiente se optó por utilizar MySQL como manejador de base de datos.

- Base de datos componente móvil

Por motivos de especificación de requerimientos del cliente, la base de

datos a implementar en el componente móvil, es SQLite utilizando el SQLite

manager como manejador de base de datos, de igual forma como complemento a

esta tarea se realizó la evaluación correspondiente que se puede observar en los

apéndices (Ver apéndice G)


41
Facultad de Ingeniería
Escuela de Ingeniería Informática

 Selección de las herramientas de desarrollo

Dentro de las actividades de esta iteración está presente la necesidad de

definir la herramienta de desarrollo del componente web, del sistema tomando en

cuenta las necesidades y prioridades del sistema, de manera que la herramienta

seleccionada permita la ejecución de ellas y responda eficientemente frente al

software a desarrollar. Una de las características relevantes que debe poseer la

herramienta seleccionada para el desarrollo de la aplicación es que suministre al

desarrollador un editor de código capaz de compilar y refrescar los archivos

rápidamente, sea amigable y fácil de manejar, y como constructor de interfaz gráfica

permita trabajar con la librería Twitter Bootstrap y las librerías proporcionadas por

MySQL y SQLite.ORG para la integración con JAVA y Smart Device en Windows

Mobile 6.5 y conexión con la base de datos. En base a la comparación establecida

en el cuadro reflejado en el apéndice (Ver apéndice E), se seleccionó la herramienta

Eclipse como entorno de desarrollo ya que presenta mejor documentación y

promueve una experiencia más agradable para entornos de JAVA y su integración

con las librerías de STRUTS 2. En cuanto al IDE para desarrollar el módulo móvil por

limitaciones presentes en el presente trabajo instrumental de grado, el dispositivo

operara bajo el sistema operativo Windows Mobile 6.5 por ende se seleccionó

visual studio 2008 como herramienta de desarrollo para el componente móvil.

42
Facultad de Ingeniería
Escuela de Ingeniería Informática

 Elaboración de arquitectura MVC

Para la elaboración de la arquitectura MVC, se utilizó Struts 2 como

framework de presentación, dentro de las capas en las que se divide la aplicación, el

cual implementa el controlador del patrón de diseño MVC de varias maneras;

además proporciona algunos componentes para la capa de vista el cual hace que la

implementación de las mismas sea más sencillo, más rápido, y con menos

complicaciones. Además hace que las aplicaciones sean más robustas y flexibles.

Por otra parte proporciona una integración perfecta con Hibernate que es un

framework utilizado en el presente proyecto que nos permite crear el modelo de

datos a partir de nuestras clases creadas en nuestro proyecto en JAVA.

 Instalación del servidor de pruebas.

El servidor web de prueba utilizado es Apache tomcat por sus características

de código abierto, fácil configuración y robustez, compatibilidad con la mayoría de

los sistemas operativos, además de poseer un diseño modular para ampliar las

capacidades del servidor, la instalación de múltiples módulos a medida que se

necesitan, entre otras virtudes. En el apéndice se aprecia los pasos para configurar

el servidor de pruebas en Windows (Ver apéndice I)

43
Facultad de Ingeniería
Escuela de Ingeniería Informática

IV.3 Tercera iteración: Diseño del sistema.

IV.3.1 Planificación del Sprint:

 Modelos de casos de uso componente web y componente móvil.

 Diseño de modelo entidad relación de las bases de datos del sistema

IV.3.2 Diseño del Sprint

 Modelo de casos de uso componente web.

La definición y diseño de los modelos de casos de uso se realizaron a partir

de los requerimientos establecidos en el Sprint anterior, la definición de los módulos

y el alcance definido inicialmente en el proyecto, de esta manera se especifica la

comunicación y el comportamiento del sistema mediante su interacción con los

usuarios.

-Modelo de casos de uso Gestión de Artículos: Tiene como objeto la gestión

de los artículos permitiendo realizar las operación CRUD desde una misma ventana

por parte del usuario con todos los permisos correspondientes, además de permitir

crear nuevo fabricante, marca, grupo de artículo y códigos de barras agregándolos

directamente en el mismo formulario.

44
Facultad de Ingeniería
Escuela de Ingeniería Informática

Figura 7: Modelo de casos de uso gestión de artículo


Fuente: Elaboración Propia

Modelo de casos de uso Gestión de Almacenes: Tiene como objeto la

gestión de los almacenes permitiendo realizar las operaciones CRUD desde una

misma ventana por parte del usuario con todos los permisos correspondientes,

además de permitir indicar si el almacén creado manejara ubicaciones en ese caso

asignar Bins de ubicaciones al almacén a crear, así como también los segmentos

con todos sus detalles. La estructura de los Bins se puede apreciar con más detalle

en los apéndices (ver Apéndice K)

45
Facultad de Ingeniería
Escuela de Ingeniería Informática

Figura 8: Modelo de casos de uso gestión de almacenes


Fuente: Elaboración Propia

 Modelo de casos de uso componente móvil.

Modelo de casos de uso crear documento: Tiene como objeto la creación de

documentos de despacho, recepción, transferencia y toma física de inventario

accediendo al menú principal del componente móvil.

Figura 9: Modelo de casos de uso crear documento


Fuente: Elaboración Propia

46
Facultad de Ingeniería
Escuela de Ingeniería Informática

Modelo de casos de uso Sincronizar con SAP BUSINESS ONE: Tiene como objeto

permitir cargar las órdenes de compra y venta generadas en SAP, así como también

él envió de los documentos creados a la base de datos centralizada.

Figura 10: Modelo de casos de uso Sincronizar con SAP


Fuente: Elaboración Propia

La realización de los modelos de casos de uso del componente web y del

componente móvil sistema permitió documentar el comportamiento del mismo

desde el punto de vista del usuario, por lo tanto se organizan y visualizan los

requisitos funcionales a nivel general, representando las funciones que el sistema

puede ejecutar, lo cual otorga el comportamiento y el nivel de importancia de cada

módulo, facilitando la interpretación de los escenarios posibles y probables. En el

apéndice se aprecian el resto de los modelos de casos de usos generados. (Ver

apéndice K)

47
Facultad de Ingeniería
Escuela de Ingeniería Informática

 Diseño de modelo entidad relación de las bases de datos del sistema

Una vez levantada la información de los procesos involucrados en la gestión

de inventario y la generación de documentos correspondientes y el análisis de los

diferente modelos que describen las necesidades del sistema para el cumplimento

cumplimientos de los objetivos planteados, se procedió a realizar el diseño del

modelo de base de datos, el cual fue modificado en varias oportunidades durante el

desarrollo debido a nuevas exigencias y funcionalidades o cambio de requerimientos

por parte del cliente.

Figura 11: Modelo Entidad Relación del Sistema


Figura 4.8: Fuente: Elaboración Propia

48
Facultad de Ingeniería
Escuela de Ingeniería Informática

IV.4 Cuarta iteración: Diseño y Desarrollo componente web.

IV.4.1 Planificación del Sprint:

 Diseño de vistas componente web.

 Diseño de algoritmo basado en teoría de grafos para calcular la ruta óptima

para el despacho de mercancía.

 Implementación de vistas y desarrollo de algoritmo propuesto en la actividad

anterior.

IV.4.2 Fase de diseño del Sprint:

 Diseño de vistas componente web

En cuanto a las actividades de diseño e implementación de interfaces gráficas

o vistas se realizó mediante la utilización del framework Twitter Bootstrap, que

contiene un conjunto de herramientas de software libre para el diseño de

aplicaciones web, así como extensiones de JavaScript opcionales adicionales. Se

crearon las vistas CRUD de cada uno de los casos de uso determinados en la

iteración de análisis y requerimientos. Algunas de las vistas diseñadas son las

siguientes:

49
Facultad de Ingeniería
Escuela de Ingeniería Informática

Figura 12: Ventana Login para componente web.


Fuente: Componente Web del Sistema

Figura 13: Estructura del diseño visual de las pantallas de la interfaz usuario componente web
Fuente: Elaboración Propia

Area de Logo
Area de session

Area
de
Area de formularios
Menu

50
Facultad de Ingeniería
Escuela de Ingeniería Informática

La estructura de diseño visual del componente web en ilustra en la Figura 4.10.

Todos los módulos que presenta el componente deben regirse por esta plantilla a

excepción del módulo de ingreso al sistema. Se describen las áreas definidas en la

Figura 4.31:

 Área de logos: se ubica el logo del sistema. Ver Figura 4.10.

 Área de sesión: se ubica el nombre de usuario que ingresó al sistema.

 Área de menú: se ubica el acceso a todos los módulos del componen web.

 Área de formularios: se ubica la información de los datos que el usuario

desea ingresar, consultar o modificar. Esta área es dinámica ya que cambia

cuando el usuario elije alguna opción del área de menú

Los estilos para la presentación de las páginas se basan en los estándares

definidos por el framework Bootstrap de Twitter expuesto al comienzo de esta tarea

los cuales ofrecen una interacción amigable y agradable para los usuarios. Estos

estilos establecen las características de fondos, colores, tipo de fuente, tamaño de la

fuente y de los campos y áreas definidas, imágenes, entre otros. En la Figura 4.11 y

la Figura 4.12 se presentan las pantallas donde se ilustra las características

mencionadas de la interfaz.

51
Facultad de Ingeniería
Escuela de Ingeniería Informática

Figura 14 : Ventana Registro de datos maestro artículos


Fuente: Componente Web del Sistema

Figura 15: Ventana Registro de datos maestros artículos


Fuente: Componente Web del Sistema

52
Facultad de Ingeniería
Escuela de Ingeniería Informática

Los modelos de caso de uso involucrados en esta actividad de diseño de

vistas del componente web tales como: Crear, Eliminar, Editar y Modificar

(Articulo, Marca, Fabricante, Grupo de Articulo, Código de Barra, Almacén, Usuario,

Perfil, Toma Física de Inventario), se encuentran en el apéndice (ver apéndice K), En

dichos casos de uso se especifican los actores que intervienen y las acciones.

 Diseño de algoritmo basado en teoría de grafos para calcular la ruta

óptima para el despacho de mercancía.

Durante esta fase de la iteración, se realizó el análisis correspondiente a la

teoría de grafos aplicando el teorema de Dijkstra, que es un algoritmo para la

determinación del camino más corto dado un vértice origen al resto de vértices en

un grafo con pesos en cada arista.

El grafo inicial de nuestro algoritmo va estar dado por el almacén

seleccionado para ubicar algún artículo, en el cual cada uno de los Bin de ubicación

serán los nodos presentes en el grafo de esta manera una vez representado todos

los Bin como nodos se establece que nodos son alcanzables entre si y que nodos no

lo son, así como también cada almacén tiene definido un Bin inicial que para efecto

del presente sistema será el lugar de despacho y recepción de la mercancía en el


53
Facultad de Ingeniería
Escuela de Ingeniería Informática

almacén. Por ejemplo si tenemos un pasillo A con cuatro (4) estantes y luego otro

pasillo B con cuatro (4) estantes, los únicos puntos en los que podemos desplazarnos

desde el paso A hasta el pasillo B es por medio de los nodos alcanzables presentes

en cada extremo del pasillo como lo sería el Bin B11 que contiene el estante A-1 y el

Bin B21 que contiene el estante B-1 para visualizar un poco lo expresado

anteriormente se muestra la siguiente figura:

Figura 16: Grafo para obtención de ruta mínima basado en Dijkstra


Fuente: Elaboración Propia

A partir del grafo expuesto en la figura 4.13 se puede elaborar siguiendo el

algoritmo de Dijkstra la matriz de alcance para cada uno de los nodos presentes en

el grafo quedado de la siguiente forma:


54
Facultad de Ingeniería
Escuela de Ingeniería Informática

Tabla 4: Matriz de Alcance de la figura 16


Fuente: Elaboración Propia

Bin B0 B11 B12 B13 B14 B21 B22 B23 B24

B0 0 1 1 1 1 0 0 0 0

B11 0 1 1 0 0 1 0 0 0

B12 0 0 0 1 0 0 0 0 0

B13 0 0 1 0 1 0 0 0 0

B14 0 0 0 1 1 0 0 0 1

B21 0 0 0 0 0 0 1 0 0

B22 0 0 0 0 0 1 0 1 0

B23 0 0 0 0 0 0 1 0 1

B24 0 0 0 0 1 0 0 1 0

IV.4.3 Fase de desarrollo del Sprint:

 Implementación de vistas componente web y desarrollo de algoritmo.

En esta tarea se procedió con codificación de las clases o “Actions”

establecidos mediante el framework Struts2 cuya configuración inicial se puede

detallar en el apéndice (Ver apéndice I) para llevar a cabo esta tarea se tomó como

55
Facultad de Ingeniería
Escuela de Ingeniería Informática

referencia los casos de uso definidos en la iteración análisis y requerimientos tales

como: Crear/Consultar/Editar/Modificar (Artículo, Marca, Fabricante, Grupo de

Articulo, Código de Barra, Almacén, Usuario, Perfil, Toma Física de Inventario). En

dichos casos de uso se especifican los actores que intervienen y las acciones. En cada

uno de los módulos se realizaron funcionalidades tales como la paginación,

buscadores inteligentes utilizando el plugin Data Tables de JQuery.

Uno de los algoritmos más usado para la búsqueda de peso mínimo es el de

Dijkstra, que proporciona los pesos mínimos desde un vértice dado al resto de los

vértices de un grafo, para esto se procedió a realizar la codificación en JAVA de una

matriz a partir del grafo dado, este grafo es construido a partir de los Bins definidos

en el almacén. El algoritmo tiene como objetivo indicar la ruta más corta basado en

las distancias o el peso del articulo a ubicar, una vez obtenida la ruta optima

implementando una adaptación del algoritmo de Dijkstra, se obtiene el vector de

nodos que para efectos del sistema cada nodo es un Bin de ubicación dentro del

almacén, dicho vector contiene el conjuntos de Bins alcanzables que conforman en

camino más corto desde el Bin inicial hasta el Bin donde se encuentra ubicado el

articulo a obtener, se repite el proceso tantas líneas tenga el documento de orden

de compra, luego de esto el proceso finaliza representando de manera gráfica la

ruta indicando los Bins en los cuales debe ubicarse consecutivamente para

satisfacer la orden de compra asignada para el despacho de mercancía.


56
Facultad de Ingeniería
Escuela de Ingeniería Informática

IV.4.4 Fase de pruebas del Sprint:

Para las pruebas de verificación, en cuanto al algoritmo de ruta óptima para

el despacho de mercancía, se procedió a verificar la ruta óptima arrojada por el

algoritmo con respecto a los valores presentes en la base de datos, y en cada uno de

los Bins pertenecientes al grafo del almacén configurado.

Figura 17 : Ruta optima de despacho


Fuente: Elaboración propia

IV.5 Quinta iteración: Diseño y desarrollo componente móvil.

IV.5.1 Planificación del Sprint:

 Diseño de vistas componente móvil.

 Desarrollo de funcionalidad componente móvil.

IV.5.2 Diseño del Sprint:

 Diseño de vistas componente móvil.


57
Facultad de Ingeniería
Escuela de Ingeniería Informática

En cuanto a las actividades de diseño de interfaces gráficas o vistas para el

componente móvil se realizó mediante los controles que provee la barra de

herramientas de Visual Studio 2008 con el SDK de Windows Mobile que contiene un

conjunto de herramientas para el diseño de aplicaciones de Smart Device para

utilizar el dispositivo marca PIDION modelo P6000 para instalar el componente

móvil, por otra parte para esta tarea se incluyó al proyecto una clase llamada

“ButtonsDraw.cs” la cual contiene un conjunto de métodos y funciones que

permiten generar botones con animaciones dinámicas, dándole a la aplicación una

experiencia de usuario agradable. En dichos casos de uso se especifican los actores

que intervienen y las acciones. En cada uno de los módulos se realizaron

funcionalidades de validación de códigos de barras de los artículos, lotes, seriales y

Bins de ubicación registrados en la base de datos del componente web del sistema

mediante la lectora integrada en el dispositivo móvil. Se implementó el patrón de

diseño Singleton y Cadena de responsabilidad. Algunas de las vistas diseñadas son

las siguientes:

La Figura 18 expone la pantalla inicial del componente movil la cual consta

de dos campos para validar los datos del usuario a ingresar al sistema, validando la

contrasena mediante un algoritmo de encritacion, por otra parte la Figura 19

expone el menu principal del sistema donde se pueden implementar los caso de uso

principales y luego la Figura 20 muestra el panel de configuracion del dispositivo.

58
Facultad de Ingeniería
Escuela de Ingeniería Informática

Figura 18: Ventana Login Figura 19 : Ventana Menú Figura 20: Ventana Configuración
componente móvil componente móvil componente móvil
Fuente: Elaboración Propia Fuente: Elaboración Propia Fuente: Elaboración Propia

En las Figuras 21, 22, 23 se exponen las vistas para implementación de caso

de uso crear documento, de despacho, transferencia y toma física de inventario

respectivamente.

Figura 21: Orden de Compra Figura 22: Transferencia de Stock Figura 23: Toma Física de stock
Fuente: Elaboración Propia Fuente: Elaboración Propia Fuente: Elaboración Propia

59
Facultad de Ingeniería
Escuela de Ingeniería Informática

IV.5.3 Desarrollo del Sprint:

 Desarrollo de funcionalidad componente móvil.

Para el desarrollo de esta tarea se implementaron los casos de eso

determinados en la iteración de análisis y requerimientos para el componente móvil,

tal como: Crear Documento (Orden de Venta, Orden de Compra, Despacho de

Mercancía, Recepción de Mercancía, Toma Física de Inventario y Transferencia de

stock), Configurar Dispositivo, Consultar Documentos, Sincronizar.

IV.5.4 Pruebas del Sprint:

Las pruebas para el componente móvil para el acceso a la aplicación,

consistió en crear varios usuarios con diferentes perfiles, es decir, superadmin,

admin y user, para verificar que se cumplieran las restricciones para cada uno, y

verificar que efectivamente se validaba la permisologia . Así mismo, se verificaron

los mensajes de validación de la cuenta ingresada, en caso de que ésta se ingresara

incorrectamente, por otra parte se procedió a crear todos los documentos definidos

en el caso de uso “Crear Documento” definido en la iteración de análisis y

requerimientos para el componente móvil, para efectos de pruebas estos

documentos creados fueron almacenados en la base de datos local del dispositivo

validando el correcto funcionamiento de la misma , la cual fue implementada en

SQLite.

60
Facultad de Ingeniería
Escuela de Ingeniería Informática

IV.6 Sexta iteración: Integración a web services.

IV.6.1 Planificación del Sprint:

 Web services del sistema

 Integrador a SAP

IV.6.2 Desarrollo del Sprint:

 Web services del sistema

Durante esta tarea se procedió a realizar la interconexión entre el

componente móvil y el componen web del sistema mediante el uso de Web

Services, para ello se implementó un framework completo, de código abierto para

servicios web llamado Xfire para el componente web desarrollado en JAVA.

Así como también se implementaron servicios web basados en .net para el

componente móvil del sistema el cual opera con el sistema operativo Windows

Mobile, para ello era necesario que el componente móvil permitiera tener una

descripción de su servicio web mediante el cual se sincronizan cada uno de los

documentos generados con el componente web y luego con SAP BUSINESS ONE.

61
Facultad de Ingeniería
Escuela de Ingeniería Informática

Se procedió a definir la interfaz abstracta a través de la cual un cliente puede

acceder al servicio y los detalles de cómo se debe utilizar. Para ello se implementó

WSDL (Web Services Description Language) basado en XML y describe la forma de

comunicación, es decir, los requisitos del protocolo y los formatos de los mensajes

necesarios para interactuar con los servicios listados en su catálogo como lo son

CrearDocumento(), ListarDocumentos(), ValidarLote(), ValidarSerial(), ValidarBin(),

ValidarInventario(), entre otras definiciones de métodos implementados. Luego las

operaciones y mensajes que soporta se describieron en forma abstracta y se ligaron

después al protocolo concreto de red y al formato del mensaje.

 Integrador a SAP

Para llevar a cabo esta actividad fue necesario implementar las herramientas

que provee SAP para la su integración con otros sistemas, para ellos SAP Business

One SDK proporciona interfaces de programación de varios de lenguajes y

soluciones en la capa superior de la aplicación como lo son las aplicaciones web que

en el caso del presente trabajo instrumental de grado fue definido un componente

web en el sistema; para el caso de dicho componente desarrollado en JAVA fue

necesario incorporar al mismo un módulo para consumir los web services de SAP

para proporcionar una mayor facilidad de uso añadiendo las referencias web a los

62
Facultad de Ingeniería
Escuela de Ingeniería Informática

servicios B1WS web (presentada por los archivos WSDL) y el uso de los servicios con

el modelo de objetos de auto generado.

La arquitectura correspondiente a la integración se puede apreciar en el

apéndice (Ver apéndice J) muestra los diferentes componentes y su integración.

63
Facultad de Ingeniería
Escuela de Ingeniería Informática

CAPÍTULO V. RESULTADOS

La finalización de las seis (6) iteraciones con sus actividades correspondientes

realizadas anteriormente, permite señalar mediante los productos generados el

cumplimiento de los objetivos planteados inicialmente. Por lo tanto, se presentan a

continuación los resultados obtenidos del proyecto realizado:

 Diseñar y desarrollar una base de datos para dispositivos móviles en SQLITE

 Se diseñó e implemento una base de datos basada en SQLite para el

almacenamiento de los datos del componente móvil del sistema, el modelo entidad-

relación resultante del diseño se puede apreciar en la página número 50 del capítulo

de desarrollo.

 Integrar al sistema un dispositivo móvil para la captura de la información,

mediante escaneo de código de barra.

 Se integró una lectora de códigos de barra marca PIDION modelo P6000, la

cual opera bajo sistema operativo Windows Mobile 6.5, permitiendo el escaneo de

una amplia gama de tipos de códigos de barras, para el escaneo de los seriales,

lotes, Bins y códigos de barras de los artículos, las vistas y funcionalidad elaborada

se pueden apreciar en las paginas 59, 60, 61 del capito de desarrollo.

64
Facultad de Ingeniería
Escuela de Ingeniería Informática

 Diseñar y desarrollar una interfaz móvil

 Se diseñó y desarrolló las vistas correspondientes Transferencia de Stock,

Toma física de Inventario, Despacho de Inventario Recepción de Inventario,

Autenticación de usuario. Algunas de las vistas desarrolladas se pueden observar en

la página 61 del capítulo de desarrollo.

 Diseñar y desarrollar un algoritmo de generación de alertas para análisis de

Inventario rotativo basado en su valor, rotación y su existencia.

 Se diseñó y desarrolló un algoritmo correspondiente a la asignación de Toma

física de Inventario aleatoria basándose en los artículos existentes en inventario y

su almacén.

 Diseñar y desarrollar componente servidor para procesar las solicitudes de:

transferencia, toma física, despacho, recepción de inventario, autenticación del

dispositivo móvil.

 Se diseñó e implementó el componente web del sistema para procesar las

solicitudes enviadas por el componente móvil y su validación contra SAP Business

One. El detalle de las tareas realizadas para cumplir con este objetivo se puede

observar con detalle en la cuarta iteración en el capito de desarrollo página 49.

65
Facultad de Ingeniería
Escuela de Ingeniería Informática

 Diseñar y desarrollar una base de datos centralizada para el almacenamiento

de los datos de distintos dispositivos móviles conectados al servidor.

 Se diseñó e implemento una base de datos basada en MySQL para el

almacenamiento de los datos del componente web del sistema, como actividad

adicional se evaluó mediante un cuadro comparativo MySQL y Postgresql resultando

idónea para los requerimientos del proyecto la selección de MySQL como base de

datos a implementar. El modelo entidad-relación se puede observar en la página

48 del capítulo de desarrollo.

 Diseñar e implementar un algoritmo basado en teoría de grafos para

calcular la ruta óptima para el despacho de mercancía.

 Se elaboró el diseño del proceso para calcular la ruta óptima para el

despacho de mercancía, y su implementación en función de los lineamientos

propuestos por el algoritmo de Dijkstra. El ejemplo de la salida que genera el

algoritmo implementado se puede observar en la página 57 del capítulo de

desarrollo.

66
Facultad de Ingeniería
Escuela de Ingeniería Informática

Aporte Funcional

 Rediseño del proceso para la gestión de inventario permitiendo obtener ruta

óptima para el despacho de mercancía.

 Se estudió el proceso y posteriormente se realizó el rediseño del mismo,

incorporando al proceso las actividades de localización y creación de documentos

mediante el dispositivo móvil.

Aporte tecnológico:

 Desarrollar un conector para integrar a los web services ofrecidos por SAP

BUSINESS ONE para la integración.

 Se implementaron las herramientas provistas por SAP Business One SDK

para la integración del servidor centralizado basado en JAVA Web, y la generación

automática de los archivos XML WSDL para la sincronización de los documentos y

validaciones de seriales lotes y códigos de barras de los artículos.

67
Facultad de Ingeniería
Escuela de Ingeniería Informática

CAPÍTULO VI. CONCLUSIONES Y RECOMENDACIONES

VI.1 Conclusiones

Se planteó el desarrollo formal de un Sistema móvil integrado para manejo

de inventarios, y la implementación del sistema, que rediseño el proceso

optimizándolo y permitiendo la asignación de espacio físico en un almacén mediante

creación de Bins, sin depender de SAP Business One, que en resumen, la

importancia de asignar Bins de localización para cualquier producto en un almacén

busca ayudar a los encargados a recabar las órdenes de forma rápida y adecuada

dando a los mismo las mejores posibilidades de cumplir con una orden en el primer

intento.

Para esto es importante que al momento de recorrer el almacén para

completar cualquier orden de despacho mediante el componente móvil se realice la

mejor ruta o la ruta óptima dentro del almacén para obtener todos los productos en

un solo recorrido, discriminando la ruta por el peso de los artículos presentes en la

orden, es allí donde se refleja la importancia del algoritmo basado en Dijkstra

implementado para llevar a cabo esta tarea de forma eficiente.

68
Facultad de Ingeniería
Escuela de Ingeniería Informática

VI.2 Recomendaciones

 Aprovechar el uso de arquitectura MVC del componente móvil para integrar

vistas desarrolladas en otras plataformas de dispositivos móviles, como lo es

Android o IOS.

 Implementar el algoritmo de ruta optima utilizando una matriz de tres

dimensiones permitiendo asignar ubicaciones entre los pisos de un almacén.

 Adicionar un algoritmo para asignar toma física de inventario a usuarios para

distintas zonas del almacén configurado en el dispositivo.

 Comprobar el funcionamiento del sistema, con grandes cantidades de Bins

de ubicaciones configurados en distintos almacenes.

69
Facultad de Ingeniería
Escuela de Ingeniería Informática

REFERENCIAS BIBLIOGRAFICAS

1. Cardoso, L. (2006). Sistemas de Base de Datos II: Teoría aplicada para

profesores y estudiantes. Caracas: Universidad Católica Andrés Bello.

2. cxf.apache.org/.org (2014). Apache CXF: and Open-Source Services [en línea]

Recuperado el 20 octubre de 2014. Disponible en http://cxf.apache.org/

3. Eclipse.Org. (2008). Recuperado el 15 de octubre de 2014. Disponible en

http://www.eclipse.org/.

4. Eduardo E. Pincolini (2009). El Stock y su importancia. Buenos Aires,

Argentina.

5. Florencia Chiesa (2004). Reportes Técnicos en Ingeniería de Software Vol. 6

(N° 1 pág. 17-37).

6. Gaither, Norman, Frazier, Greg (2012). Administración de producción y

operaciones. Editorial Thomsom. p. 355.

7. Hibernate.org (2009). Recuperado el 20 de octubre de 2014. Disponible en

http://www.hibernate.org/

8. Ing. Orlando Rauseo. (2014). SAP BUSINESS ONE (Panel para la gestión de

inventario de IDA Software Solutions) [Software]. IDA CA Caracas-

Venezuela

9. Ken Schwaber ( 2004).Agile Project Management with Scrum (Developer Best

Practices)
70
Facultad de Ingeniería
Escuela de Ingeniería Informática

10. Leandro Alegsa. (2009) Diccionario de tecnología e informática [en línea].

Recuperado el 5 de octubre de 2014, Disponible en:

http://www.alegsa.com.ar.

11. Leandro Alegsa. (2009) Diccionario de tecnología e informática, Definición de

IDE [en línea] Recuperado el 5 de octubre de 2014, Disponible en:

http://www.alegsa.com.ar.

12. Lextrait, Vincent (Febrero de 2010). The Programming Languages Beacon,

v10.0 [en línea] Consultado el 22/09/2014. Disponible en:

http://www.lextrait.com/Vincent/implementations.html

13. Liconsa, (2010). Manual de procedimiento para la toma física de inventario.

Caracas -Venezuela.

14. Max Müller, (2011). Fundamentos de administración de inventarios. (pág.

102-200) DF, México.

15. Microsoft. (2008). Recuperado el 15 de octubre de 2014. Disponible en

http://www.eclipse.org/.

16. Microsoft. (2010). Test Drive Development. TDD en .Net Framework. [en

línea] Recuperado el 25 octubre de 2014. Disponible en

hthttp://msdn.microsoft.com/ TDD (2010).

17. Miguel Fuentes, (2011). Sistema de Inventarios. México: Addison-Wesley.

18. ORACLE. Robin Schumacher & Arjen Lentz (2014) [en linea] Recuperado el

15 de octubre de 2014. en http://dev.mysql.com


71
Facultad de Ingeniería
Escuela de Ingeniería Informática

19. Proyestosagiles.org SCRUM. Conoce Scrum. [en línea] Recuperado el 20

octubre de 2014. Disponible en http:// Proyestosagiles.org (2010).

20. Riehle, Dirk (2000), Framework Design: A Role Modeling Approach, Swiss

Federal Institute of Technology.

21. SAP BUSSINES ONE 9. Inventario ¿Cómo trabajar con ubicaciones? [en línea]

Recuperado el 5 de octubre de 2014. Disponible en http://help.sap.com/

22. SAP. (s.f.). [en línea] Recuperado el 1 de octubre de 2014. Disponible en

http://www.sap.com/

23. SQLite.Org. (2013). Recuperado el 15 de octubre de 2014. Disponible en

http://www.sqlite.org/

24. Steve Burbeck, Ph.D. (1992) How to use Model-View-Controller (MVC) [en

línea] Recuperado el 12 octubre de 2014. Disponible en: http://st-

www.cs.illinois.edu

25. Struts.apache.org (2009). [en línea] Recuperado el 5 de octubre 2014.

Disponible en http://struts.apache.org/

26. TEKNODA.org (2014). ESA y Web Services en SAP Netweaver: Introducción

[en línea] Recuperado el 20 octubre de 2014. Disponible en

http://www.teknodatips.com.ar

27. Tomcat.apache.org (2009). Recuperado el 20 de octubre de 2014. Disponible

en http://www.hibernate.org/

72
Facultad de Ingeniería
Escuela de Ingeniería Informática

28. Tutte, W.T., (2001). Graph Theory (Cambridge Mathematical Library).

USA

29. Yusef Hassan (2013) Optimización del algoritmo del camino más corto entre

todos los nodos de un grafo y su implementación en JAVA. [en línea]

Recuperado el 10 de octubre de 2014. Disponible en

http://usandojava.blogspot.com

73

También podría gustarte