Tesis: Instituto Politecnico Nacional

INSTITUTO POLITECNICO NACIONAL UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS

Views 130 Downloads 1 File size 3MB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

INSTITUTO POLITECNICO NACIONAL UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS SECCIÓN DE ESTUDIOS DE POSGRADO E INVESTIGACIÓN

SISTEMA DE GESTIÓN DE ALMACENES CON IDENTIFICACIÓN AUTOMÁTICA DE CAPTURA DE DATOS, PARA UN CONTROL EFICIENTE DEL FLUJO DE PROCESOS

TESIS QUE PARA OBTENER EL GRADO DE MAESTRO EN CIENCIAS EN INFORMÁTICA PRESENTA

Miguel Ángel Hernández Trinidad D I R E C T O R A: M. en C. Emilia Abad Ruíz

México, CDMX. 2017

AGRADECIMIENTOS A mis padres por darme su apoyo incondicional y la confianza necesaria para lograr mis metas y por siempre motivarme a seguir a delante. A mis hermanas por apoyarme en cada momento y soportarme todo el tiempo, mientras desarrollaba el posgrado. A mis maestros de la maestría por brindarme apoyo y asesoría cuando la requerí. A mi directora de tesis por brindarme la confianza y apoyarme en cada momento. A mis compañeros por ofrecerme el apoyo y asesoría.

Índice Resumen ..................................................................................................................................................... v Abstract ....................................................................................................................................................... vi Introducción ................................................................................................................................................. 1 Objetivos ...................................................................................................................................................... 2 Objetivos específicos.............................................................................................................. 2 Alcance ........................................................................................................................................................ 2 Metodología ................................................................................................................................................ 3 Capítulo I: Antecedentes generales ........................................................................................................ 4 1.1 La logística y la cadena de abastecimiento....................................................................... 4 1.2 Evolución de los sistemas para la gestión de almacenes ................................................. 5 1.3 Campo de aplicación ........................................................................................................ 8 1.4 Software de gestión empresariales y de almacenes ......................................................... 9 1.4.1 Sistemas de planificación de recursos empresariales ....................................................... 9 1.4.2 Sistema de Planeación de los Requerimientos de Materiales ........................................ 10 1.4.3 Sistema de gestión de almacenes ....................................................................................... 10 1.5 Características de los sistemas para administrar almacenes ...........................................11 1.5.1 Características principales .................................................................................................... 11 1.5.2 Flexibilidad............................................................................................................................... 12 1.5.3 Modularidad............................................................................................................................. 12 Capítulo II: Tecnologías y metodologías .............................................................................................. 13 2.1 Uso de código de barras..................................................................................................13 2.2 Metodologías ...................................................................................................................15 2.2.1 Metodologías Metodología XP ............................................................................................. 16 2.2.2 Metodología RUP ................................................................................................................... 18 2.2.3 SCRUM .................................................................................................................................... 20 2.2.4 UML .......................................................................................................................................... 22 2.2.5 Metodología Microsoft Solution Framework ....................................................................... 23 2.2.6 Modelo propuesto por MSF .................................................................................................. 26 2.2.7 Arquitecturas orientadas a objetos en .NET ...................................................................... 27 2.2.7.1 Estrategia y alcance de un proyecto de desarrollo de Software ................................. 29 2.2.7.2 Objetivos específicos de la Estrategia y Alcance .......................................................... 30 2.2.7.3 Tareas a ser cumplidas en la Estrategia y Alcance....................................................... 30 i

2.2.7.4 Capturar la visión y alcance del proyecto ....................................................................... 31 2.3 Framework web ...............................................................................................................32 2.4 Estrategia y alcance de un proyecto de desarrollo de Software .......................................34 2.4.1 Objetivos específicos de la Estrategia y Alcance .............................................................. 34 2.4.2 Tareas a ser cumplidas en la Estrategia y Alcance .......................................................... 34 2.5 Estudio de algunos sistemas que se encuentran en el mercado ......................................36 2.5.1 e-WMS ..................................................................................................................................... 36 2.5.2 Apriso de México .................................................................................................................... 37 2.5.3 SPACE Distribución y almacenaje ...................................................................................... 38 2.6 La importancia de desarrollo de un sistema web ................................................................. 39 Capítulo III: Análisis y diseño ................................................................................................................. 40 3.1 Definición de metodología ...............................................................................................40 3.2 Herramientas de diseño y desarrollo ...............................................................................40 3.2.1 SQL Server Management Studio ......................................................................................... 40 3.3 Definición de la arquitectura del sistema..........................................................................41 3.4 Aplicación ........................................................................................................................43 3.5 Metas ..............................................................................................................................43 3.6 Objetivos del sistema.......................................................................................................44 3.6.1 Objetivo general ..................................................................................................................... 44 3.6.2 Objetivos específicos ............................................................................................................. 44 3.7 Supuestos .......................................................................................................................44 3.8 Análisis de los Casos de Uso ..........................................................................................45 3.8.1 Definición de los interesados (Stakeholder)....................................................................... 46 3.8.2 Definición de los Casos de Uso ........................................................................................... 49 3.9 Requerimientos ...............................................................................................................53 3.9.1 Requerimientos de estándares de Sistema ....................................................................... 54 3.10 Diseño conceptual del sistema de gestión de almacenes ..............................................54 Capítulo IV: Desarrollo ............................................................................................................................ 57 4.1 Base de Datos .................................................................................................................57 4.2 Desarrollo de las interfaces de la plataforma del sistema ................................................60 4.3 Pruebas y resultados .......................................................................................................64 4.4 Implementación ...............................................................................................................66 Conclusiones .........................................................................................................................68 Bibliografía ............................................................................................................................69 ii

Listado de figuras Figura 1: Proceso logístico ......................................................................................................... 5 Figura 2: El Código de Barras, El Lenguaje Universal de Negocios. .........................................14 Figura 3: Código QR. ................................................................................................................15 Figura 4: Elementos básicos de una metodología. ....................................................................16 Figura 5: Fases de la metodología RUP....................................................................................20 Figura 6: Ciclo principal de la metodología SCRUM. .................................................................21 Figura 7: Modelo de proceso.....................................................................................................24 Figura 8: Representación gráfica del modelo propuesto por MSF. ............................................26 Figura 9: arquitectura orientada a objetos .Net..........................................................................28 Figura 10: Representación gráfica de un framework. ................................................................33 Figura 11: e-WMS Software de gestión de almacén..................................................................37 Figura 12: Sistema de gestión de almacenes Apriso. ................................................................37 Figura 13: Space Distribución y Almacenaje. ............................................................................38 Figura 14: Niveles de la arquitectura del sistema. .....................................................................41 Figura 15: Diagrama de la comunicación del almacén. .............................................................42 Figura 16: Diagrama de Casos de Uso. ....................................................................................47 Figura 17: Diagrama conceptual del Sistema de gestión del almacén. ......................................55 Figura 18: Diagrama Entidad-Relación de la base de datos. .....................................................58 Figura 19: Conexión a la base de datos en el entorno de desarrollo. ........................................59 Figura 20: Procedimiento de almacenamiento para la validación de usuarios. ..........................59 Figura 21: Pantalla de ingreso de usuarios al sistema. .............................................................60 Figura 22: Pantalla principal del sistema para un usuario operativo. .........................................61 Figura 23: Pantalla principal del sistema para un usuario con papel de supervisor. ..................62 Figura 24: Pantalla principal del sistema para un administrador (gerente). ...............................62 Figura 25: Pantalla de inicio, vista desde una interfaz de un dispositivo móvil. .........................64 Figura 26: Interfaz vista desde un dispositivo móvil (Galaxy S5). ..............................................65 Figura 27: Registro de usuario en Nexus 5X. ............................................................................66

iii

Listado de tablas Tabla 1.- Entregables de cada fase de la metodología MSF. ....................................................27 Tabla 2.- Caso de uso Iniciar de sesión de usuarios. ................................................................49 Tabla 3.- Caso de uso Registro de usuarios. ............................................................................50 Tabla 4.- Caso de uso Consulta de personal. ...........................................................................50 Tabla 5.- Caso de uso Registro de productos. ..........................................................................50 Tabla 6.- Caso de uso Consulta de productos. .........................................................................51 Tabla 7.- Caso de uso Actualización de productos. ...................................................................51 Tabla 8.- Caso de uso Eliminar productos.................................................................................52 Tabla 9.- Caso de uso Eliminar empleados. ..............................................................................52

iv

Resumen

Durante años la necesidad de procesamiento de información se ha vuelto una necesidad, se ha buscado la forma de facilitar el procesamiento mediante distintas herramientas, la necesidad de esta operación ha crecido enormemente, debido al desarrollo de infraestructuras que demandan un flujo mayor de información en muy poco tiempo, para contrarrestar esta necesidad, hoy en día el avance tecnológico tanto como en hardware y software, permite un flujo mayor de información en el procesamiento. El uso de la Tecnología de la Información (TI) hace posible que muchos procesos se automaticen y se permita el acceso desde cualquier sitio, en donde se tenga una red de datos, para la transferencia de información, lo cual ayuda a reducir tiempos, la disminución de errores es casi nula, la consulta de información es posible hacerla en tiempo real, lo cual también ayuda a no proveer datos erróneos. El presente trabajo propone una solución a través de una herramienta basada en el desarrollo web, basada en la metodología Microsoft Solution Framework, la cual proporciona una guía adaptable, basado en experiencias y mejores prácticas dentro y fuera de Microsoft. El desarrollo de esta herramienta está abierta a distintos cambios, en caso de que las necesidades de negocio las requiera, esto es posible por el modelo propuesto de la metodología. La arquitectura que se utilizó para el desarrollo, es una arquitectura de tres capas, compuesta por la capa de presentación de datos, la capa de negocio, y la capa de datos. Esta propuesta está basada para cumplir las necesidades de un sistema de gestión de almacenes, muchas de las micro empresas al no poder adquirir una licencia de software para sus necesidades de operaciones en los almacenes, optan por llevar sus registros en papel y muchas veces el conteo de forma manual, por lo que en esta tesis se presenta el desarrollo de una aplicación web, que proporcione los módulos para operar un almacén y de esta manera lograr un óptimo desempeño de sus actividades. La aplicación está desarrollada en una arquitectura de tres capas, lo cual permite que sea modificada fácilmente, esto también es parte de la metodología que se utilizó para el desarrollo, al ser una aplicación web, esto permite conectarse a través de cualquier dispositivo que tenga instalado un navegador para poder acceder al sitio. La interfaz de usuario que tiene el sistema es bastante amigable, para la comprensión fácil de su uso. PALABRAS CLAVE: Microsoft Solution Framework, Tecnología de la Información, Aplicación Web.

v

Abstract

For years the necessity for information processing has become a necessity, the way to facilitate processing has been searched through different tools; the necessity for this operation has grown enormously. Due to the development of infrastructures that demand a greater flow of information in very short time, to counteract this necessity, nowadays the technological advance as much as in hardware and software, allows a greater flow of information processing. The use of Information Technology (IT) makes possible for many processes automated and access allowed from any place where there is a data network, for information transfer, which helps to reduce time, the reduction of errors is almost nil, the information query is possible to do it in real time, which also helps not to provide erroneous data. This paper proposes a solution through a tool based on web development, based on the Microsoft Solution Framework Methodology, which provides an adaptable guide, based on experiences and best practices inside and outside of Microsoft. The development of this tool is open to different changes, in case those business requirements will be necessary; this is possible due to the proposed model of the methodology. The architecture was used for the development is a Three-Tier Architecture, composed by Presentation Tier, Application Tier and Data Tier. This proposal based on meeting the needs of a Warehouse Management. System, many micro-enterprises unable to acquire a software license for their operations needs in the warehouses, choose to keep their records in paper and many times the count manually, so this thesis presents the development of a web application, which provides the modules to operate a warehouse and thus achieve optimal performance of their activities. The application developed in a three-layer architecture, which allows easily modified, this is also part of the methodology used for the development, since it is a web application, and this allows connect through any device that has installed a browser to access the site. The user interface that the system has is quite friendly, for easy understanding of its use.

KEYWORDS: Microsoft Solution Framework, Information Technology, Web Application.

vi

Introducción Gran parte de las empresas mexicanas presentan problemas en el control de sus operaciones de almacenes en producto terminado, en materias primas y en servicio técnico, debido a que no existen procesos diseñados que operen de manera eficiente, ni existe buena comunicación entre los distintos departamentos. Los procesos han sido definidos por cada uno de ellos, de manera que existen procesos incomunicados que generan ineficiencias cuando estos cruzan por varias áreas. Estos movimientos afectan los procedimientos e información en la recepción, el envío, y el estado de los productos en el almacén, lo cual repercute en el manejo de todo el material involucrado para los productos, de modo que los diferentes almacenes se relacionan entre sí. De igual modo también se ven afectadas las ventas, debido a que se requiere la información precisa de los productos que se encuentran en disponibilidad (inventario de productos terminados), y así brindar un buen servicio de atención al cliente con información correcta. Debido a la falta de información y de procedimientos en la organización, el departamento de compras tampoco puede tomar decisiones debido a que no se basa en información concreta, lo cual lleva a situaciones caóticas con el almacén y al mismo tiempo con continua falta de material disponible en almacén. Al no atenderse estos problemas se propicia la mala administración de fondos, la pérdida de beneficios y en casos excepcionales, el robo de algunos elementos. Todos estos movimientos principalmente corresponden a procesos logísticos, de los cuales es necesario controlar a cada uno de ellos dentro de las instalaciones y no en el exterior. Las problemáticas comentadas anteriormente provocan la imposibilidad de realizar un análisis sobre la rotación de productos, tanto para disponer de cantidades físicas, así como para tomar la decisión de adquirir las cantidades necesarias correctas. Una condición necesaria para lograr esta eficiencia de los procesos, es utilizar una metodología para desarrollar un sistema que ofrezca a cada departamento datos fiables y en tiempo real de la situación para la toma de decisiones. También permitirá mantener un seguimiento adecuado y dejar atrás el sistema físico en el cual los operarios tienen que registrar la información manualmente de las tareas realizadas, así como incrementar la calidad de la información aportada y la reducción de tiempos improductivos del personal.

