Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
TESIS
PRESENTA
Miguel Ángel Hernández Trinidad
D I R E C T O R A:
M. en C. Emilia Abad Ruíz
A mis padres por darme su apoyo incondicional y la confianza necesaria para lograr
mis metas y por siempre motivarme a seguir a delante.
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
iv
Resumen
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.
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.
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.
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
Objetivos específicos
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.
Alcance
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
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.
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.
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
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.
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.
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.
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.
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.
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.
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.
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
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.
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.
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 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.
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.
Como características principales a parte de las generales que deben tener este tipo de sistemas
algunas son las siguientes:
3
LIFO es un acrónimo del inglés "last in, firts out" que significa "último en entrar, primero en salir"
4
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
12
Capítulo II: Tecnologías y metodologías
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.
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.
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.
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
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.
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.
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.
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.
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.
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.
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.
2.2.3 SCRUM
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.
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/agile-
methodologies
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
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)
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.
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 Fase
Despliegue Visión Visión y alcance
Release aprobados
aprobada
MSF Fase
Fase
Estabilización Planeación
Fase
Desarrollo
Alcance
completado Plan de ptoyecto
aprobado
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.
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.
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.
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.
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 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.
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.
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:
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.
30
• Crear el documento de estructura 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.
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.
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.
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:
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.
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.
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.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.
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/
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.
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.
Fuente: http://www.spacedistribucion.com/mi-cuenta.php
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.
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.
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.
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.
Fuente: http://www.pathguide.com/Solutions/LatitudeWMSArchitecture.aspx
Las tres capas en que se divide el entorno tecnológico son las siguientes:
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.
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.
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
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.
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
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.
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.
Algunas de las funciones principales del sistema para cada uno de los usuarios, son:
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.
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
Superv isor
CRUD Categoria
Buscar productos
Empleado
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:
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.
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
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
49
Ingresar los datos correspondientes a los campos
requeridos.
Validar datos de usuario.
Ingresar al sistema.
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
51
Llenar los campos requeridos
Validar campos
Guardar cambios
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
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
Orden de compra materiales Registro de materiales
Proveedores
Almacenamiento
Movimiento/Reposicionamiento
Manufactura/fabricación
Pedido Envío
Transportació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.
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.
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
Fecha Producto
idUsuario IdProducto
Nombre
Almacen
Detalle Stock
FK__Orden__idProduct__30C33EC3
FK_Stock
Cantidad Nombre
FK__Orden__idUsuario__31B762FC
Stock
idCategoria
Usuario Activo
idUsuario
Nombre
Apellido
FK__Producto__idCate__2739D489
Usuario
Password
Categoria
IdCategoria
Descripcion
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.
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.
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.
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.
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.
64
Figura 26: Interfaz vista desde un dispositivo móvil (Galaxy S5).
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
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
[2] GARCÍA RUIZ, José Guadalupe. Logística una herramienta en los negocios. Tecnológico
de Monterrey campus Guadalajara. lupejr@garciaascencio.com.
[6] Pérez A Oiver Andrés. Cuatro enfoques metodológicos para el desarrollo de Software
RUP – MSF – XP – SCRUM. 2011.
[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
69