4.1
Diseo e implementacin
Diseo
Hay tres caractersticas que sirven como parmetros generales para la evaluacin de un
buen diseo [McGlaughlin, 1991]. Estos parmetros son los siguientes:
38
Diseo e implementacin
que en esta representacin se establece la estructura modular del software que se
desarrolla, tipo de arquitectura, tipo de conexin entre la aplicacin y el DBMS, el
manejo de reportes, entre otros. La figura 4.1 muestra la arquitectura del sistema.
Diseo de interfaz describe cmo se comunica el software con los sistemas que
operan con l, y con los operadores que lo emplean. En el caso de la herramienta de
software propuesta la comunicacin que se genera con los operadores es a travs de
ambientes grficos que llevan de la mano al usuario para que pueda realizar sus
tareas cotidianas. La comunicacin con otros sistemas, DBMS y Crystal Reports, se
realiza a travs de mecanismos de acceso a base de datos y componentes VCL
(Visual Component Library).
Diseo procedural
Aplicacin
MySQL
Base de datos
4.1 Diseo
39
Qu operaciones ofrecer cada clase y cules seran sus mtodos? Las operaciones
son listadas y eventualmente sus mtodos son especificados.
Cmo sern implementadas las clases con herencia y cmo cambiarn los datos y
las especificaciones de las operaciones?
4.1.1
4.2
Reingeniera
Como ya se menciono la solucin del Grupo Pro esta desarrollada en Excel, sus
componentes grficos son muy pobres y las funcionalidades no son las ms adecuadas para
las actividades de la empresa.
40
Diseo e implementacin
Actualmente los sistemas computacionales, en su mayora, estn diseados con
ventanas y formas que hagan ms fcil su manejo y acceso a las funciones. Normalmente
stas ventanas estn compuestas de un conjunto de componentes grficos, como son los
campos de texto, botones, etiquetas, checklist, entre otros; y que tienen la caracterstica de
que el usuario puede controlarlos con la ayuda del mouse sin excluir al teclado.
Dados estos cambios en el desarrollo y diseo a travs del tiempo, nuestra propuesta
es el desarrollo de un sistema que sustituya la solucin en Excel, haciendo un proceso de
reingeniera de la solucin, usando herramientas actuales y adaptables para los usuarios
finales. Para este fin se ha tomado en cuenta las operaciones bsicas realizadas por la
solucin de Excel, aunque para el nuevo sistema se realiz un nuevo anlisis, haciendo
modificaciones en el manejo de algunas de las
funcionalidades.
4.2 Reingeniera
41
es gil, se genera un nico ejecutable, es flexible, de fcil manejo, por otro lado es una
herramienta RAD (Rapid Application Development). Se debe aclarar que Delphi es una
herramienta de desarrollo, no un lenguaje de programacin; Object Pascal es el lenguaje
que utiliza Delphi, el cual es una evolucin de Pascal.
MySQL
Como manejador de base de datos se emple MySQL, ya que es un sistema gratuito que se
encuentra disponible a travs de Internet; cuenta con lo necesario para poder llevar a cabo
un buen funcionamiento del sistema y es aceptable para los fines del mismo.
Las razones para escoger MySQL como solucin de misin critica para la
administracin de datos son [Gilfillan, 2003]:
Coste: el coste de MySQL es gratuito para la mayor parte de los usos y su servicio
de asistencia resulta econmico
profesionales,
como
compatibilidad
completa
con
ACID,
Crystal Reports
Para el desarrollo de los reportes que se utilizaran en la aplicacin se utiliz el reporteador
Crystal Reports en su versin 10, debido a que es uno de los ms poderosos reporteadores
42
Diseo e implementacin
disponibles con la habilidad de obtener datos de cualquier fuente de datos [Taylor, 2004].
Puede utilizarse Crystal Reports para generar informes de cualquiera de los programas de
base de datos estndares para PC; adems tiene un poderoso servidor de informes Web, que
permite distribuir los reportes a travs del Web [Harvest, 2004].
4.3
Implementacin
Venta
Desplegado
de atributos
Compra
Desplegado
de atributos
Datamodule
Base de datos
Grupo Pro
En cuanto a al interfaz, los mens principales son las categoras de los procesos que
surgieron en el anlisis (compras, ventas, inventario , produccin, administracin del
4.3 Implementacin
43
sistema y catlogos). A su vez cada uno de estos mens principales est dividido en
submens, los cuales especifican las tareas que pueden ser realizadas segn la funcin del
men principal. MainForm es la ventana principal; es donde se encuentra el men desde el
cual se manda a llamar a todas las dems ventanas de los submens Figura 4.3.
Compras
Ventas
Orden de compra
Registro de Compra
Pago a proveedores
Cancelaciones
Cancelacin total/parcial de orden de compra
Notas de crdito
Notas de cargo
Pedido de venta.
Facturas
Pago de clientes
Cancelaciones
Cancelacin total/parcial de pedidos
Cancelacin total de factura
Notas de venta
Notas de crdito
Notas de cargo
44
Diseo e implementacin
Inventarios
Produccin
Administracin
del sistema
Catlogos
Traspasos
Facturacin de traspasos
Movimientos varios
Manejo de frmulas
Alta de frmulas
Baja de frmulas
Modificacin de frmulas
Orden de produccin
Cierre de orden de produccin
Permisos de usuarios
Usuarios
Alta de usuario
Baja de usuario
Modificacin de usuario
Consulta de usuario
Compaas
Alta de compaa
Modificacin de compaa
Consulta de compaa
Almacn
Alta de almacn
Modificacin de almacn
Consulta de almacn
Respaldo
Tipo de cambio
Clientes
Alta de cliente
Baja de cliente
Modificacin de cliente
Consulta de cliente
Proveedores
Alta de proveedor
Baja de proveedor
Modificacin de proveedor
Consulta de proveedor
Vendedores
Alta de vendedor
Baja de vendedor
Modificacin de vendedor
Productos
Alta de producto
Modificacin de producto
Consulta de producto
Familia
Alta de familia
Modificacin de familia
Consulta de familia
Color
Alta de color
Modificacin de color
Consulta de color
Clasificacin
Alta de clasificacin
Modificacin de clasificacin
Consulta de clasificacin
Lnea
4.3 Implementacin
45
Alta de lnea
Modificacin de lnea
Consulta de lnea
Marca
Alta de marca
Modificacin de marca
Consulta de marca
Cabe mencionar que cada submen del men principal es una unidad; donde cada
una de ellas realiza ciertas operaciones dependiendo de la actividad que se desea realizar,
pedido, facturacin, pagos, entre otros.
Delphi utiliza unidades, las cuales tiene una estructura fundamental para su
funcionamiento. Esta estructura se muestra a continuacin [Cant, 2003]:
1. Palabra reservada unit seguida del nombre de la unidad
2. La palabra reservada interface, la cual contina hasta el inicio de la seccin
implementation. En esta seccin se declaran las constantes, tipos, variables,
procedimientos y funciones, las cuales estarn disponibles para los clientes, esto
es, para otras unidades o programas que deseen usar los elementos de esta
seccin. Estas entidades son llamadas pblicas, debido a que un cliente puede
acceder a ellas, como si stas estuvieran declaradas en el mismo cliente. La
declaracin de interfaz de un procedimiento o funcin incluye slo el ttulo de la
rutina. Esta seccin puede incluir su propia clusula uses, la cual debe aparecer
inmediatamente despus de la palabra interface.
3. La clusula uses consiste de la palabra reservada uses, seguida de una o ms
nombres de unidades delimitados por comas, seguidos de un punto y coma (;).
En la mayora de los casos, todas las unidades necesarias son colocadas en la
clusula uses cuando se genera el proyecto y mantiene un archivo de origen.
4. Palabra reservada implementation, la cual contina hasta el inicio de la seccin
initialization o, si no existe esta seccin, hasta el fin de la unidad. Esta seccin
define los procesos y funciones que se han declarado en la seccin interface.
Adicionalmente a la definicin de procesos pblicos y funciones, se pueden
declara constantes, tipos (incluyendo clases), variables, procedimientos, y las
46
Diseo e implementacin
funciones que son privadas, es decir, inaccesibles a los clientes. Adems puede
contener su propia clusula uses, la cul debe aparecer inmediatamente despus
de la palabra implementation.
5. Para hacer comentarios en Delphi se puede hacer de diferentes formas: // para
comentar una lnea y { } para comentar una lnea o un bloque.
Las unidades Datamodule y Rutinas son utilizadas por la mayora de las unidades,
debido a que contienen funciones y procesos necesarios ya sea, para el manejo de la
informacin o, acciones recurrentes, por lo tanto es conveniente mencionar su
funcionamiento.
4.3 Implementacin
47
La unidad Rutinas, cuenta con los procesos y funciones, como formato de moneda,
el cual es requerido para la realizacin de ciertas operaciones comerciales.
Para lograr un mejor entendimiento de las funciones del sistema, la explicacin de los
componentes de estos ser dividida segn las operaciones comerciales que se realizan, y
que podemos dividirlas en los grandes grupos: Compras Ventas, Manejo de Inventario,
Productos, administracin del sistema y los procesos que se modelaron como workflows.
4.3.1
Venta
El proceso de venta que se lleva a cabo en las compaas del Grupo Pro se debe componer
de la siguiente manera.
48
Diseo e implementacin
4.3.1.1 Pedido
Este proceso comprende el listado de los productos que un cliente desea comprar, o bien
ordenar producir. En el pedido se incluyen las claves de los productos y sus cantidades, a
parte de los datos del cliente y un presupuesto aproximado del total.
Los mtodos del objeto Pedido son: alta de pedido, cancelacin total o parcial de
pedido, obtencin de la moneda en la que se presupuest el pedido y clculo del importe
total.
Clculo de
totales
Datos pedido
Guardar datos
del pedido
Pedido surtido
totalmente
Pedido surtido
parcialmente
Pedido surtido
totalmente
4.3.1.2 Factura
Especifica la materializacin de la venta. Se debe mencionar que el proceso de facturacin
se puede realizar de dos formas: (1) La facturacin directa de un pedido; (2) Facturacin de
4.3 Implementacin
49
El objeto Factura contiene los datos generales del cliente, as como los datos
indispensables que permiten la generacin de la factura. Tambin se tiene el objeto
Lnea_Factura, el cul contiene los datos necesarios de los productos vendidos al cliente.
Los mtodos concernientes al objeto Factura son: alta de factura, cancelacin total
de factura, calculo del importe total. Debe verificar la fecha que se indica en la elaboracin
de la factura, pues existe la posibilidad de que sta sea anterior o posterior al da del
movimiento, lo cual conlleva a manejo de autorizaciones. Partiendo de la fecha indicada, se
debe obtener el tipo de cambio que ser aplicado. En caso de que sta provenga de un
pedido, los datos del cliente deben ser obtenidos de ste; si se factura un producto ajeno al
giro comercial de consorcio, los datos pueden ser obtenidos o simplemente ingresados por
el usuario. Linea_Factura puede ser editada y agregada.
Datos factura
Clculo de
totales
Registrar datos
de factura
Datos factura
Guarda
factura
Factura
guardada
Datos producto
Seleccin de
producto
Datos producto
Validacin
Seleccin datos
del pedido
50
Diseo e implementacin
Registrar datos Datos producto
de nota de venta
Validacin
Datos producto
Clculo de
totales
Datos nota de
venta
Guardar datos
nota de venta
Nota de venta
guardada
Seleccin de
productos
Datos producto
Validacin
Datos producto
Clculo de
totales
Datos nota de
cargo
Nota de cargo
guardada
Guardar datos
nota de cargo
Contiene los mtodos: alta, obtencin de la factura asociada y sus datos, calculo de
las diferencias y totales. Linea_NotaCargo obtiene los datos de Linea_Factura de la factura
asociada y el clculo de los importes por lnea.
Contiene los mtodos: alta, obtencin de la factura asociada y sus datos, clculo de
las diferencias y totales. Linea_NotaCrdito obtiene los datos de Linea_Factura de la
factura asociada y el clculo de los importes por lnea.
4.3 Implementacin
Seleccionar
nmero de
factura
51
Seleccin de
productos
Datos producto
Validacin
Datos producto
Clculo de
totales
Datos nota de
crdito
Nota de crdito
guardada
Guardar datos
nota de crdito
4.3.1.6 Cliente
Son las personas a las cuales el consorcio realiza la venta de productos, contiene atributos
para la identificacin y manejo de los mismos. Este objeto est asociado a los objetos de
Venta. Tiene los mtodos principales alta, baja, modificacin, consulta y pagos. Estos
ltimos se efectan sobre las notas de venta y facturas, y pueden estar afectados por las
Notas de Cargo y Crdito respectivas. Adems existen mtodos auxiliares como:
verificacin de saldos y de RFC.
4.3.1.7 Vendedor
Es la persona asignada a la atencin de cliente, cada cliente tiene asignado un nico
vendedor. Para el momento de desarrollo de este proyecto el manejo de la informacin de
los vendedores no es de gran relevancia, pero servir de base para el desarrollo posterior del
proceso de clculo de comisiones.
4.3.2
Compra
El proceso de compra que se lleva a cabo en las compaas del Grupo Pro se debe
componer de la siguiente manera.
52
Diseo e implementacin
4.3.2.3 Proveedor
Son mas personas o empresas a las cuales se les solicitan productos y materias primas. Este
objeto contiene atributos para la identificacin y manejo de los proveedores; por su parte
estos estn asociados a los objetos involucrados en las compras. Sus mtodos principales
son alta, baja, modificacin, consulta y pagos. Los pagos se efectan una vez que han sido
registrados los productos, las cantidades a pagar se ven afectadas por las notas de crdito y
cargo respectivas. Por otro lado existen mtodos secundarios como: verificacin de saldos y
de RFC.
4.3.3
Inventario
4.3 Implementacin
53
4.3.4 Producto
Contiene los atributos correspondientes a los productos que son manejados por el
consorcio. Tiene los mtodos alta, modificacin, consulta, verificacin de contratipos,
verificacin de caractersticas, orden y cierre de produccin, as como el alta, baja,
modificacin y consulta de frmulas.
4.3.5
4.3.5.1 Usuario
Son las personas que manejarn la aplicacin, cuenta con los atributos necesarios para su
identificacin, asignacin y restriccin en el uso de los diferentes procesos. Tiene los
mtodos alta, baja, modificacin, consulta y verificacin de permisos. El mtodo
verificacin de permisos funciona utilizando algebra booleana, pues sta permite el fcil
encendido y apagado de los permisos. La operacin AND permite la activacin de los
procesos; la operacin OR nos ayuda a armar un nmero decimal que es tratado como
binario, el cual indica que permisos tiene disponibles el usuario.
4.3.5.2 Almacn
Contiene la descripcin de los almacenes disponibles. Tiene los mtodos alta, modificacin
y consulta.
54
Diseo e implementacin
4.3.5.3 Compaa
Contiene los datos referentes a las compaas que conforman el consorcio. Tiene los
mtodos: alta, modificacin y consulta.
4.3.6
Implementacin de workflows
4.3 Implementacin
55
Las 4 primeras tareas pueden realizarse de manera paralela. Al tener los resultados
de todas ellas, se procede a las ltimas 2 de manera secuencial.
Solicitud de
Solicitud de
verificacin de
verificacin de
existencia de
existencia de
producto
producto
Verificar
solicitud
Procedimiento
de verificacin de
existencia de
producto
Verificacin
realizada
Inicio del
da
56
Diseo e implementacin
El control del crdito en los pagos de las facturas se efecta de la siguiente manera:
1. Se deben obtener las facturas (o registros de compras) que no han sido saldadas en
su totalidad.
2. Se verifica el tipo de crdito que tienen los clientes relacionados a las facturas
obtenidas de la tarea anterior.
3. Se calculan los das transcurridos desde la realizacin de la factura hasta la fecha en
la que se ejecuta el proceso.
4. Se comparan los das de crdito asignados con los das transcurridos.
5. Se presenta un reporte de las facturas (o registros de compras) a las que les restan 3
das de crdito y todas aquellas que ya son vencidas.
Validacin
Saldo
calculado
Calculo de
saldo de
factura
de pago
Rectificar pago
Pago excede
saldo
Actualiza saldo
Pago no excede
saldo
Factura saldada
Factura con
pagos pendientes
56
Diseo e implementacin