1

La buena gestión de un inventario es una medida vital para casi todos los procesos en cuestiones de negocios, en el cual se lleve a cabo intercambio de bienes, esto se logra gracias a una implantación y aplicación efectiva de métodos, tecnologías y sistemas de apoyo adecuados a los requerimientos de administración de sus inventarios en cada departamento, de esta forma se mantiene un balance y un control de las operaciones de sus materias primas, productos e información correcta en tiempo real. Además de permitir un análisis en los tiempos de fabricación, así como los tiempos improductivos, lo cual permite operaciones diversas, como la elaboración de una programación en la producción dejando la complicada tarea de gestionar las ordenes de producción a los líderes por área.

Objetivos Desarrollar un sistema capaz de controlar operaciones relacionadas con el flujo de productos que refleje la información en tiempo real para la toma de decisiones.

Objetivos específicos Implementar una serie de aplicaciones cliente-servidor, que permitan el control y administración de las operaciones relacionadas con los almacenes de servicio técnico y materia prima de equipos Online. Diseñar e implementar la transformación de datos, así como una interfaz de usuario para la gestión e integridad de la información. Desarrollar una aplicación web, que permita el acceso a los datos generados. Obtener un sistema capaz de recopilar, guardar y modificar datos, a bajo costo.

Alcance El desarrollo de este proyecto pretende el desarrollo de una plataforma web para la administración de productos, actualmente las empresas que proveen este tipo de software no son gran cantidad, y están bastante bien posicionadas en el mercado, que las licencias para un sistema para la administración de almacenes se hacen muy difícil de adquirir por parte de las micro empresas, es por ello que se desea cumplir con las necesidades relacionadas con la

2

administración de almacenes. La gran parte de los negocios están relacionados con bodegas y almacenes de materiales o productos, por lo que un sistema de gestión de información para la administración para el control de almacenes, los usuarios obtendrán una herramienta web que les permitirá realizar sus operaciones de manera eficiente y eficaz, cumpliendo así también con los requerimientos de negocio.

Metodología Para el desarrollo del proyecto se utilizará la metodología Microsoft Solutions Framework (MSF), la cual es un enfoque personalizable para entregar con éxito soluciones tecnológicas de manera más rápida, con menos recursos humanos y menos riesgos, pero con resultados de más calidad. MSF ayuda a los equipos a enfrentarse directamente a las causas más habituales de fracaso de los proyectos tecnológicos y mejorar así las tasas de éxito, la calidad de las soluciones y el impacto comercial.1 Microsoft Solutions Framework es un conjunto de ingeniería de software, procesos, principios y prácticas probadas, que tiene por objeto permitir a los desarrolladores alcanzar el éxito en el desarrollo del ciclo de vida del software (SDLC). MSF proporciona una guía adaptable, basado en experiencias y mejores prácticas dentro y fuera de Microsoft, para aumentar las posibilidades de realización con éxito de una solución de tecnología de información para el cliente, con el objetivo de realizar el trabajo rápido, disminuyendo el número de personas en el equipo del proyecto, evitando los riesgos, al mismo tiempo generar una alta calidad de los resultados.

1

Fuente: Microsoft Solutions Framework Essentials (ISBN 9780735623538). Microsoft Press. Todos los derechos reservados. https://msdn.microsoft.com/es-es/library/jj161047(v=vs.120).aspx

3

Capítulo I: Antecedentes generales En este capítulo se describen algunos detalles relacionados con la parte de la logística en general, así como algunas herramientas que actualmente se utilizan para resolver problemas de logística, y algunos datos de logística con las empresas en México.

1.1 La logística y la cadena de abastecimiento Detrás de un mundo cada vez más globalizado en donde existen relaciones entre consumidores y fabricantes de productos, lo cual lo hace bastante competitivo demandando mayor calidad en los productos y servicios. La logística juega un papel fundamental en las empresas, para alcanzar mejores resultados en relación con su gestión empresarial. Todas las empresas hacen procesos de logística, algunas lo hacen por sí mismas y algunas otras contratan a empresas externas que se dedican a administrar sus procesos de logística. La diferencia entre las empresas exitosas y las no exitosas es que las primeras saben que la logística forma parte fundamental de sus operaciones y la toman como una herramienta indispensable para aumentar su competitividad ante otras empresas. De acuerdo a la definición oficial de la norma AFNOR (Norma x50-600), “La logística es una función cuya finalidad es la satisfacción de las necesidades expresadas o latentes, a las mejores condiciones económicas para la empresa y para un nivel de servicio determinado”.2 La logística se centra en la parte de gestión de flujos físicos, en otras palabras, en la parte del proceso de administrar estratégicamente los movimientos y almacenaje de los materiales, de las partes y del producto terminado, que este proceso involucra el flujo de movimientos desde el proveedor hasta el cliente o consumidor final. En la figura 1 se muestra el de manera gráfica el proceso logístico, en la actualidad las empresas utilizan la logística en términos de manejo y la distribución de materiales, cuyo propósito es satisfacer las necesidades y superar las expectativas propias y de los clientes mediante un sistema de logística efectivo.

2

AFNOR es la Asociación francesa de normalización (Association française de normalisation). http://www.afnor.fr/portail.asp (www) (fr)

4

Figura 1: Proceso logístico Fuente: Adaptado de esquema: Insumos y Productos en un Proceso Logístico. Modelo para la implementación de la logística en la pequeña empresa a través de índices de control, GonzálezAleu, 1997. [1]

La logística se ha practicado desde hace mucho tiempo como actividad empresarial, antes se le conocía como distribución. Los orígenes de la logística se dieron en la actividad militar, relacionados con el abastecimiento de recursos para las tropas, para cumplir sus misiones.

1.2 Evolución de los sistemas para la gestión de almacenes Las raíces de los Sistemas de Gestión de Almacenes o conocidos también por sus siglas en Ingles como WMS, se remontan a la creación de graneros para almacenar comida, que históricamente estuvieron disponibles en las épocas de hambruna. A medida que los exploradores europeos comenzaron a crear rutas comerciales de envío con otras naciones, fue creciendo la importancia de los almacenes, debido a que en ellos se almacenaba los productos y materias primas que se transportaban de lugares lejanos. Los puertos era la ubicación principal para los almacenes. Posteriormente, con los ferrocarriles se comenzó la expansión de los viajes y el trasporte, lo cual hizo necesaria la creación de depósitos ferroviarios para el almacenamiento de materiales y productos. En el año 1891 la Asociación de Almacenistas de América fue creada para desafiar el control sobre los depósitos de carga de las compañías de ferrocarriles.

5

La Segunda Guerra Mundial impactó el almacenaje de varias maneras, incluyendo la necesidad de aumentar el tamaño de los almacenes, y la utilización de métodos más mecanizados de almacenamiento y recuperación de los productos y materiales. A medida que se notó un crecimiento en la producción en masa a lo largo de la fabricación, las necesidades de eficiencia y efectividad de las capacidades de almacenamiento también crecieron. En relación con los problemas modernos, la industria de almacenes se encontraba recuperándose de una recesión en el siglo XXI, provocada por el estallido de las páginas web y el exceso de producción creada después de que estalló. También hizo frente a los nuevos métodos de distribución de fabricación, tales como Just-In-Time (JIT), que en Español significa justo a tiempo, en donde el almacenamiento no es necesario porque los productos son enviados directamente a los clientes. Las compañías de almacenamiento se están esforzando para convertirse en algo más que simples instalaciones de almacenamiento. Algunas de ellas se están transformando en proveedores de logística como terceros, que proporcionan una amplia gama de servicios y funciones. Además del embalaje y puesta en escena de tarimas, ofrecen instalaciones de almacenamiento de fabricación ligera, etiquetado y otras opciones de no almacenamiento. Los sistemas de gestión de almacenes son altamente aplicables a unidades de negocios especializados. La finalidad es el control del flujo de productos dentro y fuera de un inventario, que funciona como el centro de distribución de materiales de la empresa. La evolución de los sistemas de gestión de almacenes es similar a la de otras soluciones de software; inicialmente, la idea de un sistema de gestión de almacenes estaba enfocada únicamente para controlar los movimientos de materiales y el almacenamiento dentro de un almacén. Hoy en día los sistemas se están expandiendo en algunas otras áreas, como son: la gestión del transporte, la gestión de pedidos y la contabilidad, entre otras. Esto se debe a que la aplicación de un sistema de gestión de almacenes, normalmente controla los movimientos de un inventario dentro de cuatro paredes, pero en algunas aplicaciones no es suficiente, debido a que es necesario controlar el movimiento entre varios países referentes a la misma empresa, para dar seguimientos a los productos. Durante la mitad de la década de 1980 hasta finales de 1990 la industria experimentó con los Sistemas de Gestión de Almacenes. La mayoría de las empresas tuvieron un gran crecimiento, dándose cuenta de qué valor podrían proporcionar estos sistemas a sus operaciones. Dentro de

6

la funcionalidad básica de estos sistemas estaba enfocada a la entrada de materiales al almacén y reglas de asignación, entre otras. Hoy en día, los sistemas para controlar almacenes se han convertido en más que una sola solución, y se les puede considerar como una cadena de suministro, como se mencionaba en párrafos anteriores; la evolución que han tenido, se ha extendido al control y gestión de otras operaciones, como son: 

Transporte y distribución – Ligar con otros sistemas para una respuesta y una entrega de material más rápidas, los sistemas de gestión de almacenes hacen posible la optimización de los horarios de transporte de manera que se obtienen los productos mucho más rápido y de manera más eficiente.



Automatización – A medida de la evolución y de la generación de nuevas prácticas, se hace énfasis en la automatización de los procesos, así como para la búsqueda de soluciones que permitan obtener un mejor desempeño. Los sistemas de gestión de almacenes que están relacionados con la automatización, utilizan tecnología como la identificación automática y equipos de manipulación que permiten gestionar los procesos tediosos y costosos que aún se realizan de forma manual, ya sea en centros de distribución de materiales, dentro de las plantas de proceso y producción o líneas de ensamble.



Integración – Los almacenes son y han sido un nodo en la cadena de valor, durante la evolución que han presentado los sistemas de gestión de almacenes se ha visto una integración con otros sistemas diferentes de las partes interesadas, como son proveedores o clientes.



Eficiencia de producción - Esto permite tener todo en conjunto lo cual brinda muchos beneficios incluyendo reducción de costos, más conocimiento sobre el inventario, incrementar la precisión y, por supuesto más ingresos para la organización. Con un sistema de gestión de almacenes y con buenas prácticas también se consiguen procesos de producción mucho más eficientes y eso, sobre todo, ofrece muchas otras ventajas.



Gestión de pedidos – Esta operación se desarrolla a partir de su recepción para poner fuera del almacén un producto o material, para la entrega a otro almacén o para la entrega

7

a los consumidores. Los sistemas de gestión de almacenes más evolucionados manejan el proceso de pedido. Una vez, más en relación con la automatización, aplicada al proceso de gestión de pedidos lo hace más simple, y por tanto este proceso hace un paso más eficiente de los recursos del sistema de gestión de almacenes. A medida que los sistemas de gestión de almacenes van sufriendo cambios, se vuelven más que en una solución para la cadena de suministro de materiales o productos, de tal manera que el desarrollo evolutivo ofrece muchos otros beneficios más y que se convierte en una operación mucho más rentable.

1.3 Campo de aplicación Las mejores prácticas son las que hacen posible que las empresas tengan un muy buen éxito, son la manera más eficaz y efectiva de la aplicación de un sistema de gestión de almacenes. Estas se realizan mediante técnicas o metodologías que, a través de la experiencia, la investigación y la cuantificación producen mejores resultados. Un Sistema de Gestión de Almacenes es vital para mejorar la eficiencia de las operaciones relacionadas con el o los almacenes de una empresa, abarca el control de inventario, el envío, la recepción y las realizaciones de órdenes de trabajo. Mediante la combinación de un sistema de gestión de almacenes con una red inalámbrica, con computadoras portátiles, con tecnología de identificación automática RFID, aplicaciones de reconocimiento de voz y códigos de barras, puede extenderse la aplicación para una empresa para trabajo que requiere movimientos. La administración mediante un Sistema de Gestión de Almacenes se vuelve mucho más eficiente para la gestión de las tareas de un trabajador, junto con la recopilación de datos automatizada le da argumentos de precisión. En cuanto a la mano de obra que se necesita para mantener el sistema, es mucho menor que el trabajo que se haría de forma manual el piso de bodega. También existe una mayor capacidad de servicio al cliente mediante la reducción de tiempos. Las expectativas que pudieran tener algunas empresas relacionadas con la reducción de inventario y una mayor capacidad de almacenamiento es poco probable, de manera que el espacio no aumenta, las ventajas con este tipo de herramientas es mayor precisión y la eficiencia en el proceso de recepción que puede ayudar a reducir el nivel de productos almacenados requerido, que se encuentran como reserva. Sin duda un WMS proporciona herramientas para un almacenamiento más organizado, que puede dar lugar a una mejora para una mayor capacidad de almacenamiento.

