Primeros pasos en la construccion de nuestro ERP

lunes, 3 de agosto de 2009
A.- Analisis Inicial

Iniciando


Primeramente vamos a definir algunas cosas de nuestro ERP, no queremos que sea muy grande, un sistema gigantesco que no podamos abarcar, hay que delimitarlo , para que podamos construirlo en un tiempo relativamente corto, yo he tomado la decision de dividirlo en modulos, en subsistemas e ir abordandolos uno a uno

Mis modulos serian :

Clientes.-el directorio de clientes ya sean empresas o personas
Ventas - la parte de facturacion, cotizacion, notas, pedidos, el que sabe de los precios de los productos en el inventario
Inventario - el catalogo de productos , la ubicacion,las existencias su costo, el que registra las llegadas y salidas de productos y la razon del movimiento

Administacion - la entenderemos como la administracion del sistema, el registro de usuarios y la entrada a los diferentes subsistemas

dejaremos fuera modulos como Compras ,Contabilidad, Costos y otros que no me acuerdo

Dibujaremos este sistema en un diagrama simple DFD o diagrama de flujo de datos en el software GPL Dia

Diagrama para el nivel cero



Este nivel no sirve de mucho, basicamente es el sistema y todo lo que interactua con el , aqui lo hicimos muy simple , los usuarios y los dispositivos fisicos como la impresora como entidades externas, pudieramos poner tal vez scanners entre otras cosas

Diagrama para el nivel uno




Este nos es mas util podemos ver los subsistemas y si hay interaccion entre estos, por ejemplo el de ventas tiene que interactuar con el de inventario para mover las existencias, el de ventas con el de clientes y el de administracion para dar entrada al subsistema que le corresponda a cada usuario, ademas podemos ver como podrian ir las tablas de informacion , las que podria utilizar el software

Estos diagramas son muy utiles para las presentaciones iniciales, hay que hacer notar que estos no explican como se hacen los procesos , solo los marcan, y la direccion que toma la informacion o las peticiones, por ejemplo solo existe una direccion en la impresion , la impresora es solo salida de informacion

Estos diagramas se pueden explicar en las presentaciones y corregir en estas, en mi opinion no tienen que salir a la primera, y tampoco debemos ser muy rigidos en su elaboracion, esto es no tenemos porque obedecer rigidamente los estandares DFD, recordemos que estos diagramas iniciales son por su naturaleza INFORMALES

B.- Sobre la planeacion

Aunque podemos ir haciendo mas profundos los niveles , terminaremos por ahora con esta fase y tomaremos algunas decisiones de planeacion, yo he decidido empezar basicamente con el modulo de clientes, aunque tal vez en un negocio real el de ventas o el inventario pudieran ser mas importantes, para mi el de clientes es el mas facil de analizar, diseñar, codificar en un tiempo corto , basicamente para que ya vayamos teniendo un modulo para entregar utilizable

Empezare con el modulo de clientes para seguirle con el de inventario, luego el de ventas, y al final el envoltorio de administracion, cada modulo seguira todas las fases del metodo de cascada

En fases seria:

1.-Modulo Clientes
2.-Modulo Inventario
3.-Modulo Ventas
4.-Modulo Administracion

C.- Sobre la Plataforma de desarrollo

Aqui tomaremos algunas decisiones de desarrollo, que base de datos vamos a utilizar, que lenguaje, que entorno de desarrollo,aunque en el software libre de linuxeros, se decantan por usar entornos muy simples y elaborar los programas a punta de teclear todo el codigo, para nuestro objetivo de que el programador novato pueda facilmente hacer ediciones , crear nuevos formularios sin tener que saber intrincadas maneras de recompilar el codigo trataremos de elegir algo mas sencillo

Tenemos entornos de desarrollo libres y comerciales, la mayoria de los que son faciles de usar son para Windows , tales como Visual C++, Visual C# , Turbo C ++ Explorer (del famoso borland), los hay con versiones express y se puede desarrollar en ellos, luego tenemos los que usan Java que en su mayoria tienen versiones libres, netbeans , eclipse etc.

