Universidad Nacional Del Callao: Planificación de Los Recursos de La Empresa (Erp)
Universidad Nacional Del Callao: Planificación de Los Recursos de La Empresa (Erp)
Universidad Nacional Del Callao: Planificación de Los Recursos de La Empresa (Erp)
El objetivo de un sistema ERP es coordinar todas las actividades de negocio de una empresa, desde la
evaluación de los proveedores hasta la facturación a los clientes. Pocas veces se alcanza completamente este
objetivo, pero los sistemas ERP están evolucionando para convertirse en sistemas genéricos que aúnan
diversos sistemas especializados. Esto se consigue utilizando una base de datos centralizada para facilitar el
flujo de información entre las diversas funciones de la empresa. Los sistemas que están vinculados, y el cómo
se relacionan entre sí, depende de cada caso. Además de los elementos tradicionales de un MRP, los sistemas
ERP normalmente suelen proporcionar información de gestión finan- ciera y de recursos humanos (HR).
Gestión de las relaciones con los clientes
Finanzas/ Contabilidad Órdenes de ventas (entrada de pedidos, configuración Envíos Distribuidores minoristas y
Facturación del pro- ducto, gestión de ventas) usuarios finales
Cuentas a cobrar
Programa maestro de
producción
Contabilidad general
MRP
Órdenes de trabajo
Nómina
Gestión de la cadena de suministros Comunicación con los suministradores (programas, ADi, avisos anticipados de
envíos, comercio electrónico, etc.)
Los sistemas ERP también incluyen:
Los proveedores de programas ERP han desarrollado una serie de módulos de servicios para los
mercados como la atención sanitaria, el gobierno, los comercios detallistas y los servicios
financieros. Por ejemplo, Springer-Miller Systems ha creado un paquete de ERP para el mercado
de los hoteles con un software que cumple todas las funciones de relación con clientes (front-
office) y administrativas (back-office). Este sistema integra tareas como el mantenimiento de
historiales de los huéspedes, reservas de habitaciones y reservas de mesa en restaurantes,
programación de horarios para el campo de golf, y la gestión de múl- tiples propiedades en una
cadena.
Aspectos a tener en cuenta a la hora de
adquirir un ERP
Ante la decisión de adquirir un ERP existen dos ámbitos en los que la empresa debe
considerar aspectos importantes:
el ámbito interno (qué aspectos deben tenerse en cuenta ante la implantación del
ERP en la empresa).
Software libre:
Open Bravo.
Primavera Express.
Software propietario:
Microsoft Dynamics NAV.
SAGE Facturalus.
SAP.
Oracle Applications.
SOFTWARE LIBRE
Primavera Express
Es un ERP creado por la compañía Primavera Business Software Solutions (BSS). Se
encuentra disponible de forma gratuita a través de la Web de la compañía y no
requiere de ningún tipo de licencia propietaria.
Si los clientes pagan por ello, tienen acceso completo al código fuente, por lo que el
producto puede ser altamente configurable.
SAGE ha optado por realizar diversas versiones de producto realizando versiones que disponen de un
menor abanico de posibilidades pero que se pueden encontrar a un precio mas reducido como es el caso de
FactuFacil.
A continuación se presenta la memoria del proyecto “Aplicación ERP para la empresa GARCIALU S.L”.
GARCIALU, S.L. se trata de una PYME que pertenece al sector del aluminio ubicada en el pueblo de Molins
de Rey. Su función consiste en realizar trabajos de producción de piezas mecanizadas, las cuales se
utilizarán posteriormente en el montaje de la carpintería de aluminio.
Podemos ver en la figura que se presenta a continuación dos tipos de piezas mecanizadas que se desarrollan
en la empresa:
Estas piezas mecanizadas se utilizan en el montaje de ventanas de
aluminio para unir los marcos que la forman, como se puede observar en
las dos imágenes que se presentan a continuación.
Por otra parte, FacturaPlus posee un gran número de opciones de las cuales la empresa solamente utiliza unas pocas,
convirtiéndose en una aplicación difícil de utilizar para los usuarios de la misma que han de invertir un tiempo mayor
al trabajar con este software que el que deberían invertir en trabajar con un programa mas sencillo e intuitivo.
Tras realizar el estudio del arte se llegó a la conclusión que no se puede utilizar ningún ERP de los
disponibles en el mercado para mejorar la situación actual del negocio debido a:
La alta complejidad de los mismos.
Al alto coste de sus licencias.
A la elevada necesidad de prestaciones del equipo en donde se deben instalar.
A la falta de adaptación de las necesidades de negocio específicas de la empresa.
Por lo tanto se deberá realizar una aplicación ERP para la empresa que cubra sus necesidades de negocio
específicas, de muy baja complejidad y que necesite un equipo de bajas prestaciones como el que posee
la empresa.
De esta forma será el software el que se adapte a la empresa y no al revés, que es lo que sucede cuando
se adquiere un software ya disponible en el mercado.
SOLUCIÓN
El sistema a realizar pretende cubrir en una única aplicación todas las necesidades de negocio que
tiene la empresa en la actualidad.
Las necesidades a cubrir son:
Realización de Creación de un
Gestión de Registros de estadísticas para sistema de
Control de piezas Control del stock
compras y proveedores y poder realizar el backup
y materiales. del almacén.
ventas. clientes. reporting de la adecuado a las
empresa. necesidades.
La aplicación se podrá dividir en 2 partes claramente diferencias. Una parte de servidor que se conectará
directamente con la base de datos y uno o varios clientes a través de los cuales los usuarios podrán
introducir o tener acceso a la información. En principio se planteará el sistema para un servidor al cual se
conectará un cliente, pero se contemplará la posibilidad de poder conectar un mayor número de clientes
en el caso de crecimiento por parte de la empresa.
La infraestructura del sistema en la empresa se debe realizar con un coste mínimo para esta. Por lo
tanto se ha de tener en cuenta esta limitación a la hora de decidir qué recursos son necesarios. Se
deben analizar los que la empresa posee en la actualidad para poder aprovecharlos al máximo. Estos
recursos se describirán en los siguientes apartados.
En cuanto a los
componentes
hardware que
formarán el sistema a
realizar se muestran
en la figura 8, junto
con sus conexiones
IMPLEMENTACIÓN Y PUESTA EN MARCHA
En este capítulo se unifican tres fases del proyecto. Primero se describe como se ha realizado la
implementación, a continuación se describe como se ha realizado el testeo de la aplicación y la corrección de
los errores en las pruebas realizadas. Finalmente se detalla la realización de la puesta en marcha en la empresa
y los resultados de las pruebas realizadas con los usuarios.
Fase de desarrollo
Posteriormente se mostrarán ejemplos de las diferentes funcionalidades del área de piezas, presentada en los
capítulos anteriores como caso base, debido a la gran similitud funcional que presentan las diferentes áreas de
la aplicación. También se mostrará un estudio de la planificación propuesta en el capítulo de diseño frente a la
real.
IMPLEMENTACIÓN DE LA CAPA DE PRESENTACIÓN
Este apartado se divide en dos partes, en la primera parte se muestran los resultados obtenidos de la
implementación de la interficie de usuario mostrando las pantallas más significativas de la aplicación. En
la segunda parte se describe como se ha realizado esta implementación.
Resultados obtenidos
A continuación se muestran los diferentes
tipos de pantallas:
En esta capa los Servlets reciben los datos enviados por el cliente a través de la request y redirigen estos datos
hacia el método correspondiente de la capa de negocio. Posteriormente recoge los datos enviados por la capa de
negocio y los envía al JSP correspondiente.
A continuación se muestra paso a paso como el Servlet realiza esta labor.
Una vez recibe la respuesta de la capa de negocio el Servlet envía la respuesta al JSP correspondiente junto con
una seria de parámetros entro los cuales se encuentra el parámetro “realizarAcción”, que se encarga de indicar
al JSP que pantalla debe mostrar al usuario. Esto se realiza a través del método forward().
Todo este proceso se puede observar en la siguiente figura:
Figura 47: Envío de datos a la capa de presentación por parte del Servlet.
IMPLEMENTACIÓN DE LA CAPA DE NEGOCIO
La capa de negocio esta comprendida por once módulos, cada uno de los cuales con una
funcionalidad diferente. Esta capa comunica las capas de comunicación y de base de datos. A
continuación se explica el funcionamiento de estos módulos.
Figura 48: Recepción de datos de la capa de comunicación por parte del módulo
de piezas.
FUNCIONAMIENTO DE LOS MÓDULOS
La funcionalidad de control asegurar que todas las transacciones se realizan de forma correcta. En el caso de que
se modificaran dos tablas en la base de datos y la segunda modificación fallara se alertaría al usuario pero la
primera tabla quedaría modificada pudiendo provocar problemas, como por ejemplo incoherencia de datos.
Este control se realiza en la capa de negocio como en la capa de base de datos. En este apartado se explicará el
funcionamiento en la capa de negocio, su funcionamiento en la capa de base de datos se explica en su
correspondiente apartado.
Se debe crear la conexión y guardarla en una variable del tipo Connection. Esta conexión se envía a todos los
métodos que realicen operaciones contra la base de datos. Si todas estas operaciones se realizan correctamente
se realiza el “commit” que confirma la transacción. En caso de haberse producido algún error (detectado por una
excepcion) se realiza el “rollback” que se encarga de deshacer las operaciones realizadas, dejando la base de
datos en el mismo estado que se encontraba antes de realizar ninguna operación.
Todo esto se puede observar en la figura 49.
IMPLEMENTACIÓN DE LA CAPA DE BASE DE DATOS
Esta capa recibe la acción que debe ejecutar en la base de datos de la capa de negocio y tras ejecutarla le
devuelve el resultado obtenido. Esta formada por tres clases diferentes.
La clase ListadosBD y ConsultasBD realizan consultas en la base de datos y por lo tanto no es necesario que se
aplique en ellas un control de transacciones.
Es en la clase GlobalBD donde se encuentran las operaciones que al realizarse modificarán el estado de la base
de datos y por lo tanto se debe controlar que no se produzca ningún fallo cuando estas se realicen. Esta capa
se ha implementado mediante JDBC.
Control de transacciones
Para que se realice el control de transacciones se debe crear una conexión que deben compartir todas las
operaciones que se realicen contra la base de datos.
Esta conexión se crea en la capa de negocio pero se realiza a través de el método CrearConexion() de la
clase GlobalBD contenida en la capa de base de datos.
En este método se crea una nueva conexión con el AutoCommit desconectado, (setAutoCommit(false)). Se
debe realizar esta operación para evitar que al finalizar cada operación de BD se produzca un commit, debido
a que el AutoCommit esta activado por defecto para que se realizar al finalizar cada operación. Al desactivar
su modo automático se puede decidir si se desea realizar el commit al finalizar todas las transacciones o si
por el contrario se ha producido un error y se debe realizar el rollback para deshacer todas las transacciones
que se han realizado con esa conexión.
A continuación se presenta como funciona la aplicación obtenida como resultado de la fase de implementación.
Se explicará el funcionamiento de las diferentes funcionalidades del área de piezas como caso base de la
aplicación:
Crear Pieza: Tras seleccionar esta opción en el
menú de área de piezas se presenta el formulario
de creación de pieza. Tras pulsar el botón “CREAR
PIEZA” la aplicación comprueba que se han
rellenado correctamente todos los datos sino se
indica al usuario el campo erróneo y no se pasa a la
siguiente pantalla. Si se rellenan correctamente los
campos aparece la pantalla que indica que la pieza
se ha creado correctamente y los datos con los que
se ha creado en una tabla que no se puede
modificar. En caso de introducir una referencia
existente se muestra una pantalla con el formulario
rellenado con los datos que se han introducido y un
mensaje que indica al usuario el error por el cual no
se ha podido crear la pieza.
Modificar Pieza: Tras seleccionar esta opción
en el menú de área de piezas se presenta un
formulario para que el usuario introduzca la
referencia que desea modificar. Tras pulsar el
botón “MODIFICAR PIEZA” la aplicación
comprueba que se han rellenado
correctamente los datos sino se indica al
usuario el campo erróneo y no se pasa la
siguiente pantalla. Si se ha introducido una
referencia que no existe se pasa a la pantalla
de error y se indica al usuario que la
referencia no existe. Si se introduce una
referencia existente se pasa a una nueva
pantalla con un formulario que contiene los
datos de la pieza para que se modifiquen.
Una vez modificado se pulsa el botón de
“MODIFICAR PIEZA” la aplicación comprueba
que se han rellenado correctamente y se
presenta una pantalla con una tabla en
donde se muestran los nuevos datos de la
pieza.
Consultar Pieza: Tras seleccionar esta
opción en el menú de área de piezas se
presenta un formulario para que el usuario
introduzca la referencia que desea
modificar. Tras pulsar el botón “CONSULTAR
PIEZA” la aplicación comprueba que se han
rellenado correctamente los datos sino se
indica al usuario el campo erróneo y no se
pasa la siguiente pantalla. Si se ha
introducido una referencia que no existe se
pasa a la pantalla de error y se indica al
usuario que la referencia no existe. Si se
introduce una referencia existente se pasa
a una nueva pantalla con un con una tabla
en donde se muestran todos los datos de la
pieza.
Eliminar Pieza: Tras seleccionar esta opción en el menú de área de piezas se presenta un formulario para que el
usuario introduzca la referencia que desea modificar. Tras pulsar el botón “ELIMINAR PIEZA” la aplicación
comprueba que se han rellenado correctamente los datos sino se indica al usuario el campo erróneo y no se pasa la
siguiente pantalla. Si se ha introducido una referencia que no existe se pasa a la pantalla de error y se indica al
usuario que la referencia no existe. Si se introduce una referencia existente se pasa a una nueva pantalla con un con
una tabla en donde se muestran los datos de la pieza que se desea eliminar. Si el usuario pulsa el botón “ELIMINAR
PIEZA” la aplicación elimina la pieza e indica al usuario que la pieza se ha eliminado correctamente y muestra los
datos representativos de la pieza que contenía.
Listar Piezas: Tras seleccionar esta opción en el menú de área de piezas se presenta una tabla con los datos
representativos de cada pieza registrada en la aplicación.