8

1.4 Software de gestión empresariales y de almacenes El desarrollo de la tecnología de la información y las comunicaciones han evolucionado en gran parte en función de aplicaciones informáticas para grandes, medianas y pequeñas empresas. Dicha evolución se da con el fin de aumentar su competitividad a través de un sistema de información eficaz, que les permita el acceso en tiempo real al flujo de sus productos, tanto en el sector de cadena de suministros para líneas de producción, como para el control de sus operaciones, esto permite ofrecer información a los diferentes departamentos, de los cuales los más importantes es el de ventas, debido a que a través de las cantidades demandadas, se trata de mantener el equilibrio de las necesidades mediante activos. Algunos proveedores de software de gestión se están ampliando a diferentes áreas, como es el caso de los ERP (Enterprise Resource Planning) y los WMS (Warehouse Management System), que en un principio estaban ligados a un sistema de gestión financiera y de pedidos, y por otra parte, a la cadena de suministros, la gestión de pedidos, la planificación, entre otras. Para cualquier aplicación que se quiera implementar o desarrollar, hay costos que son más elevados cuando se tiene un proveedor de software o un desarrollador externo, debido a que la mayoría lo maneja en función de bloques para cada tipo de aplicación y necesidades de las empresas, lo cual muchas veces eleva los costos de integración por cada bloque.

1.4.1 Sistemas de planificación de recursos empresariales Un Sistema de Planificación de Recursos Empresariales, por sus siglas en Ingles ERP (Enterprise Resource Planning), es un sistema que permite la planificación de recursos de una organización, automatiza las actividades en todos sus departamentos, entre las cuales se encuentra la gestión de relaciones con los clientes, la contabilidad y la gestión de un inventario de productos. Como función principal tiene el facilitar el flujo de información entre todas las áreas funcionales que se encuentran relacionadas en diferentes operaciones. Una aplicación de ERP tiene la mayor parte de las capacidades funcionales de un software WMS, como son: recepción de artículos o materiales, equipo empaquetado, el material que se encuentra en existencia, así como el que ya fue enviado. Las empresas consideran que la implementación de una aplicación de un sistema ERP para la gestión de sus operaciones es económica, lo cual está muy alejado de la realidad. Esto se debe a que la mayoría de los desarrolladores hacen esta implementación por medio de integración de

9

módulos y qué para tener un control completo de sus operaciones, será necesario integrar más componentes del software.

1.4.2 Sistema de Planeación de los Requerimientos de Materiales Un sistema de Planeación de los Requerimientos de Materiales, por sus siglas en Inglés MRP (Material Requeriment Planning), es un sistema que permite la planeación de la producción y programar los requerimientos de los materiales para las operaciones de producción, así como el control de un inventario. Un MRP integra los datos de las órdenes de producción o los programas de producción con los de la lista de materiales y con los de inventario. Este control permite el cálculo para realizar nuevas compras de materia prima para la fabricación de los productos terminados. Mediante los datos obtenidos de la lista de materiales, datos de inventario y datos de producción, permite la proyección del tiempo de requerimiento de material, cuándo y en qué cantidad.

1.4.3 Sistema de gestión de almacenes Un Sistema de Gestión de Almacenes, por sus siglas en Inglés WMS (Warehouse Management System), es una aplicación de software clave para la parte de control de las operaciones que se desarrollan día con día en un almacén. Se utiliza principalmente para gestionar el almacenamiento, así como los movimientos que se realizan en el inventario, como son el rastreo de movimientos de artículos recibidos, existencias, empaquetado, y enviado. Una aplicación de WMS utiliza a menudo aplicaciones de diferentes tecnologías de identificación de captura de datos, como son escáneres de códigos de barra, redes LAN, terminales inalámbricas que utilizan tecnología de identificación por radio frecuencia (RFID) y NFC, entre otras, lo que permite que se tenga un control mucho más eficiente para el flujo de productos. Una de las grandes ventajas que tiene este tipo de aplicaciones es que, una vez que se han recopilado datos, mediante la comunicación y la sincronización de información en tiempo real a través de los dispositivos que hacen posible el envío de datos de manera inalámbrica a una base de datos central contenida en algún servidor, que permite proporcionar reportes actuales del estado de los materiales o diferentes productos que se encuentran en específicos almacenes.

10

Los registros de movimientos de productos en tiempo real es la ventaja más amplia que ofrece una solución de tipo web, por lo que es posible pronosticar la necesidad de materias primas sobre la base de los planes de producción o reservas de materia prima, claro esto siempre lo determina el negocio. Muchas de las empresas que ofrecen soluciones de este tipo, los ofrecen por módulos, dependiendo de las necesidades del negocio, aunque siendo cada módulo no es suficiente para una solución de administración de almacenes, por lo que siempre existe la necesidad de adquirir algunos otros, lo que tienen como consecuencia un alza en el costo. El sistema de gestión de almacenes, a diferencia del sistema de contabilidad, resuelve problemas que van más allá del alcance de la contabilidad de almacén y el almacenamiento de direcciones. El sistema WMS gestiona todos los procesos de almacén, comenzando con la aceptación y el envío de los productos, finalizando con la formación de la estrategia de colocación y optimización del posicionamiento, realización de inventarios.

1.5 Características de los sistemas para administrar almacenes Algunas de las principales características que debe cumplir un sistema para la gestión de almacenes, es que debe ser capaz de dar soporte a las operaciones diarias en un almacén, que permitan una gestión centralizada de las tareas de áreas. Un factor importante que debe contener un sistema es la parte de optimización de procesos de negocio. 1.5.1 Características principales Como características principales a parte de las generales que deben tener este tipo de sistemas algunas son las siguientes: 

Tienen la capacidad de trabajar bajo distintas metodos de almacenaje, como LIFO3, FIFO4, etc.



Permiten gestionar todos los movimientos de Producto Terminado, Producto de Materia Prima y en Servicio Técnico.

3 4



Permiten el registro de todas las operaciones realizadas dentro de un departamento.



El funcionamiento para este tipo de sistemas puede ser por medio de varias tecnologías.

LIFO es un acrónimo del inglés "last in, firts out" que significa "último en entrar, primero en salir" FIFO es un acrónimo del inglés "firts in, firts out" que significa "primero en entrar, primero en salir" 11

1.5.2 Flexibilidad Cada sistema es diseñado para gestionar los movimientos y el almacenamiento de los materiales y productos dentro de un almacén, mediante el cual se administran todas las operaciones y transacciones asociadas a movimientos que se desean controlar. La mayoría de los sistemas cuentan con una estructura flexible que puede adaptarse a sistemas automáticos y a sistemas convencionales.

1.5.3 Modularidad La modularidad de inventarios permite mantener inventarios físicos con la capacidad de un conteo cíclico y arrojar reportes con datos ordenados por fecha o por artículo; por ejemplo, un inventario por localización de producto entre otras características. El módulo de Entradas y Salidas, se encarga de controlar las transacciones de materiales y equipos. Es una herramienta que permite el control de inventarios en circulación. También arroja reportes en los cuales comúnmente se encuentran costos de renta y equipos en préstamo por departamento.

12

Capítulo II: Tecnologías y metodologías

En la actualidad muchos de los procesos productivos o actividades organizacionales son apoyadas por plataformas y desarrollos tecnológicos, y entre dichas actividades encontramos la logística, la cual cuenta con la aplicación de herramientas como los códigos de barras, el intercambio electrónico de datos o EDI, y software que permite la planeación, la optimización de rutas o la administración de las bodegas.5

2.1 Uso de código de barras El código de barras su puede definir como una representación gráfica que permite identificar algún tipo de producto, servicios, y activos de manera única. El código de barras hasta hoy en día ha sido el principal medio de identificación y para muchos ha resultado muy efectivo, a pesar de que tiene limitantes, si lo comparamos con la tecnología RFID. Durante los últimos 25 años, el código de barras ha sido el principal medio de identificación automática de productos para la cadena de suministro, como se comentó anteriormente, además de identificar los productos de forma única, cuenta con información detallada de cada artículo, o del documento en el que lo contenga, esto se logra mediante la asociación que tienen con la base de datos.

En la figura 2, se muestra un ejemplo de una etiqueta para la identificación de algún cargamento, mercancía o producto, mediante el uso de código de barras, se muestra cada una de las secciones correspondientes de acuerdo al tipo de aplicación que se le da. Esto también depende del diseño en la parte de gestión para la base de datos, habrá aplicaciones más sencillas o de lo contrario, más complejas, en donde se tenga mayor información concentrada en un código de barras.

5

Tecnologia y logistica. http://datateca.unad.edu.co/contenidos/256594/256594_MOD/1_tecnologa_y_la_logstica.html

13

Figura 2: El Código de Barras, El Lenguaje Universal de Negocios. Fuente: Salazar López, Bryan, Código de barras. http://www.ingenieriaindustrialonline.com/herramientas-para-el-ingenieroindustrial/log%C3%ADstica/c%C3%B3digo-de-barras/

Los códigos de barra tienen un área libre de impresión que rodea al código, para que sea posible la lectura por el lector óptico, y no se confunda con el resto de la información contenida en el documento.

14

Los hay de varios tipos de códigos: códigos en una dimensión, código entrelazado 2 de 5, código 3 de 9 o código 39, código Codabar, código 128, código EAN – 13, entre muchos otros. Uno de los cuales ha tenido bastante auge por el desarrollo de las aplicaciones móviles, ha sido el código QR, el cual está clasificado como un código de barras, su nombre se basa en la frase “Quick response” que por su traducción al Español, seria “Respuesta Rápida”. En la figura 3 se representa un código QR, estos se caracterizan por su forma cuadrada, los cuadros de las esquinas permiten determinar la posición del código, y aunque inicialmente se diseñaron para registrar repuestos en el área de fabricación de vehículos, hoy en dia los códigos QR se utilizan para la administración de inventarios en gran variedad de industrias y también como una herramienta de marketing offline-online.

Figura 3: Código QR. Fuente: Elaboración propia.

2.2 Metodologías En los años 80 se propuso que la mejor forma de desarrollar un sistema software era por medio de una planificación rígida y meticulosa del proyecto, soportada por herramientas CASE (Ingeniería de Software Asistida por Computadora) y algunos procesos de desarrollo rigurosos y altamente controlados, que eran sinónimo de garantía y calidad en el software. Estas

15

metodologías tenían una carga de trabajo pesada en planificación, diseño y documentación, absorbiendo gran parte del tiempo destinado al desarrollo del sistema.6 En la figura 4, se muestran los elementos básicos que componen a una metodología.

Figura 4: Elementos básicos de una metodología. Fuente: Esquema adaptado de “Gestión de proyectos informáticos. Metodología Scrum, Trigas Gallego”.

2.2.1 Metodologías Metodología XP La programación extrema o eXtreme Programming (XP) es un enfoque de la ingeniería de software formulado por Kent Beck, autor del primer libro sobre la materia, Extreme Programming Explained: Embrace Change7. Es el más destacado de los procesos ágiles de desarrollo de software. Al igual que éstos, la programación extrema se diferencia de las metodologías

6

Fuente: Pérez A Oiver Andrés. Cuatro enfoques metodológicos para el desarrollo de Software RUP – MSF – XP – SCRUM. 2011. 7 Kent Beck First Class Software, Inc., Extreme programming explained: embrace change Addison-Wesley Longman Publishing Co., Inc. Boston, MA, USA ©2000 ISBN:0-201-61641-6

16

tradicionales principalmente en que pone más énfasis en la adaptabilidad que en la previsibilidad. Los defensores de XP consideran que los cambios de requisitos sobre la marcha son un aspecto natural, inevitable e incluso deseable del desarrollo de proyectos. Creen que ser capaz de adaptarse a los cambios de requisitos en cualquier punto de la vida del proyecto es una aproximación mejor y más realista que intentar definir todos los requisitos al comienzo del proyecto e invertir esfuerzos después en controlar los cambios en los requisitos. Se puede considerar la programación extrema como la adopción de las mejores metodologías de desarrollo de acuerdo con lo que se pretende llevar a cabo con el proyecto. Las características fundamentales del método son: Desarrollo iterativo e incremental: pequeñas mejoras, unas tras otras. Pruebas unitarias continuas, frecuentemente repetidas y automatizadas, incluyendo pruebas de regresión. Se aconseja escribir el código de la prueba antes de la codificación. Véase, por ejemplo, las herramientas de prueba JUnit orientada a Java, DUnit orientada a Delphi y NUnit para la plataforma.NET. Estas dos últimas inspiradas en JUnit. Programación en parejas: se recomienda que las tareas de desarrollo se lleven a cabo por dos personas en un mismo puesto. Se supone que la mayor calidad del código escrito de esta manera -el código es revisado y discutido mientras se escribe- es más importante que la posible pérdida de productividad inmediata. Frecuente integración del equipo de programación con el cliente o usuario. Se recomienda que un representante del cliente trabaje junto al equipo de desarrollo. Corrección de todos los errores antes de añadir nueva funcionalidad. Hacer entregas frecuentes. Refactorización del código, es decir, reescribir ciertas partes del código para aumentar su legibilidad y mantenibilidad, pero sin modificar su comportamiento. Las pruebas han de garantizar que en la refactorización no se ha introducido ningún fallo. Propiedad del código compartida: en vez de dividir la responsabilidad en el desarrollo de cada módulo en grupos de trabajo distintos, este método promueve el que todo el personal pueda corregir y extender cualquier parte del proyecto. Las frecuentes pruebas de regresión garantizan que los posibles errores serán detectados. Simplicidad en el código: es la mejor manera de que las cosas funcionen. Cuando todo funcione se podrá añadir funcionalidad si es necesario. La programación extrema apuesta que es más