Luego tenemos los autenticamente GPL ,como devcpp, anjunta, lazarus , entre otros

Aunque en primera instancia pudieramos elegir alguno basado en Java o Net, perderiamos un poco nuestro objetivo de hacer algo facil, de hacer algo libre y que no requiera un monton de requisitos solo para compilar

Ademas el cliente , el cliente final realmente no es fanatico, no le interesa si esta programado en el lenguaje mas moderno , eso lo tiene sin cuidado, razon del exito de los programas de caja, que tecnicamente hablando no son muy buenos, pero que cumplen bien requisitos como facilidad de instalacion, de uso etc., aunque no son muy robustos

Mi primera eleccion fue Delphi o C++ Builder en sus versiones Turbo que son gratuitas, sin embargo nomas funcionarian en windows y son realmente dificiles de instalar

Asi que he elegido un entorno de desarrollo que ya lleva varios años en desarrollo es libre, esta tanto para windows como para linux y se llama lazarus es un clon de delphi y utiliza un lenguaje parecido al object pascal de delphi, es facil hacer formularios y programar botones, ademas de hacer conexiones con bases de datos, nos da programas ejecutables , no semi ejecutables como si utilizaramos netbeans o java, podemos suponer que lo desarrollado en Lazarus pudiera pasarse a DELPHI (por lo menos casi todo en un futuro si se desea)

Ademas como nuestro proyecto es de un software que corra por si solo que no requiera un explorador y que no va usarse en internet ni por una cantidad enorme de usuarios hemos elegido este

Para la base de datos hemos elegido MySQL , que es libre, es mas robusta que paradox o access o cualquier base de datos de escritorio, MySQL es una base de datos realmente de RED e integra las capacidades de una base de datos SQL, como triggers, indices, etc. , muy rapida y muy usada en redes como el internet, ademas tenemos el potente paquete para hacer diagramas entidad relacion MySQL Workbench y fabforce , dejamos fuera postgres y firebird por no poseer una herramienta grafica tan buena

asi que hemos elegido las plataformas siguientes

1.-Lazarus como entorno y plataforma de desarrollo
2.-MySQL y MySQL Workbench

3.-ArgoUML para hacer diagramas de los sistemas













4 comentarios:

De aqui y de allá dijo...

Hola:
Estoy desarrollando un sistema, e intento identificar los diferentes elementos del mismo. Para ello quiero realizar un DFD. Me surgen algunas dudas, haber si me puedes ayudar.
En los DFD que realizas, tienes los procesos de Clientes, Ventas, etc. Otro proceso análogo sería Proveedores, ahora bien, si el sistema ha de guardar los datos de las empresas de transporte que transportan los productos comprados o pedidos a los proveedores, ese "transporte" sería un nuevo proceso, o sería mejor incluirlo dentro de proveedores.
Del mismo modo, si esos transportes van de acuerdo a una ruta periodica especifica, con su codigo de ruta, horas, etc, ahi también habría otro proceso llamado rutas, por ejemplo?
Gracias, un saludo.

Anónimo dijo...

Buenas noches, tengo una inquietud, un SISTEMA DE INFORMACION GERENCIAL como un ERP se puede diseñar desde el punto de vista TECNICO basandoce en "Microsoft ACCESSS", que potencial de exito, viabilidad tendria?? muchas gracias por la att.

Anónimo dijo...

Estudio Administración y Sistemas y te recomendaría por experiencia propia que no utilices access ya que es muy volátil.

Anónimo dijo...

Una consulta: derrepente alguien tiene los pasos a seguir para desarrollar un ERP hechos en tareas y subtareas en Microsoft Poject 2010 o en Gantter estoy haciendo una tesis y me ayudaría de mucho una plantilla en la cual poder basarme. Si podrían ayudarme compartanmelo por favor a mi cuenta de google Drive: jose.paiva.franco@gmail.com se los agradecería mucho ser´´ian bien recompensados.

Publicar un comentario