17

sencillo hacer algo simple y tener un poco de trabajo extra para cambiarlo si se requiere, que realizar algo complicado y quizás nunca utilizarlo. La simplicidad y la comunicación son extraordinariamente complementarias. Con más comunicación resulta más fácil identificar qué se debe y qué no se debe hacer. Cuanto más simple es el sistema, menos tendrá que comunicar sobre éste, lo que lleva a una comunicación más completa, especialmente si se puede reducir el equipo de programadores y aplicarlo de manera dinámica durante el ciclo de vida del software.

2.2.2 Metodología RUP El Proceso Unificado Racional (Rational Unified Process por sus siglas en inglés RUP) es un proceso de desarrollo de software y junto con el Lenguaje Unificado de Modelado UML, constituye la metodología estándar más utilizada para el análisis, implementación y documentación de sistemas orientados a objetos. El Proceso Unificado Racional no es un sistema con pasos firmemente establecidos, sino un conjunto de metodologías adaptables al contexto y necesidades de cada organización. También se conoce por este nombre al software desarrollado por Rational, hoy propiedad de IBM, el cual incluye información entrelazada de diversos artefactos y descripciones de las diversas actividades. Está incluido en el Rational Method Composer (RMC), que permite la personalización de acuerdo a necesidades. Originalmente se diseñó un proceso genérico y de dominio público, el Proceso Unificado, y una especificación más detallada, el Rational Unified Process, que se vendiera como producto independiente.

El RUP está basado en 6 principios clave que son los siguientes: 

Adaptar el proceso El proceso deberá adaptarse a las características propias del proyecto u organización. El tamaño del mismo, así como su tipo o las regulaciones que lo condicionen, influirán en su diseño específico. También se deberá tener en cuenta el alcance del proyecto en un área no tan formal.

18



Equilibrar prioridades Los requisitos de los diversos participantes pueden ser diferentes, contradictorios o disputarse recursos limitados. Debe encontrarse un equilibrio que satisfaga los deseos de todos. Gracias a este equilibrio se podrán corregir desacuerdos que surjan en el futuro.



Demostrar valor iterativamente Los proyectos se entregan, aunque sea de un modo interno, en etapas iteradas. En cada iteración se analiza la opinión de los inversores, la estabilidad y calidad del producto, y se refina la dirección del proyecto, así como también los riesgos involucrados.



Colaboración entre equipos El desarrollo de software no lo hace una única persona sino múltiples equipos. Debe haber una comunicación fluida para coordinar requisitos, desarrollo, evaluaciones, planes, resultados, etc.



Elevar el nivel de abstracción Este principio dominante motiva el uso de conceptos reutilizables tales como patrón del software, lenguajes 4GL o marcos de referencia (frameworks) por nombrar algunos. Esto evita que los ingenieros de software vayan directamente de los requisitos a la codificación de software a la medida del cliente, sin saber con certeza qué codificar para satisfacer de la mejor manera los requisitos y sin comenzar desde un principio pensando en la reutilización del código. Un alto nivel de abstracción también permite discusiones sobre diversos niveles y soluciones arquitectónicas. Éstas se pueden acompañar por las representaciones visuales de la arquitectura, por ejemplo, con el lenguaje UML.



Enfocarse en la calidad El control de calidad no debe realizarse al final de cada iteración, sino en todos los aspectos de la producción. El aseguramiento de la calidad forma parte del proceso de desarrollo y no de un grupo independiente.

En la figura 5, se muestran las fases en el ciclo de la metodología RUP, compuesta por 4 pasos, los cuales corresponden a los siguientes: Inicio, Elaboración, Construcción y Transición.

19

Figura 5: Fases de la metodología RUP. Fuente: Elaboración propia.

2.2.3 SCRUM Scrum es una metodología para la gestión y desarrollo de software basada en un proceso iterativo e incremental utilizado comúnmente en entornos basados en el desarrollo ágil de software. Scrum define un conjunto de prácticas y roles, que puede tomarse como punto de partida para definir el proceso de desarrollo que se ejecutará durante un proyecto. Los roles principales en Scrum son el ScrumMaster, que mantiene los procesos y trabaja de forma similar al director de proyecto, el ProductOwner, que representa a los stakeholders (clientes externos o internos), y el Team que incluye a los desarrolladores. Durante cada sprint, un periodo entre 15 y 30 días (la magnitud es definida por el equipo), el equipo crea un incremento de software potencialmente entregable (utilizable). El conjunto de características que forma parte de cada sprint viene del Product Backlog, que es un conjunto de requisitos de alto nivel priorizados que definen el trabajo a realizar. Los elementos del Product 20

Backlog que forman parte del sprint se determinan durante la reunión de Sprint Planning. Durante esta reunión, el Product Owner identifica los elementos del Product Backlog que quiere ver completados y los hace del conocimiento del equipo. Entonces, el equipo determina la cantidad de ese trabajo que puede comprometerse a completar durante el siguiente sprint Durante el sprint, nadie puede cambiar el Sprint Backlog, lo que significa que los requisitos están congelados durante el sprint. Un principio clave de Scrum es el reconocimiento de que durante un proyecto los clientes pueden cambiar de idea sobre lo que quieren y necesitan (a menudo llamado requirements churn8), y que los desafíos impredecibles no pueden ser fácilmente enfrentados de una forma predictiva y planificada. Por lo tanto, Scrum adopta una aproximación pragmática, aceptando que el problema no puede ser completamente entendido o definido, y centrándose en maximizar la capacidad del equipo de entregar rápidamente y responder a requisitos emergentes. En la figura 6, se muestra el ciclo principal de la metodología SCRUM, al ser una metodología de desarrollo ágil, tiene como base la idea de creación de ciclos breves para el desarrollo, que comúnmente se llaman iteraciones y que en la metodología se llamaran “Sprints”.

Figura 6: Ciclo principal de la metodología SCRUM. Fuente: http://www.cordobasoftware.com.ar/metodologia.html

8

Una gran forma de desperdicio en el desarrollo. Fuente: Scrum Community - Scrum Alliance. (2017). Scrumalliance.org Noviembre 2017. https://www.scrumalliance.org/community/articles/2015/march/agilemethodologies

21

2.2.4 UML El Lenguaje Unificado de Modelado (UML, por sus siglas en inglés, Unified Modeling Language) es el lenguaje de modelado de sistemas de software más conocido y utilizado en la actualidad; está respaldado por el OMG (Object Management Group). Es un lenguaje gráfico para visualizar, especificar, construir y documentar un sistema. Este lenguaje ofrece un estándar para describir un "plano" del sistema (modelo), incluyendo aspectos conceptuales tales como procesos de negocio y funciones del sistema, y aspectos concretos como expresiones de lenguajes de programación, esquemas de bases de datos y componentes reutilizables. Es importante resaltar que UML es un "lenguaje de modelado" para especificar o para describir métodos o procesos. Se utiliza para definir un sistema, para detallar los mecanismos en el sistema y para documentar y construir. En otras palabras, es el lenguaje en el que está descrito el modelo. Se puede aplicar en el desarrollo de software entregando gran variedad de formas para dar soporte a una metodología de desarrollo de software (tal como el Proceso Unificado Racional o RUP), pero no especifica en sí mismo qué metodología o proceso usar. UML no puede compararse con la programación estructurada, pues UML significa Lenguaje Unificado de Modelado, no es un lenguaje de programación, solo se diagrama la realidad de una utilización en un requerimiento. Mientras que, programación estructurada, es una forma de programar como lo es la orientación a objetos, sin embargo, la programación orientada a objetos viene siendo un complemento perfecto de UML, pero no por eso se toma UML sólo para lenguajes orientados a objetos. UML cuenta con varios tipos de diagramas, los cuales muestran diferentes aspectos de las entidades representadas, a continuación, se presenta una lista de los diagramas: Los Diagramas de Estructura enfatizan en los elementos que deben existir en el sistema modelado: 

Diagrama de clases



Diagrama de componentes



Diagrama de objetos



Diagrama de estructura compuesta (UML 2.0)



Diagrama de despliegue



Diagrama de paquetes 22

Los Diagramas de Comportamiento enfatizan en lo que debe suceder en el sistema modelado: 

Diagrama de actividades



Diagrama de casos de uso



Diagrama de estados



Diagrama de secuencia

Los Diagramas de Interacción son un subtipo de diagramas de comportamiento, que enfatiza sobre el flujo de control y de datos entre los elementos del sistema modelado: 

Diagrama de secuencia



Diagrama de comunicación, que es una versión simplificada del Diagrama de colaboración (UML 1.x)



Diagrama de tiempos (UML 2.0)



Diagrama global de interacciones o Diagrama de vista de interacción (UML 2.0)

2.2.5 Metodología Microsoft Solution Framework La MSF9 fue creado en 1994, y se originó del análisis de equipos de proyectos y grupo de productos, estos análisis eran constatados con la industria de prácticas y métodos. Estos resultados combinados eran consolidados en mejores prácticas entre personas y procesos. El MSF (Microsoft Solutions Framework) ha sido usado por la Microsoft como su “método” para desarrollo de soluciones de software dentro de la Microsoft y también para los miles de clientes y compañeros de la Microsoft en todo el mundo. La metodología Microsoft Solutions Framework (MSF) es un conjunto de ingeniería de software procesos, principios y prácticas probadas por objeto permitir a los desarrolladores para lograr el éxito en el desarrollo del ciclo de vida del software (SDLC). MSF proporciona una guía adaptable, basado en experiencias y mejores prácticas dentro y fuera de Microsoft, para aumentar las posibilidades de realización con éxito de una solución de tecnología de información para el cliente, con el objetivo de realizar el trabajo rápido, disminuyendo el número de personas en el equipo del proyecto, evitando los riesgos, al mismo tiempo generar una alta calidad de los resultados.

9

Microsoft Solutions Framework (MSF) es un enfoque personalizable para entregar con éxito soluciones tecnológicas de manera más rápida, con menos recursos humanos y menos riesgos, pero con resultados de más calidad.

23

Un proyecto MSF es regido por ciclos o iteraciones. Cada ciclo, cada componente del equipo ejecuta sus funciones y actualiza el resultado de su trabajo conforme la necesidad. Los ciclos se repiten hasta que el proyecto sea concluido o cada versión sea lanzada. Cada componente del equipo será responsable por uno o más papeles, dependiendo del tamaño o de la complejidad del proyecto. Básicamente el MSF sirve como un gran guía y una colección de buenas prácticas. Sin embargo, el MSF no se profundiza en detalles. Por ejemplo, en un dato momento del proyecto, el MSF dice que usted tendrá que hacer una especificación funcional. Sin embargo, él no define si usted debe usar UML, análisis esencial u otras técnicas. Eso queda al criterio del equipo. La falta de detalles del MSF puede parecer una deficiencia a principio, pero esa característica permitió una abordar de forma simple y directa de las técnicas presentadas. Por otra parte, la metodología MSF establece 5 fases con sus respectivas tareas, las cuales se aprecian en la Figura 7. En las características de MSF se mencionó que la metodología se podía aplicar de manera flexible, es decir, que los componentes no eran dependientes unas de otras. Es importante aclarar que ese grado de flexibilidad no aplica para éste modelo de proceso.10 Despliegue completado

Fase Despliegue

Release aprobada

Fase Estabilización

Fase Visión

MSF

Visión y alcance aprobados

Fase Planeación

Fase Desarrollo

Alcance completado

Plan de ptoyecto aprobado

Figura 7: Modelo de proceso. Fuente: Adaptación de Microsoft, 2003. 10

Fuente: Pérez A Oiver Andrés. Cuatro enfoques metodológicos para el desarrollo de Software RUP – MSF – XP – SCRUM. 2011.

24

Las fases de la metodología son 5, a continuación, se detalla cada una de ellas. 

Visión: Obtener una visión clara del proyecto compartida con los objetivos del negocio. En esta fase se necesita identificar los beneficios que trae el proyecto asi como las restricciones y los alcances. En esta fase se identifica el propósito del proyecto, de manera que se toman en cuenta los objetivos específicos, los que deben ser claros, medibles y alcanzables en un tiempo determinado.



Planeación: En esta fase se desarrolla la planificación en base al objetivo del proyecto y la arquitectura de la solución, ajustada a un cronograma de trabajo que cumpla con lo especificado. Es esta planificación se genera la lista de actividades que se deberán ejecutar, los recursos asociados (humanos, técnicos, entre otros), responsabilidades y los costos.



Desarrollo: Esta fase comienza en el momento que se inicia a escribir el código de la aplicación. MSF recomienda a construir el código a partir de las funcionalidades más básicas e ir haciendo entrega de cada funcionalidad desarrollada para someterse a pruebas unitarias y evaluaciones de experiencia de usuario. Esto incluye ajustes de cronogramas necesarios.



Estabilización: En esta fase se tiene la versión final del producto, de manera que ya está probada, con los ajustes y aprobada en su totalidad.



Despliegue: En esta fase se hace la entrega del producto final al cliente, y se registran los reportes de soporte y mantenimiento.

25

2.2.6 Modelo propuesto por MSF El modelo propuesto por MSF11, no es un invento nuevo, más bien toma las ventajas del modelo cascado y del modelo espiral expuestos con el fin de solucionar problemas, y por otro lado asimilar las ventajas que estos mimos modelos proporcionan. Así tenemos en la siguiente Figura 8, la representación gráfica del modelo MSF.

Figura 8: Representación gráfica del modelo propuesto por MSF. Fuente: Adaptación de Microsoft, 2003.

En la figura, cada rombo representa un entregable dado con la finalización de cada etapa; sin embargo, este entregable puede ser fácilmente modificado en caso de requerirse sin que el proyecto se detenga. Es decir, es un modelo abierto, tal cual el espiral, que permite volver a etapas previas del proyecto, por diferentes razones que la experiencia nos dice que casi siempre se van a dar, y a la vez existen puntos de control específicos que permiten tener control sobre el avance del proyecto, y crear una planificación clara acerca de los recursos estimados para el cumplimiento en plazos y costos estables.

11

Microsoft Solutions Framework (MSF) es un enfoque personalizable para entregar con éxito soluciones tecnológicas de manera más rápida, con menos recursos humanos y menos riesgos, pero con resultados de más calidad. Fuente: Descripción general de Microsoft Solutions Framework (MSF). (2017). Msdn.microsoft.com. Retrieved 23 November 2017, from https://msdn.microsoft.com/es-es/library/jj161047(v=vs.120).aspx

26

En la figura anterior, se han puesto cinco rombos, ya que estos representan la etapa cumbre de cada uno de las fases propuestas por MSF descritas anteriormente en el breve resumen del modelo, vale la pena repetirlas: 

Visualización



Planificación



Desarrollo



Estabilización



Implementación

De la misma forma, cada rombo marca la culminación de una etapa, lo cual permite crear puntos de control, al modelo. De este modo se colocan entregables específicos como se enlistan en la Tabla 1, los cuales indican si una etapa está terminada, (aunque puede ser abierta en caso necesario, ya que el modelo permite volver a etapas previas).

Tabla 1.- Entregables de cada fase de la metodología MSF. Fuente: Elaboración propia Fase

Entregable Visualización

Documento de Visión y Alcance.

Planificación

Documento del Plan del Proyecto.

Desarrollo

Alcance completado.

Estabilización

lanzamiento aprobado.

Implementación

Proyecto puesto en producción.

2.2.7 Arquitecturas orientadas a objetos en .NET Una arquitectura orientada a objetos, es aquélla que utiliza a los objetos en forma de entidades del negocio para transmitir los datos entre las distintas capas, y como fuente de datos en los componentes de la capa de vista y capa de negocio. Para migrar del modelo de objetos al modelo entidad relación mediante los componentes lógicos de acceso a datos. Las interfaces de servicios Internos o Externos son componentes que sirven exclusivamente para agrupar capas a través de un servicio de comunicación. Estas interfaces no exponen funcionalidades adicionales, sino que implementan las llamadas a la lógica del negocio generalmente, desde la vista en el caso de interfaces internas o desde otro aplicativo en el caso de interfaces externas. 27

La principal diferencia entre las interfaces internas y las externas, es que las interfaces externas deben exponer métodos que tengan tipos de datos genéricos para el ingreso y la salida, dado que interactúan con otros aplicativos. Los cuales pueden estar incluso en otro lenguaje no compatible como JAVA, lo que soluciona exponiendo datos en formatos genéricos como XML apoyados con un diccionario. Los flujos de trabajo empresariales: Cuando la lógica de negocio es sumamente compleja podemos ayudarnos de clases que representen a los flujos de datos empresariales, en las cuales se agrupan varios métodos de distintas clases de lógica de negocio para poder resolver el problema en cuestión.

Figura 9: arquitectura orientada a objetos .Net. Fuente: Aplicación de la metodología MSF v4.0, Villarroel González, Montalvo Yépez, 2008.

La arquitectura orientada a objetos está diseñada para resolver la mayor cantidad de problemas de aplicaciones medianas y pequeñas, como se muestra en la Figura 9 anterior, contiene seis tipos de componentes indispensables como cualquier otra arquitectura basada en objetos, los cuales se resumen a continuación:

28



Capa de Presentación: Comprende el conjunto de componentes de interfaces de usuario, que sirven como interfaz entre la aplicación y el usuario, en el caso de .NET, se dispone de algunos formatos para la presentación de la aplicación, tales como Windows Forms, Web Forms, o Dispositivos Móviles. Separa la lógica de negocio y permite facilitar la creación de aplicaciones independientes de la vista.



Capa de Lógica de Negocio: Es el conjunto de componentes empresariales donde se almacenarán todas las reglas propias del negocio.



Capa de Componentes lógicos de Acceso a Datos: Dado que se habla de una arquitectura basada en objetos, esta capa comprende el conjunto de componentes donde se realiza su mapeo de los mismos desde el modelo entidad relación al modelo de objetos.



Capa de conexión con el origen de datos: En esta capa se utilizan las mejores prácticas para conectar el origen de datos, sea éste específico, es decir una aplicación que funcione exclusivamente con SQL Server, por ejemplo, o genérico.



Entidades del Negocio: Dado que se desea transportar datos desde la capa de vista hasta el almacén de datos, se necesita un medio para transmitir estos datos; dado que es una arquitectura basada en objetos, los datos se transmitirán en modo de objetos que representan a entidades del negocio, los cuales están agrupados en esta capa.



Seguridades: Son componentes de autorización y autenticación que deberán estar disponibles en cualquier parte del aplicativo.



Componentes Generales: Son componentes de distintos tipos, que pueden ir desde validaciones generales de tipos de datos, recursos matemáticos adicionales, mecanismos de administración operativa, tales como excepciones, entre otros.

2.2.7.1 Estrategia y alcance de un proyecto de desarrollo de Software El concepto de estrategia y del alcance de proyecto tienen como objetivo dejar claro al equipo encargado del desarrollo, cuál es la visión del proyecto, conjuntamente con el cliente para alinear las expectativas y conocer la lógica del negocio, a que en particular se le plantea dar una solución, y así proponer las alternativas y hacer buenas prácticas de desarrollo. Al final de esta 29

etapa se quiere que, tanto el cliente como el equipo de desarrollo tengan una idea clara de los objetivos que persigue el proyecto.

2.2.7.2 Objetivos específicos de la Estrategia y Alcance Mediante la visión es como se identifican los objetivos principales, para los cuales la organización desea proveer el producto a ser desarrollado. Con base en esto, se persiguen los siguientes objetivos específicos: Identificar las metas del proyecto. • • • •

Conocer las expectativas y problemas puntuales que se quieren resolver con el proyecto. Formar las bases sobre las cuales el equipo desarrollará el proyecto en etapas posteriores. Definir el alcance del proyecto, sobre el cual se hará el planeamiento detallado en etapas posteriores. Estimar los recursos necesarios para el desarrollo del proyecto.

La estrategia y alcance del proyecto es realizada por el Analista del Negocio.

2.2.7.3 Tareas a ser cumplidas en la Estrategia y Alcance •

Crear los escenarios El escenario es un medio por el cual se define una interacción de un usuario del sistema con él para lograr cumplir una meta específica. Se debe, por tanto, exponer todas las metas del sistema, para validar todas sus funcionalidades y la manera en la cual se relacionan estas funcionalidades con los usuarios.



Crear los requerimientos de calidad de servicio Esta parte define características tales como el rendimiento, la accesibilidad, la escalabilidad, la facilidad de mantenimiento y la carga de tensión soportado y estos requerimientos serán las bases sobre cómo el sistema debe operar.

30



Crear el documento de estructura del proyecto Este documento define la manera en la cual el equipo se organiza y manejará el proyecto. Describe la estructura de organización, los estándares, procesos y recursos con los que cuenta el proyecto. Especifica el procedimiento para realizar cambios en la funcionalidad del sistema. Este documento se compone de las siguientes partes: o

El propósito del documento

o

Los estimados de horario, costos y entregables.

o

La estructura del equipo incluyendo un resumen de los recursos, relaciones y las responsabilidades de cada integrante, y una lista de contactos.

o

El manual de cambios del sistema.

Revisión de riesgos del proyecto La revisión de riesgos del proyecto comienza con la enumeración de todos los riesgos que pueda tener. Una vez enumerados, se clasifican, se identifican las causas y las consecuencias del riesgo. Luego se deben valorar los riesgos asignando un porcentaje de probabilidad de que el riesgo ocurra y un valor sobre 10, del impacto que tendrá en el proyecto, multiplicando estas variables, se obtiene la prioridad del riesgo. A continuación, se debe crear el plan de contingencia para cada riesgo.

2.2.7.4 Capturar la visión y alcance del proyecto La visión y alcance del proyecto es el entregable principal de esta etapa; está compuesto por las siguientes partes: •

El establecimiento de la visión, que es una frase que involucra la meta del sistema en un período específico con acciones específicas.



La definición de oportunidades, que comprende un apartado con todas las ventajas que brindará el sistema.

31



El alcance, que involucra todos los requerimientos de la empresa, separados en dos grupos, aquéllos que van a ser resueltos por la aplicación y aquéllos que están fuera del alcance.



La meta del proyecto, que está dividida en el concepto de solución, los perfiles de los usuarios, el resumen de uso, el resumen de requerimientos (dividido a su vez en requerimientos del negocio, usuario y operacionales) y, por último, el criterio de éxito.

2.3 Framework web Un framework es un concepto que se utiliza para muchos ámbitos en la cuestión de desarrollo de sistemas de software, como juegos y aplicaciones, entre otras. En este apartado nos enfocaremos a la parte de frameworks de desarrollo web; la utilización de un framework es una manera de utilizar código que se encuentra previamente desarrollado, pero que permite ser personalizado e intercambiado para el desarrollo de una aplicación. En otras palabras, un framework web se puede considerar como una aplicación genérica diseñada para simplificar el desarrollo web. Los objetivos principales de un framework son acelerar el proceso de desarrollo de software, mediante la reutilización de código ya existente, y promover las buenas prácticas de desarrollo. A diferencia de un sistema de gestión de contenidos es que este se ocupa de muchos de los mismos problemas, mientras que, el framework es mucho más general12.

12

(2017). Lsi.us.es. Retrieved 23 November 2017, de http://www.lsi.us.es/~javierj/investigacion_ficheros/Framework.pdf

32

Figura 10: Representación gráfica de un framework. Fuente: http://toolsqa.com/selenium-webdriver/automation-framework-introduction/ Algunos de los frameworks, ayudan a resolver problemas difíciles, y otros sirven para ayudar en la parte que se conoce como gastos indirectos, cuando se está trabajando en la construcción de un nuevo sitio. Por lo general, un framework proporciona un conjunto de bibliotecas para acceder a una base de datos, para gestionar el inicio de sesiones y cookies, la creación de plantillas para mostrar el código en HTML y, en general, como se comentó en los párrafos anteriores, para la reutilización. Los diferentes frameworks, en conjunto con las buenas prácticas de desarrollo, permiten la construcción de un sitio web de manera más eficaz y también facilitan el desarrollo de la aplicación. Los frameworks proporcionan las herramientas necesarias para cubrir los casos CRUD, "Crear, Leer, Actualizar y Borrar" (por sus siglas en inglés: Create, Read, Update and Delete), que son funciones básicas que se utilizan en una base de datos; regularmente casi todos los sitios que se desarrollan interactúan con una base de datos, por lo que existen algunos frameworks que ofrecen algunos medios para hacerlo sin tener la necesidad de introducir el código SQL cada vez que se desea crear, leer, actualizar o borrar un archivo.

33

2.4 Estrategia y alcance de un proyecto de desarrollo de Software El concepto de estrategia y del alcance de proyecto tienen como objetivo dejar claro al equipo encargado del desarrollo, cuál es la visión del proyecto, conjuntamente con el cliente para alinear las expectativas y conocer la lógica del negocio, a que en particular se le plantea dar una solución, y así proponer las alternativas y hacer buenas prácticas de desarrollo. Al final de esta etapa se quiere que, tanto el cliente como el equipo de desarrollo, tengan una idea clara de los objetivos que persigue el proyecto.

2.4.1 Objetivos específicos de la Estrategia y Alcance Mediante la visión es como se identifican los objetivos principales, para los cuales la organización desea proveer el producto a ser desarrollado. Con base en esto, se persiguen los siguientes objetivos específicos: Identificar las metas del proyecto. •

Conocer las expectativas y problemas puntuales que se quieren resolver con el proyecto.



Formar las bases sobre las cuales el equipo desarrollará el proyecto en etapas posteriores.



Definir el alcance del proyecto, sobre el cual se hará el planeamiento detallado en etapas posteriores.



Estimar los recursos necesarios para el desarrollo del proyecto.

La estrategia y alcance del proyecto es realizada por el Analista del Negocio.

2.4.2 Tareas a ser cumplidas en la Estrategia y Alcance •

Crear los escenarios El escenario es un medio por el cual se define una interacción de un usuario del sistema con él para lograr cumplir una meta específica. Se debe, por tanto, exponer todas las metas del sistema, para validar todas sus funcionalidades y la manera en la cual se relacionan estas funcionalidades con los usuarios.



Crear los requerimientos de calidad de servicio 34

Esta parte define características tales como el rendimiento, la accesibilidad, la escalabilidad, la facilidad de mantenimiento y la carga de tensión soportado. Estos requerimientos serán las bases sobre el como el sistema debe operar. •

Crear el documento de estructura del proyecto Este documento define la manera en la cual el equipo se organiza y manejará el proyecto. Describe la estructura de organización, los estándares, procesos y recursos con los que cuenta el proyecto. Especifica el procedimiento para realizar cambios en la funcionalidad del sistema. Este documento se compone de las siguientes partes: o

El propósito del documento

o

Los estimados de horario, costos y entregables.

o

La estructura del equipo incluyendo un resumen de los recursos, los papeles que desempeñan y las responsabilidades de cada integrante, y una lista de contactos.

o

El manual de cambios del sistema.

Revisión de riesgos del proyecto La revisión de riesgos del proyecto comienza con la enumeración de todos los riesgos que pueda tener. Una vez enumerados, se clasifican, se identifican las causas y las consecuencias del riesgo. Luego se deben valorar los riesgos asignando un porcentaje de probabilidad de que el riesgo ocurra y un valor sobre 10, del impacto que tendrá en el proyecto, multiplicando estas variables, se obtiene la prioridad del riesgo. A continuación, se debe crear el plan de contingencia para cada riesgo. Capturar la visión y alcance del proyecto La visión y alcance del proyecto es el entregable principal de esta etapa; está compuesto por las siguientes partes: •

El establecimiento de la visión, que es una frase que involucra la meta del sistema en un período específico con acciones específicas.



La definición de oportunidades, que comprende un apartado con todas las ventajas que brindará el sistema.

35



El alcance, que involucra todos los requerimientos de la empresa, separados en dos grupos, aquéllos que van a ser resueltos por la aplicación y aquéllos que están fuera del alcance.



La meta del proyecto, que está dividida en el concepto de solución, los perfiles de los usuarios, el resumen de uso, el resumen de requerimientos (dividido a su vez en requerimientos del negocio, usuario y operacionales), y por último el criterio de éxito.13

2.5 Estudio de algunos sistemas que se encuentran en el mercado En relación con el estudio de algunas herramientas que ya se encuentran en el mercado relacionados con la logística, se evaluaran algunas de sus características, en la actualidad existe una diversidad de aplicaciones desarrolladas en diversos lenguajes de programación, y en diferentes plataformas. 2.5.1 e-WMS Es un producto para la gestión de Almacén, 100% web integrado en la plataforma AndSys, que cubre todos los procesos logísticos que se desarrollan en un almacén desde la recepción del material hasta su expedición. Ofrece trazabilidad completa del material a lo largo de la cadena de suministro gestionada por la plataforma AndSys. Las características que tiene son las siguientes: 

Aviso de recepciones



EDI en entradas y salidas



pre-entradas y entradas



cross-docking



movimientos entre almacenes



ABC en productos y zonas



cuarentenas y condiciones de vecindad de la mercancía.



preparación de mercancías y salidas



picking / kitting

13

Villarroel González, L., & Montalvo Yépez, C. (2010). Aplicación de la metodología MSF V4.0 a la definición e implementación de arquitecturas orientadas a objetos en Visual Studio .Net 2005, caso práctico G5 Sharing Files. SANGOLQUÍ / ESPE / 2010. Retrieved from http://repositorio.espe.edu.ec/xmlui/handle/21000/335

36

Figura 11: e-WMS Software de gestión de almacén. Fuente: https://softwaregestiontransporte.com/e-wms/ 2.5.2 Apriso de México Apriso es una solución que brinda control en tiempo real y visibilidad de principio a fin con el objetivo de optimizar las operaciones logísticas, liga las operaciones de logística inbound y outbound con las actividades de almacenaje, administra actividades de cross dock, recibo y envío. Intensifica el flujo de materiales a través de la cadena de suministro extendida y se integra con los sistemas ERP existentes. En la Figura 12 se muestra la interfaz gráfica de Apriso.

Figura 12: Sistema de gestión de almacenes Apriso. Fuente: http://www.apriso.com/ 37

2.5.3 SPACE Distribución y almacenaje Es una aplicación ofrece una amplia gama de servicios definidos y especializados de almacenaje, distribución, control de inventarios, recepcion de ordenes de compra, armado de ordenes de pedido, entre otros. Estos servicios pueden ser adaptados y escalados a la medida de cada cliente de acuerdo a sus necesidades y la calidad de servicio requerida14. En la Figura 13 se muestra la interfaz de acceso para el sistema.

Figura 13: Space Distribución y Almacenaje. Fuente: http://www.spacedistribucion.com/mi-cuenta.php

El servicio de control de inventarios se fundamenta en el manejo de un sistema de tecnología de punta para el control de inventarios, conocido como WMS (Warehouse Management System). Mediante este sistema se procesan las entradas de producto de los proveedores del cliente, mediante generación de órdenes de compra, recibo de productos de forma individual, asignación de localidades, asignación de números de lote, fechas de caducidad, números de licencia para identificación de lotes de entrada, entre otros procesos disponibles para incrementar el control de las mercancías. La administración de sus inventarios se lleva a cabo mediante la realización de conteos cíclicos y la conciliación contra los reportes que genera el sistema. Todo está disponible para los clientes mediante una interfaz vía Internet a través de la cual el cliente puede 14

Servicios. Space Distribución y Almacenaje. Fuente: http://www.spacedistribucion.com/servicios.php

38

administrar sus inventarios, generar órdenes de compra o salidas de pedidos y revisar el comportamiento de sus inventarios mediante reportes hechos a la medida, todo desde la comodidad de su hogar u oficina.

2.6 La importancia de desarrollo de un sistema web A lo largo de este capítulo hemos visto algunos elementos, así como algunas soluciones que ya se ofrecen en el mercado, es importante mencionar la importancia de crear un diseño, muchas de las empresas optan por llevar un control de sus inventarios mediante controles no normalizados, a través de hojas de cálculo o registros en papel. Y nos preguntamos a que se debe esto, si hay en el mercado distintas aplicaciones que pueden dar fin a sus problemáticas, la cuestión es que muchas de estas aplicaciones te ofrecen precios elevados que las pequeñas y medianas empresas no pueden solventar. Otra cuestión es que venden los módulos por separado y la mayoría de estas aplicaciones que ofrecen este tipo de solución, son de tipo escritorio. La ventaja que tiene una aplicación de este tipo en función del negocio, es que, al ser una aplicación web, cualquiera que tenga acceso a ella, puede consultar información en tiempo real y en donde se tenga acceso a una red de datos, no se necesita cargar la computadora todo el tiempo, desde cualquier dispositivo es posible realizar operaciones relacionadas con el almacén. Sabemos que hoy en día el futuro está en las Tecnologías de la Información, con la movilidad se permite ofrecer mejores resultados, disminuyen los errores y se optimizan tiempos de operaciones.

39

Capítulo III: Análisis y diseño En este capítulo se definirán las especificaciones de la arquitectura y de la base de datos para el desarrollo, la fase de planificación del modelo del proceso de la metodología MSF incluye tres procesos de diseño: el diseño conceptual, el diseño lógico y el diseño físico. Estos tres diseños no se desarrollan de forma paralela, sin embargo, el inicio y el final de cada proceso están adyacentes. Los procesos dependen uno del otro, de manera que el diseño lógico es dependiente del diseño conceptual y el diseño físico es dependiente del diseño lógico.

3.1 Definición de metodología Para el desarrollo del proyecto se utilizará la metodología Microsoft Solutions Framework (MSF), se determinaron puntos con el área de sistemas de la empresa, por lo que se determinó usar la antes mencionada, debido a que las características que presenta, se adaptan más al entorno de la empresa, y para la plataforma de desarrollo Microsoft .NET.

3.2 Herramientas de diseño y desarrollo 3.2.1 SQL Server Management Studio SQL Server Management Studio (por sus siglas en ingles SSMS) es un entorno integrado para obtener acceso a todos los componentes de SQL Server, así como para configurarlos y administrarlos. SQL Server Management Studio combina un amplio grupo de herramientas gráficas con un editor de texto enriquecido, para ofrecer acceso a SQL Server a los programadores y administradores, sin importar su nivel de especialización. SQL Server 2016 tiene muchas características nuevas, incluyendo una mejor compatibilidad con versiones anteriores de SQL Server.15

15

https://msdn.microsoft.com/es-MX/library/mt238290.aspx

40

3.3 Definición de la arquitectura del sistema Uno de los primeros pasos para desarrollar el Sistema de Gestión de Almacenes, es crear una instancia de SQL Server. Al desarrollar una base de datos se tiene que hacer un enfoque en la arquitectura utilizada, para que de esta forma pueda ser lo más eficiente posible. Para este proyecto se consideró el diseño y desarrollo de una plataforma de tres capas, como se muestra en la Figura 14, con el propósito de mejorar la eficiencia en los procesos dentro de la estructura, además de que permite una escalabilidad también muy eficiente.

Figura 14: Niveles de la arquitectura del sistema. Fuente: http://www.pathguide.com/Solutions/LatitudeWMSArchitecture.aspx

Las tres capas en que se divide el entorno tecnológico son las siguientes: 1. Presentación de los datos: Se refiere a la interfaz de la aplicación que suministrar al cliente o usuario, la información necesaria en relación con sus pedidos. Esta capa depende del servidor para cargar la aplicación, el cual necesita el enlace con el servidor de la base de datos para obtener la información que se solicita. 41

2. La capa de negocio: Esta se compone del sistema de gestión de almacenamiento y distribución, se procesa la información y se envían las respuestas tras el proceso. Se denomina capa de negocio o capa de lógica del negocio, porque es aquí donde se establecen todas las reglas que deben cumplirse. 3. Capa de acceso a datos: Se compone por el sistema de trazabilidad de la información logística, en la cual se concentra el servidor de aplicaciones para poder tener acceso al servidor que contiene la base de datos.

En la Figura 15, se muestra el diagrama de la comunicación del almacén, la cual está representada por un diseño de 3 capas, como se explicó en los párrafos anteriores, el registro de los datos de las mercancías se lleva a cabo por medio de las terminales, en este caso están representados por dispositivos móviles, lectores RF y los lectores de códigos de barra, que son utilizados más a menudo.

Figura 15: Diagrama de la comunicación del almacén. Fuente: Elaboración propia.

42

3.4 Aplicación La aplicación será tipo web, lo que permite un acceso fácil desde un navegador, en cualquier dispositivo electrónico con acceso a internet y en cualquier lugar, desde la aplicación se realizará todo el proceso de la gestión de almacenes. La aplicación proporcionara todas las herramientas necesarias, en un marco sólido para la gestión del negocio; a diferencia de una aplicación de escritorio, tiene la ventaja de que no necesita ser instalada en una computadora, y las actualizaciones se registraran en tiempo real, para que otros usuarios puedan hacer consultas de información. Por motivos de seguridad, el usuario deberá iniciar sesión para tener acceso a la función de la aplicación. La aplicación del Sistema de Gestión de Almacenes, será fácil de usar y de rápida implementación; lo que hace posible esto es que, al ser una aplicación web, se convierte en multiplataforma, que no está ligada a un sistema operativo específico. Permitirá una navegación rápida de los componentes de la aplicación para realizar búsquedas, realizar filtrados y consultas de inventario. Con la aplicación del Sistema de Gestión de Almacenes se podrá asignar el material a los almacenes de manera detallada, a niveles de ubicación. Además de obtener una visión general del total de la cantidad de un solo producto, podrá obtener datos para determinar, exactamente que material actualmente se encuentra en el complejo de almacenes o qué material en una circunstancia, se requiera. La aplicación también ayudará con informes sobre el control de inventarios, y con el de los movimientos que se realizan, tales como entradas y salidas. Toda operación del tipo entrada y salida requerirá la documentación autorizada por el personal autorizado.

3.5 Metas En los procesos de distribución y de cadena de suministro, un sistema de gestión de almacenes es una parte fundamental. La principal meta de este sistema es el movimiento y la distribución de los materiales dentro del almacén, así como los procesos que forman parte de estos movimientos, que incluyen órdenes de compra, ingresos, almacenamiento, pedidos. El sistema también administrará y mejorará las existencias de materiales en inventario, basado en información en tiempo real sobre el estado de los materiales.

43

Metas 

Prioridad

Facilitar a los usuarios el ingreso de mercancía mediante una

Alta

interfaz amigable e informativa. 

Producir menos información detallada, pero ingresar mayor

Alta

información automática en la base de datos. 

Proveer información actualizada y veraz a los usuarios, para

Media

mantener el inventario actualizado y tomar decisiones. 

Permitir

colaboración

y

comunicación

entre

departamentos

Media

aumentando la eficiencia en las diferentes transacciones.

3.6 Objetivos del sistema 3.6.1 Objetivo general Desarrollar bajo la tecnología Microsoft .NET C#, un Sistema de Gestión de Almacenes para ingresar, administrar y almacenar la información de los procesos operativos que son utilizados dentro de almacenes.

3.6.2 Objetivos específicos 

Limitar el acceso de información a usuarios de bajo nivel para reducir información errónea dentro de la base de datos.



Crear una interfaz gráfica amigable para el usuario, para evitar mayores errores producidos por el personal.



Crear un bloque donde se pueda ingresar los productos, sacándolos del inventario general y luego volviéndolos a ingresar según el tipo de producto que regrese.



Diseñar una nueva línea de operaciones dentro de las bodegas, basada en los procesos usualmente implementados.

3.7 Supuestos En el desarrollo de software, generalmente se crean supuestos en la interpretación de requerimientos del sistema, decisiones de diseño, dominio operacional, ambiente, características 44

de entrada y características de salida de información y otros factores durante la implementación del software. Estos supuestos suelen ser rara vez documentados y mucho menos, validados por las personas que tienen el conocimiento para verificar su adecuación. Los estados de supuestos de los Sistemas de Gestión de Almacenes deben permitir un completo control sobre los recursos de almacén de productos terminados, y al mismo tiempo, incrementar la eficiencia en el rastreo del producto dentro de las bodegas.

3.8 Análisis de los Casos de Uso Para la definición de los casos de uso, es importante primeramente determinar las funcionalidades del sistema de gestión de almacenes, las cuales se dividen en tres principales, cada una de ellas contiene las operaciones importantes dentro del sistema de gestión de almacenes, a continuación, se enlistan de la siguiente manera: 

Consultas de información en tiempo real



Registros



Modificaciones



Depuración

Las consultas permitirán obtener la información acerca de los pedidos, las mercancías y el empaquetado; esta operación será ejecutada por el operario encargado del almacén, así como por el cliente. La consolidación es la parte central en el proceso, en que se realizan las tareas como el empaquetado e inserción de las mercancías en las cajas o contenedores. La gestión de incidencias permitirá hacer registros de posibles defectos o errores que se detecten en el transcurso de la consolidación. Algunas de las funciones principales del sistema para cada uno de los usuarios, son: 

Ingresar al sistema como usuario.



Autentificar datos de usuario.



Verificar y consultar información sobre registros.



Consultar ubicaciones de productos.



Consultar existencias de productos.



Realizar actualizaciones.



Realizar búsquedas de productos; 45



Hacer consultas de proveedores.



Visualizaciones por categorías.



Agregar nuevos proveedores.



Registrar nuevos usuarios.



Hacer consulta de todos los usuarios actuales.

En la descripción de cada uno de los usuarios, se especifican las acciones permitidas dentro del sistema.

3.8.1 Definición de los interesados (Stakeholder) El sistema tendrá tres tipos de usuarios definidos, los cuales tendrán diferentes permisos en el sistema de gestión de almacenes, como se muestra en la siguiente Figura 16, correspondiente al diagrama de casos de uso. Estos usuarios tendrán las funciones de Crear, Leer, Actualizar y Borrar, lo que también se conoce en computación con el acrónimo CRUD (por sus siglas en Inglés: Create, Read, Update and Delete). Esto no quiere decir que todos podrán hacer las 4 funciones, eso dependerá del perfil que tiene cada uno, más delante se detallara las funciones específicas de cada uno.

46

uc Casos de Uso

CRUD Usuarios

Gerente CRUD Productos

CRUD Prov eedor

Superv isor

CRUD Categoria

Buscar productos Empleado

Figura 16: Diagrama de Casos de Uso. Fuente: Elaboración propia.

Supervisor (Usuario 2): Este usuario es el que proveerá y cargará información al sistema, tendrá un acceso casi total a la plataforma con ciertas restricciones de seguridad. Este usuario podrá 47

efectuar cambios y modificaciones a la información del sistema. Las siguientes operaciones estarán habilitadas para este usuario: 

Autentificar su usuario y cambiar información básica de su perfil



Ingresar a la plataforma del cliente designado



Registrar en el sistema los Ingresos



Crear productos nuevos en el sistema



Eliminar productos en el sistema



Cargar archivos planos de los clientes



Crear y enviar documentos de ingreso



Registrar y Ordenar los productos en distintas posicione



Cambiar de estado a los productos



Ingresar Pedidos

Gerente (Usuario 1): El gerente tendrá todos los permisos del Supervisor (Usuario 2), con cierto permiso adicional. El gerente será el usuario con mayor interacción con el sistema, debido a que sus operaciones le permiten controlar y proporcionar información a la plataforma. Este usuario podrá registrar cada uno de los movimientos de materiales que se realicen dentro del almacén. También tendrá permisos para cambiar de lugar los materiales o productos para facilitar el proceso de recolección, lo cu8al se podrá registrar automáticamente en el sistema de kardex. Al realizar el registro de productos tendrá la posibilidad de clasificarlos de acuerdo a una categoría, puede ser a una ya existente, o de lo contrario tendrá los permisos necesarios para crear una nueva, si el producto lo requiere. Este usuario tendrá restricciones únicamente para la parte de ventas, donde cada empleado (Usuario 3), podrá trabajar y realizar las ventas de los productos sobre el cliente asignado, esto para que no exista problemas entre las distintas áreas. Además, podrá realizar la asignación de diferentes posiciones dentro del almacén. Como su rol lo permite, el gerente tendrá la capacidad y control total de la plataforma, creando permisos para los diferentes tipos de usuarios, como se enlista a continuación. 

Autentificar su usuario y cambiar su información personal.



Registrar en el sistema los Ingresos



Crear permisos para los diferentes trabajadores 48



Crear nuevos productos en el sistema



Eliminar productos en el sistema



Cargar archivos planos de los clientes



Crear y enviar documentos de ingreso



Registrar y Ordenar los productos en distintas posiciones



Registrar las diferentes posiciones para un determinado proveedor



Cambiar de estado a los productos



Ingresar Pedidos



Crear lista de recolección



Modificar lista de recolección



Verificar y consultar información sobre pedidos



Consultar posiciones de productos



Consultar recolecciones y productos reservados



Verificar estados

3.8.2 Definición de los Casos de Uso En esta sección se describirán los casos de uso del sistema, en relación con los diferentes actores y la descripción especifica de las funciones que tendrán en el sistema de gestión de almacenes, de la Tabla 2 a la Tabla 9, se especifican detalladamente cada uno de los casos de uso, tanto la función como los actores involucrados en estas operaciones. Tabla 2.- Caso de uso Iniciar de sesión de usuarios. Fuente: Elaboración propia Caso de uso

Iniciar de sesión de usuarios El caso de uso de iniciar sesión de usuarios es el primer bloque del

Descripción

sistema, al cual todos los usuarios deben autentificarse para determinar su nivel de pertenencia dentro del sistema, de esta forma se les asignara los permisos necesarios para sus operaciones.

Actores Precondiciones Acciones

Gerente, Supervisor, Empleado El usuario debe tener un registro en la base de datos del Sistema de Gestión de Almacenes. 

Visualización de la pantalla de inicio de sesión.

49



Ingresar

los

datos

correspondientes

a

los

campos

requeridos. 

Validar datos de usuario.



Ingresar al sistema.

Tabla 3.- Caso de uso Registro de usuarios. Fuente: Elaboración propia Caso de uso Descripción

Registro de usuarios El caso de uso de registro de usuarios, es también uno de los más importantes de los módulos

Actores

Gerente

Precondiciones

Que el usuario tenga un rol en la empresa.

Acciones



Registrar usuario con permisos determinados



Llenar los campos requeridos con los datos del usuario



Guardar registro

Tabla 4.- Caso de uso Consulta de personal. Fuente: Elaboración propia Caso de uso

Consulta de personal

Descripción

Este módulo del sistema permite revisar la parte de recursos humanos, lo cual permite a otros administrar de una manera eficiente este tipo de recursos.

Actores

Gerente

Precondiciones

Que el usuario este previamente registrado en el sistema.

Acciones



Realizar consultas de personal



Consultar responsables de movimientos



Consultar el historial del personal

Tabla 5.- Caso de uso Registro de productos. Fuente: Elaboración propia Caso de uso

Registro de productos

Descripción

Este caso de uso permitirá al usuario crear productos nuevos dentro de la base de datos del sistema, ampliando la variedad del almacén.

Actores

Gerente, Supervisor 50

Precondiciones

Para que se realice el registro de un nuevo producto, el usuario debe tener un rol con permisos adecuados, por lo que primero se debe de autentificar con el inicio de sesión dentro del sistema.

Acciones



Ingresar al sistema



Seleccionar crear nuevo producto



Llenar los campos requeridos por el sistema



Validar que no exista en la base de datos



Guardar producto

Tabla 6.- Caso de uso Consulta de productos. Fuente: Elaboración propia Caso de uso Descripción

Consulta de productos En este caso se harán distintos tipos de consultas al sistema sobre los productos, en sus estados, posiciones, lotes, entre otros datos.

Actores

Gerente, Supervisor

Precondiciones

Ingresar al sistema para determinar los permisos y alcance.

Acciones



Autentificarse en el sistema



Ingresar a la opción de consulta de productos



Consultar ubicaciones



Consultar cantidad de producto

Tabla 7.- Caso de uso Actualización de productos. Fuente: Elaboración propia Caso de uso

Actualización de productos Este caso de uso permitirá al usuario del sistema hacer

Descripción

modificaciones o actualizaciones de los productos, que previamente se encuentren registrados en la base de datos.

Actores

Gerente, Supervisor Para poder realizar este proceso, de debe realizar la autentificación

Precondiciones

previamente en el sistema, para determinar si se tienen los permisos.

Acciones



Autentificarse en el sistema



Ingresar al módulo de productos



Seleccionar modificar producto 51



Llenar los campos requeridos



Validar campos



Guardar cambios

Tabla 8.- Caso de uso Eliminar productos. Fuente: Elaboración propia Caso de uso Descripción Actores

Eliminar Productos Este módulo permite eliminar productos actualmente creados, de acuerdo a las necesidades del negocio. Gerente, Supervisor El usuario este previamente registrado en el sistema, con los

Precondiciones

permisos necesarios para realizar este tipo de tareas. El sistema debe contener productos previamente registrados en la base de datos. 

Ingresar al sistema con los permisos correspondientes activos

Acciones



Ingresar al módulo activo de Administrar Productos



Seleccionar el ingreso a Eliminar



Validar que no se usó este ingreso en el sistema

Tabla 9.- Caso de uso Eliminar empleados. Fuente: Elaboración propia Caso de uso Descripción Actores

Eliminar empleados Este módulo permite eliminar personal actualmente creados en la base de datos del sistema. Gerente Autentificación en el sistema, para determinar el alcance de los

Precondiciones

permisos otorgados. El sistema debe tener empleados previamente registrados.

Acciones



Ingresar al sistema con los permisos correspondientes.



Seleccionar el ingreso a Eliminar Personal.



Guardar cambio.

52

3.9 Requerimientos En esta sección se describirán los requerimientos para el diseño y desarrollo del sistema de gestión de almacenes, en el proceso de conceptualizar los análisis de requerimientos se incluyen tres tipos de actividades. 1. Conseguir los requisitos: Se refiere a la tarea de comunicación con los clientes y los usuarios, para determinar cuáles son sus requerimientos, también se le conoce como levantamiento de requerimientos. 2. Análisis de requerimientos: Se refiere al conjunto de técnicas y procedimientos para determinar si los requerimientos nos permiten conocer los elementos necesarios para definir un proyecto de software. 3. Registro de requerimientos: En esta tercera parte de los requerimientos son documentados, la documentación se puede realizar de varias formas, un documento de lenguaje natural, casos de uso, procesos de especificación, entre otros. “El análisis de requerimientos puede ser un largo y duro proceso durante el cual muchas y delicadas habilidades psicológicas están involucradas. Un nuevo sistema cambia el ambiente y la relación entre las personas, por eso es importante identificar todos los usuarios, tomar sus necesidades en cuenta y asegurar que entiendan las implicaciones de un nuevo sistema. El analista puede utilizar varias técnicas para obtener los requerimientos de los clientes. Históricamente, esto ha incluido mantener entrevistas, grupos de trabajo y crear listas de requerimientos. Técnicas más modernas incluyen prototipos y utilización de casos de uso. Donde sea necesario, el analista empleará una combinación de estos tres métodos para establecer los requerimientos exactos de los usuarios y accionistas, para que el sistema llegue a cumplir las necesidades del negocio. La ingeniería de requerimientos es una subdisciplina de la ingeniería de sistemas e ingeniería de software, que se refiere a la determinación de los objetivos, funciones y a las limitaciones de hardware y software de sistemas. En algunos modelos de ciclo de vida, el proceso de requerimientos empieza con el estudio de factibilidad, el cual conlleva a un reporte de factibilidad. Si este estudio de factibilidad sugiere que el producto debe ser desarrollado, los análisis de requerimientos pueden empezar.”16

16

Phillip A. Laplante (2007) What Every Engineer Should Know about Software Engineering, Taylor & Francis Group,Boca Raton, FL, USA

53

3.9.1 Requerimientos de estándares de Sistema Clientes 

SW existente



Internet Explorer 11, Mozilla 53.0.2, Chrome para Windows 10/8.1/8/7



.Net Framework 4.6

Servidor de Aplicaciones 

Windows Server 2012



Internet Information Services



Microsoft .Net Framework 4.5 Y 4.6

Servidor de base de datos 

SQL Server 2105 Enterprise edition SP2 español

3.10 Diseño conceptual del sistema de gestión de almacenes El diseño principal del sistema de gestión de almacenes, está orientado a mostrar el flujo de trabajo de una operación de almacén típica. Está diseñado para relacionarse con el flujo de entrada, el flujo de salida y el flujo interno de los artículos a través del almacén. En la Figura 17, se muestra el flujo de trabajo del sistema de gestión de almacenes de forma general.

54

Recepción de materiales

Orden de compra

Registro de materiales

Proveedores

Almacenamiento

Orden de producción

Selección

Inventario

Almacenamiento

Movimiento/Reposicionamiento

Manufactura/fabricación

Pedido

Envío Transportación

Figura 17: Diagrama conceptual del Sistema de gestión del almacén.

El flujo de información del almacén comienza por la entrada de productos, donde son registrados por el personal del almacén en el sistema de gestión de almacenes. Cada elemento que es añadido, es identificado y se relaciona con algún tipo de entrada correspondiente; las entradas dependen del origen, puede ser por orden de compra, transferencia u orden de producción. Las siguientes etapas numeradas corresponden con el diagrama de flujo de entrada.

55

1. Recibo del almacén Las mercancías llegan al almacén y en la ventana de registro de productos, se crearán líneas para el registro de activos en el almacén y se muestran en la ventana de consulta de en el sistema.

2. El empleado puede actualizar el número de productos recibidos, actualizar el espacio de la cantidad manualmente, (esto se puede conectar automáticamente si la configuración del almacén lo permite por ubicación).

3. Organización interna El empleado crea una reserva interna para los artículos que tienen que ser guardados en el almacén (por ejemplo, producción de salida), e introduce la cantidad, la zona y el número de almacén; donde los artículos deben ser guardados.

56

Capítulo IV: Desarrollo Considerando la metodología Microsoft Solution Framewok, se desarrollarán las fases que la componen, como se describió en la parte teórica, la metodología MSF tiene un modelo propuesto, en donde toma las ventajas del modelo en casada y las del modelo en espiral, como resultado de esta combinación resulta el modelo que se utilizara para la parte de desarrollo, donde cada etapa es un entregable. Como se establece en la metodología, cada etapa es un entregable, el cual puede ser fácilmente modificado en caso de que se requiera, esto sin afectar el proyecto, es decir, es un modelo abierto, como lo muestra su Figura 8 en el capítulo 2. Esta etapa se realiza con base en al análisis de los requerimientos y el diseño descrito en el capítulo anterior, enfocados al sistema mencionado, en donde se documenta la parte de desarrollo del sistema de gestión de almacenes. El objetivo de este capítulo es comprobar la comunicación de cada una de las partes del sistema, cuando se integran al proyecto. Es decir, poseer una herramienta capaz de permitir una buena administración, que sea capaz de organizar, autorizar o restringir accesos a diferentes módulos, que permita compartir la información en tiempo real desde la red de internet, en cualquier dispositivo con acceso. De esta manera será mucho más fácil y económico para una empresa tener a detalle las últimas operaciones, y lo más importante, que se pueden acceder desde cualquier parte del mundo, siempre que se tenga el acceso a una red de datos.

4.1 Base de Datos La base de datos se diseñó utilizando el modelo relacional, se realizó un análisis para determinar el nivel 3 de normalización, lo cual permitiera un mejor diseño para un mejor desempeño. La base de datos como se comentó en la parte de diseño, fue desarrollada en SQL Server 2014 Management Studio, a continuación, en la Figura 18 se muestra en diagrama entidad-relación de la base de datos.

57

Proveedor IdProveedor Nombre Contacto Correo Telefono IdProducto

Orden IdOrden idProducto

FK__Prov eedor__IdPro__114A936A

Producto Cantidad

Producto

Fecha

IdProducto

idUsuario

Nombre FK__Orden__idProduct__30C33EC3 FK__Orden__idUsuario__31B762FC

Almacen

Detalle FK_Stock

Cantidad

Stock Nombre

Stock idCategoria

Usuario

Activo

idUsuario Nombre Apellido FK__Producto__idCate__2739D489

Usuario Password

Categoria IdCategoria Descripcion

Figura 18: Diagrama Entidad-Relación de la base de datos. Fuente: Elaboración propia.

Por otra parte, se puede visualizar desde el entorno de desarrollo, como lo muestra la Figura 19, donde se muestra la parte de la conexión a la base de datos mediante código, esto se encuentra en la capa de datos. Únicamente esto es para conexión de la base de datos, para consulta, modificación, captura o borrado de datos están definidas las clases parta cada tabla, dentro de cada clase, están definidos varios métodos para la administración de datos, los cuales están conectados mediante procedimientos de almacenamiento o mejor conocidos en inglés como Store Procedure.

58

Figura 19: Conexión a la base de datos en el entorno de desarrollo. Fuente: Elaboración propia.

Figura 20: Procedimiento de almacenamiento para la validación de usuarios. Fuente: Elaboración propia.

59

4.2 Desarrollo de las interfaces de la plataforma del sistema Para el desarrollo de las interfaces del sistema, están divididos por secciones de acuerdo a las funcionalidades de los casos de uso, en este caso el sistema cuenta con una página maestra y varias páginas de contenido. La página maestra muestra algunos datos, como la lista de categorías que se muestran durante todo el tiempo, una vez que se inicia sesión en el sistema, así como el menú con las operaciones, tal como se muestra en las Figuras 22 y 23 dependiendo del perfil que tiene el usuario. En esta sección se muestran algunas de las pantallas que es sistema de gestión de almacenes tiene como interfaces, tanto para el ingreso al sistema como para los procesos de registro, consulta y actualización. La Figura 19 muestra la pantalla de ingreso al sistema, la cual se muestra cuando se escribe la dirección

correspondiente;

en

este

caso

se

está

utilizando

la

dirección

de

http://localhost:64050/frmLogin.aspx debido a que todas las piezas están contenidas en el servidor local. Esta parte muestra la capa de negocio, donde el usuario ingresa al sistema, en la que se utilizaron datos provenientes de la base de datos que también se diseñó.

Figura 21: Pantalla de ingreso de usuarios al sistema. Fuente: Elaboración propia.

60

En las Figuras 20, 21 y 22 se muestra el menú principal de la aplicación web del sistema, donde se muestra el contenido del sistema correspondiente a los diferentes perfiles, se tiene acceso a esta sección una vez que el usuario inicia sesión en el sistema web. En la figura 4.3 muestra la pantalla principal que ve un usuario operativo desde una computadora, quien está limitado en permisos, como se definió en los casos de uso. Estos permisos dependen del perfil que cada usuario tenga para ingresar al sistema, y de las operaciones a realizar.

Figura 22: Pantalla principal del sistema para un usuario operativo. Fuente: Elaboración propia.

La Figura 21 muestra la pantalla principal para un perfil de usuario de tipo supervisor, quien está limitado en los permisos asignados, a diferencia de un perfil de usuario de tipo operativo, este usuario tiene más permisos asignados, como están definidos los casos de uso.

61

Figura 233: Pantalla principal del sistema para un usuario con papel de supervisor. Fuente: Elaboración propia. Por otra parte, en la Figura 22 se muestra la pantalla principal que visualiza un usuario con permisos administrativos, vista desde una computadora, a comparación de un usuario operativo, este usuario tiene más permisos dentro del sistema.

Figura 24: Pantalla principal del sistema para un administrador (gerente). Fuente: Elaboración propia. 62

Para el desarrollo de la capa de interfaz para el usuario, se tomaron aspectos importantes, como los son: la seguridad en el acceso, la facilidad de uso en cada parte de los módulos y la presentación del sistema. Sin olvidar la parte de adaptación al negocio que ya estaba definido, para ello la capa de la interfaz de usuario también conocida como capa de presentación trabaja directamente con la capa lógica del negocio y las entidades, para cumplir todas las tareas definidas en el sistema que tiene como objetivo el negocio. Para la validación de información, se hace un enlace con la capa de datos, en donde a través de un Store Procedure, se realiza la validación de usuario, y así como esta validación, también se ejecuta para cada una de las operaciones. El desarrollo tiene una función de actualizar la información automáticamente, con el fin de evitar posibles errores al momento de consultar información.

63

4.3 Pruebas y resultados Desde la interfaz de un teléfono Galaxy S5, se vería como se muestra en la figura 23, la pantalla principal para el acceso al sistema, en la Figura 24, se muestra la pantalla referente a la consulta de información a través de las categorías, que se encuentran listadas en la parte izquierda del sistema, esta pantalla nos muestra todo el menú de operaciones, relacionado con el perfil de administrador, en este caso como se describió en los casos de uso, es el perfil de gerente.

Figura 25: Pantalla de inicio, vista desde una interfaz de un dispositivo móvil. Fuente: Elaboración propia.

64

Figura 26: Interfaz vista desde un dispositivo móvil (Galaxy S5). Fuente: Elaboración propia.

La interfaz en un dispositivo móvil, en este caso se trata de un teléfono Nexus 5X, se visualiza de la siguiente forma, como se muestra en la Figura 25. Se muestra la parte para el registro de un nuevo usuario, como se describió en el apartado de los casos de uso. Se muestra la interfaz de captura de datos, solicitando datos básicos para identificarlos, de modo que se le asignaran permisos de acuerdo a su papel, como se describió en el diseño, son los 3 tipos de roles, de los cuales únicamente será asignado de acuerdo al supervisor, quien crea los otros dos roles siguientes, en forma jerárquica. La interfaz se adapta fácilmente a tamaño del dispositivo, desde el cual se pueden realizar diferentes operaciones.

65

Figura 27: Registro de usuario en Nexus 5X.

4.4 Implementación Para la implementación, básicamente es poner en funcionamiento la infraestructura adecuada en un servidor la base de datos y la aplicación, para que se puedan definir alguna url de acuerdo al negocio según las necesidades del cliente, también es posible usar una dirección IP, escribirla en algún navegador y poder realizar las operaciones del sistema de gestión de almacenes. Como 66

se describió en apartados anteriores, los requisitos para la implementación, así como el sistema operativo, únicamente se diseñó para servidores de Windows, no se requiere el uso de un sistema operativo en específico para la ejecución de la aplicación. Únicamente se requiere de un navegador y el acceso a una red de datos. Así como las licencias correspondientes de software para dar de alta el dominio, y que esto permita el acceso a cualquier dispositivo a la aplicación web.

67

Conclusiones Como conclusiones al final del desarrollo de este trabajo, se cumplieron los objetivos planteados para el desarrollo del sistema de gestión de almacenes, sabemos que hoy en día son muchas las empresas que no tienen un control eficiente en el área de mercancías, cualquier empresa que está relacionada con ventas o que tenga líneas de producción, necesita información actualizada para la ejecución de sus operaciones. Como se vio en la parte del diseño, se optó por una arquitectura que cumple ampliamente con la metodología, que al combinarlas el resultado es un producto que puede modificarse fácilmente sin afectar el negocio. Por otra parte, .NET es una tecnología que tiene bastante demanda en el mercado, ha tenido un crecimiento acelerado y muchas de las empresas buscan a desarrolladores para la evolución de nuevos productos. También muchas veces olvidamos la parte de emprendimiento, tenemos acceso a tecnología que nos puede aportar todas las herramientas para ofrecer soluciones de tecnología para muchas empresas. Sabemos que hoy en día el futuro de las soluciones de muchos procesos se dará a través de las TI. En cuestión de diseño de la aplicación, se optó por una solución web, para no tener complicaciones en los diferentes sistemas operativos, además de la parte grafica que es bastante amigable para el usuario, del mismo modo, también se facilita hacer cambios futuros si el negocio lo requiere, así como añadir algún otro componente. Dicho proyecto crea un abanico de posibles inclusiones de funcionalidades y nuevos métodos.

68

Bibliografía [1] Fuente: Microsoft Solutions Framework Essentials (ISBN 9780735623538). Microsoft Press. Todos los derechos reservados. https://msdn.microsoft.com/eses/library/jj161047(v=vs.120).aspx [2] GARCÍA RUIZ, José Guadalupe. Logística una herramienta en los negocios. Tecnológico de Monterrey campus Guadalajara. [email protected].

[3] AFNOR es la Asociación francesa de normalización (Association française de normalisation). http://www.afnor.fr/portail.asp (www) (fr) [4] Tecnología y logística. http://datateca.unad.edu.co/contenidos/256594/256594_MOD/1_tecnologa_y_la_logstic a.html

[5] Salazar López, Bryan, Código de barras http://www.ingenieriaindustrialonline.com/herramientas-para-el-ingenieroindustrial/log%C3%ADstica/c%C3%B3digo-de-barras/ [6] Pérez A Oiver Andrés. Cuatro enfoques metodológicos para el desarrollo de Software RUP – MSF – XP – SCRUM. 2011. [7] Ciclo principal de la metodología URL:http://www.cordobasoftware.com.ar/metodologia.html

SCRUM.

[8] Villarroel González, L., & Montalvo Yépez, C. (2010). Aplicación de la metodología MSF V4.0 a la definición e implementación de arquitecturas orientadas a objetos en Visual Studio .Net 2005, caso práctico G5 Sharing Files. SANGOLQUÍ / ESPE / 2010. Retrieved from http://repositorio.espe.edu.ec/xmlui/handle/21000/335 [9] Servicios. Space Distribución http://www.spacedistribucion.com/servicios.php

y

Almacenaje.

Fuente:

[10] (2017). Pyme.lavoztx.com. Retrieved 23 November 2017, from https://pyme.lavoztx.com/diferencias-entre-los-mtodos-de-inventario-fifo-y-lifo-5508.html

69