reporte itza
TRANSCRIPT
PORTADA
MIGRACIÓN DE PLATAFORMA DEL PROGRAMA DE
NÓMINA A VISUAL BASIC .NET
Por
José Filiberto Itzá Hernández
I.M.E. Jossie Lenin Baeza Peñaloza
Profesor de Tiempo Completo
I.S.C. Ángel Alberto Itzá Can
Encargado del Área de Informática
Reporte Técnico de Estadía presentado en la Universidad Tecnológica
Regional del Sur para obtener el título de TÉCNICO SUPERIOR
UNIVERSITARIO EN TECNOLÓGIAS DE LA INFORMACIÓN Y
COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS.
Tekax de Álvaro Obregón, Yucatán, Septiembre de 2007
i
CARTA DE LIBERACION
i
HOJA DE APROBACIÓN DEL REPORTE TÉCNICO DE ESTADÍA
AGRADECIMIENTOS
Quisiera dar las gracias a todas las personas que están cerca de mí y
que me ayudaron para llegar hasta este lugar; debo darle las gracias al
único ser que ha sido quien me ha puesto donde estoy, Aquel que sin
darme cuenta me ha estado conmigo, que hace que todo sea posible en
este mundo, este ser es Dios.
A mis padres, por haberme brindado su atención y la comprensión que
necesitaba; por todas esas mañanas que se levantaban para estar
pendientes que me fuera bien en la escuela.
Igual a las personas que me ofrecieron su apoyo sin esperar nada a
cambio: mis maestros, hermanos, amigos, familiares, hasta compañeros
de mi trabajo; los maestros que pusieron su empeño y nos dieron la
enseñanza diaria aunque algunos de nosotros simulábamos no hacerles
caso a lo que decían, sin embargo entendíamos la gran mayoría de las
cosas que nos decían.
iv
RESUMEN
El proyecto consistió en migrar el programa de Nómina desarrollado
en Visual Basic 6.0, hecho en la misma empresa, que es un programa
diseñado para hacer procedimientos relacionados con empresas, tales
como prima vacacional, cálculo del finiquito, prestaciones a los empleados,
etc., a la plataforma .Net.
Los resultados obtenidos al final del proyecto no fueron los esperados,
por parte de algunos compañeros de trabajo de la empresa, las
aplicaciones no fueron las exactas, por faltar de algunas variables y/o
algunos métodos o funciones, por esta razón se decidió proceder a un
mantenimiento correctivo del sistema.
El programa no se terminó de una manera correcta debido a que no se
hicieron los planes correctamente, debió haberse planteado una fecha
límite por concluir, y delimitar hasta donde abarcaría el programa. La
consecuencia de esto fue tener un programa sin una consistencia tal que
fuera capaz de realizar todo sus funciones correctamente, sin embargo es
un programa con el que si se puede trabajar con los procedimientos
sencillos. Cuando se trata de los métodos que se plantearon están: el
desarrollo de un nuevo sistema, modificación del programa anterior o más
v
bien el cambio de plataforma, Sin embargo se tiene en cuenta que no lleva
el mismo tiempo.
Los métodos utilizados en el desarrollo del programa tienen mucho
que ver beneficio que esta nos traerá y los resultados que se obtengan
ÍNDICE
PORTADA (i)
CARTA DE LIBERACION (ii)
HOJA DE APROBACIÓN DEL REPORTE TÉCNICO DE ESTADÍA (iii)
AGRADECIMIENTOS (iv)
RESUMEN (v)
ÍNDICE (vi)
I. INTRODUCCIÓN (1)
1.1. Contexto del trabajo (1)
1.2. Análisis de situación empresarial (4)
1.3. Objetivos del trabajo (4)
1.4. Justificación del trabajo (4)
1.5 Alternativas de solución (5)
II. FUNDAMENTO TEÓRICO (7)
2.1. Plataforma .NET (7)
2.2. Visual Studio .NET (8)
vi
2.3. DB OLE (8)
2.4. Visual Basic (9)
2.4.1. Características generales (10)
2.4.2. Aplicaciones (11)
2.4.3. Versiones (11)
2.4.4. Ventajas (13)
2.4.5. Inconvenientes (13)
2.4.6. Entornos de desarrollo )15)
2.5. Microsoft Access 2000 (15)
2.5.1. Características (16)
2.5.2. Generalidades (16)
2.5.3. Inconvenientes (17)
2.6. NomiPAQ 2001 (17)
2.6.1. Módulos principales del sistema (18)
2.6.2. Principales características (18)
2.6.3. Funciones (19)
2.7. Seagate Cristal Reports 8 (20)
2.7.1. Propósito (20)
III. DESCRIPCIÓN DEL TRABAJO (21)
IV. CONCLUSIONES (24)
REFERENCIAS (25)
ANEXOS (26)
vii
viii
I. INTRODUCCIÓN
En la actualidad las empresas tienen la necesidad de dictaminar
correcta y de manera sencilla su información, por esta razón que las
empresas, crea sus diferentes métodos, tácticas y procedimientos para su
procesamiento. El despacho de contadores públicos González, Alonzo y
Asociados S.C.P., tiene un plan para crear un departamento de informática,
donde se desarrollarían todos los programas y aplicaciones para el área
contable. Estos sistemas ayudarán a elaborar las diferentes tareas de
contabilidad, como las auditorias, ajustes, reclasificaciones, etc.
Es por eso que se están desarrollando dos programas: el de
auditoria y el de nómina.
El propósito del programa es contribuir en el desarrollo del trabajo de
los contadores del despacho González Alonzo y Asociados, S.C.P., así como
de otras asociaciones de contadores y privados ya que el programa
desarrollado se pretende poner en venta a otras empresas.
1.1. Contexto del trabajo
El despacho González Alonzo y Asociados S.C.P., fue fundado el 9 de
noviembre de 1993, ubicado en la Calle 63 No. 667-A X 12 y 14, Col. Emilio
Portes Gil, Mérida, Yucatán, por el C.P.C. Alberto René González Escalante,
egresado de la Facultad de Contaduría y Administración de la Universidad
1
Autónoma de Yucatán en el año de 1989. Y la C.P.C. María de los Ángeles
Alonzo Peraza, egresada de la Facultad de Contaduría y Administración de
la misma universidad en el año de 1990. El despacho se encuentra dentro
del sector servicios bajo el régimen de persona moral. El despacho inicia
ofreciendo sus servicios en el área de auditoria (financiera y con dictamen
fiscal para SHCP, IMSS. e INFONAVIT), asesoría fiscal, financiera y contable,
a clientes locales y posteriormente adquiere clientes en los estados de
Campeche y Quintana Roo.
Entre sus principales clientes están algunas empresas en el ramo
farmacéutico, en la ciudad de Cancún, Quintana Roo; en el sector
pesquero, en la captura y procesamiento de camarón, en Ciudad del
Carmen, Campeche; en el ramo ferretero y aluminiero, en la ciudad de
Mérida, Yucatán; en el sector de construcciones y en el ramo refaccionario
automotriz, en la ciudad de Mérida, Yucatán. Auditoria financiera a
organismos descentralizados de nivel estatal y federal, entre otros
clientes.
En 1995 se realiza una ampliación de las oficinas del despacho, el
objetivo primordial de dicha ampliación es para dar lugar a un espacio
exclusivamente para el servicio de contabilidad. En 1996 debido a la
ampliación ya se designa un departamento para auditoria.
Las principales fuentes de ingreso del despacho en este tiempo se
enfocaban principalmente a los servicios de contabilidad y asesoría fiscal.
2
A partir de 1997 se consolidan las auditorias. Y en el año 2000 se abre una
oficina en Cancún, Quintana Roo q a cargo de una sola persona.
En el año de 1998 adquiere un cliente en la ciudad de Ensenada, Baja
California Norte. Y a partir del 2001 el despacho consolida sus principales
fuentes de ingreso de la siguiente manera: 30% por contabilidad, 10% por
asesoría financiera, 10% por asesoría fiscal, 50% por auditoria.
Que viene siendo así, que las auditorias son la principal fuente de
ingreso, y a fines del 2004 se realiza una segunda ampliación del despacho
dando lugar a la planta alta del edificio donde se traslada el departamento
de auditoria que hasta la actualidad radica allí, la construcción de la planta
alta cuenta con instalaciones más amplias de las áreas de archivos y
baños.
En el año 2004 la consolidación del despacho se presenta de la
siguiente manera: 20% por contabilidad, 10% por asesoría financiera, 10%
por asesoría fiscal, 60% por auditoria. Actualmente el despacho realiza
treinta auditorias al año.
Con respecto al personal, actualmente el despacho cuenta con cuatro
contadores titulares, dos contadores pasantes, un técnico en contabilidad,
dos asociados en el área de mercadotecnia y administración y diez
auxiliares de los cuales todos son estudiantes. Cabe mencionar que la
firma del contador Alberto González cuenta con 17 años de experiencia ya
que él empezó ofreciendo sus servicios como contador a partir del año de
1990.
3
Por otra parte, el asesor empresarial que dirigió el proyecto es el
Ingeniero en Sistemas Computacionales Ángel Alberto Itzá Can encargado
del área de informática, quien desarrolla el software para la empresa.
4
1.2. Análisis de situación empresarial
El Despacho González Alonzo y Asociados, S.C.P, necesitaba una
herramienta actualizada para hacer su trabajo más eficiente y rápido,
entre aquellas herramientas que necesita están los programas de Nómina
y el de auditoria que son los más importantes y necesarios hasta el
momento. Se tenían dichos programas pero en versiones antiguas y como
la informática avanza, se requería actualizar a las nuevas versiones, con la
plataforma que hoy en día está en surgimiento.
1.3. Objetivos del trabajo
EL objetivo del trabajo es la migración del sistema que debe tener
todas las características que se necesitan y procurar cuidar todos los
pequeños detalles que incluirán en el programa, la manera mas fácil es ir
leyendo e interpretando el código fuente del programa anterior mientras
se codifica el nuevo para verificar donde se podría reducir la cantidad de
líneas de código, de igual manera que se traten de eliminar las partes que
no eran necesarias para encontrar los errores que este tuvo.
1.4. Justificación del trabajo
En un principio el despacho González Alonzo y Asociados, S.C.P. tenía
únicamente trabajos de contabilidad, su trabajo fue aumentando conforme
iba creciendo hasta tener trabajos de auditorias, dando consigo la
necesidad de tener programas especializados o enfocados en la auditoria y
la contabilidad.
5
En primera instancia se empezaron a comprar programas, pero no
eran exactamente lo que se necesitaba, además eran complejos, por lo
que se optó por contratar personal capacitado, con conocimientos del área
de programación. Es muy importante, ya que se redujo el gasto de en la
compra de programas.
Este sistema es para todas las personas que tienen conocimientos de
contabilidad ya que trabajarán con ellos; desde el momento en el que los
contadores vieron la necesidad de tener programas apropiados para su
trabajo se planteó la necesidad de un sistema para que el personal sea
capaz de crear su propia forma de trabajar acorde a su ambiente laboral.
1.5 Alternativas de solución
Para realizar el proyecto se tomaron en cuenta algunas opciones
teniendo presente sus ventajas y desventajas, procurando tomar la mejor
de ellas a partir del sistema que se tenía anteriormente. Entre las opciones
estaban las de hacer un programa totalmente nuevo, teniendo como base
la estructura y procesos del programa anterior, se pensaba añadir más
módulos, para que esté un poco más completo, eso implicaría empezar
desde cero, trayendo consecuencias como más tiempo en su desarrollo; la
ventaja sería que se desarrollaría tal y como se quiere. La otra opción fue
modificar el código fuente y el diseño del sistema anterior, añadiendo
nuevos módulos, basándose del programa Nomipaq, uno los convenientes
es que tendría casi el mismo interfaz como la versión anterior pero los
usuarios se acoplarían mas rápido al programa porque ya habrán tenido
6
experiencia con la versión anterior. Aunque una de sus desventajas es que
se tenía que tomar en cuenta como es la estructura del código fuente, eso
incluye los módulos, clases, métodos, funciones, secuencias SQL, etc.,
inclusive hasta la lógica de programación que tiene el programador que
desarrolló el programa. Al final se tomó la segunda opción, la de retomar el
sistema anterior y modificarlo para así crear una nueva versión; se tomó
ésta porque urgía tener el programa y se tenía muy poco tiempo, el tiempo
que se había contemplado estaba expirando.
7
II. FUNDAMENTO TEÓRICO
Aquí se presentan las bases y fundamentos para el mejor
entendimiento del contenido, en este apartado se explican y relatan los
términos usados así como las herramientas usadas para la realización del
proyecto, en las que se apoya el proyecto solucionar el problema
planteado anteriormente.
2.1. Plataforma .NET
La plataforma .NET proporciona la base de la siguiente generación de
software que permite conectar sistemas, información, dispositivos y
usuarios distintos de un modo más unificado y personalizado. Incorpora
servicios Web XML como el medio para permitir la interoperabilidad entre
tecnologías diferentes. Proporciona a los desarrolladores de software las
herramientas y la tecnología para crear rápida y eficazmente soluciones de
negocios que abarcan múltiples aplicaciones y múltiples dispositivos
cliente entre diversas organizaciones. Permite a los usuarios controlar qué
información y cómo y cuándo se les entrega.
La plataforma .NET incluye una completa familia de productos
creados para trabajar con los estándares de XML e Internet. Estos
productos incluyen los siguientes componentes que trabajan con
soluciones basadas en XML: Herramientas para desarrollar soluciones,
8
servidores para gestionar, crear e implantar soluciones, servicios para
integrar, conectar y reutilizar soluciones, clientes hardware y software para
proporcionar experiencias sin precedentes a los usuarios.
2.2. Visual Studio .NET
Visual Studio .NET es un entorno de desarrollo integrado que ayuda a
diseñar, desarrollar, depurar e implantar con rapidez soluciones basadas
en el .NET Framework. Se puede acceder a un conjunto común de
herramientas, diseñadores y editores desde cualquiera de los lenguajes de
programación de Visual Studio .NET. Se puede crear aplicaciones Windows
Forms y Web Forms que integren datos y lógica de negocios.
2.3. DB OLE
El DB OLE es un API (Interfaz de programación de aplicaciones)
diseñado por Microsoft para tener acceso a diversos tipos de almacenes de
los datos de una manera uniforme. Es un sistema de interfaces puestos en
ejecución usando el modelo componente del objeto (COM); está de otra sin
relación a OLE. Fue diseñado como un reemplazo de alto nivel sucesor de
ODBC, ampliando su sistema de la característica para apoyar una variedad
más amplia de bases de datos no emparentadas, tales como bases de
datos del objeto y hojas de balance que no ponen necesariamente el SQL
en ejecución.
El DB OLE separa el almacén de los datos del uso que necesita el
acceso a él a través de un sistema de las abstracciones que incluyen el
9
datasource, la sesión, el comando y los rowsets. Esto fue hecho porque
diversos usos necesitan el acceso a los diversos tipos y fuentes de datos y
no se desea necesariamente tener acceso a funcionalidades con métodos
de tecnología específicos. El DB OLE se divide conceptualmente en
consumidores y abastecedores. Los consumidores son los usos que
necesitan el acceso a los datos, y el abastecedor es el componente de
software que pone el interfaz en ejecución y por lo tanto proporciona los
datos al consumidor.
El DB OLE es parte del apilado de los componentes del acceso de los
datos de Microsoft (MDAC). MDAC es un grupo de tecnologías de Microsoft
que interactúa junto que no prohíba a programadores una manera similar y
comprensiva de desarrollar los usos para tener el acceso a casi cualquier
tipo de dato. Los proveedores OLE del DB se pueden crear para tener
acceso archivos simples de los datos como un archivo de texto y una hoja
de Excel, a través de las bases de datos complejas tales como Oracle,
servidor del SQL y Sybase ASE.
2.4. Visual Basic
Es un lenguaje de programación desarrollado por Alan Cooper para
Microsoft. El lenguaje de programación es un dialecto de BASIC, con
importantes añadidos. Su primera versión fue presentada en 1991 con la
intención de simplificar la programación utilizando un ambiente de
desarrollo completamente gráfico que facilitara la creación de interfaces
gráficas y en cierta medida también la programación misma. Visual Basic
10
fue discontinuado por Microsoft hace ya varios años. Muchos
programadores están migrando a Real Basic o hacia Delphi que es un
entorno de desarrollo más avanzado y mucho más actual. Microsoft
abandono el desarrollo en Win32 y pasar al Visual Basic.NET que presenta
serias incompatibilidades con el código Visual Basic existente.
2.4.1. Características generales
Es un lenguaje de fácil aprendizaje pensado tanto para programadores
principiantes como expertos, guiado por eventos, y centrado en un motor
de formularios que facilita el rápido desarrollo de aplicaciones gráficas. Su
sintaxis, derivada del antiguo BASIC, ha sido ampliada con el tiempo al
agregarse las características típicas de los lenguajes estructurados
modernos. Se ha agregado una implementación limitada de la
programación orientada a objetos (los propios formularios y controles son
objetos), aunque sí admite el polimorfismo mediante el uso de los
interfaces, no admite la herencia. No requiere de manejo de punteros y
posee un manejo muy sencillo de cadenas de caracteres. Posee varias
bibliotecas para manejo de bases de datos, pudiendo conectar con
cualquier base de datos a través de ODBC (Informix, DBase, Access,
MySQL, SQL Server, PostgreSQL, etc.) a través de ADO.
Es utilizado principalmente para aplicaciones de gestión de empresas,
debido a la rapidez con la que puede hacerse un programa que utilice una
base de datos sencilla, además de la abundancia de programadores en
este lenguaje.
11
El compilador de Microsoft genera ejecutables que requieren una DLL
para que funcionen, en algunos casos llamada MSVBVMxy.DLL (acrónimo
de "MicroSoft Visual Basic Virtual Machine x.y", siendo x.y la versión) y en
otros VBRUNXXX.DLL ("Visual Basic Runtime X.XX"), que provee todas las
funciones implementadas en el lenguaje. Además existen un gran número
de bibliotecas (DLL) que facilitan el acceso a muchas funciones del sistema
operativo y la integración con otras aplicaciones. Sin embargo esto sólo es
una limitación en sistemas obsoletos, ya que las bibliotecas necesarias
para ejecutar programas en Visual Basic vienen de serie en todas las
versiones de Windows desde Windows 2000.
2.4.2. Aplicaciones
Permite codificar módulos (a veces llamados macros) para las
aplicaciones de Microsoft Office. Especialmente a partir de la versión 6 del
lenguaje, se permite la interacción y generación de objetos remotos que
puedan ser invocados desde páginas de scripts (concretamente las ASP,
aunque no es imposible hacer un enlace empleando JSP), alojándolos en
servidores de Web.
Visual Basic.NET, parte de .NET, es un lenguaje prácticamente
equivalente en funcionalidades a C# (por ejemplo, no admite pseudo-
punteros), añadiendo capacidades de POO como herencia, polimorfismo,
etc.
12
2.4.3. Versiones
Las versiones de Visual Basic para Windows son muy conocidas, pero
existe una versión de Microsoft Visual Basic 1.0 para MS-DOS (ediciones
Profesional y Estándar) menos difundida y que data de 1992. Era un
entorno que, aunque en modo texto, incluía un diseñador de formularios
en el que se podían arrastrar y soltar distintos controles.
La última versión sólo para 16 bits, la 3.0, incluía ya una detallada
biblioteca de componentes para toda clase de usos. Durante la transición
de Windows 3.11 a Windows 95, apareció la versión 4.0, que podía generar
programas de 16 y 32 bits a partir de un mismo código fuente, a costa de
un gran aumento en el tamaño de los archivos "runtime" necesarios.
Además, se sustituyen los controles VBX por los nuevos OCX. Con la
versión 5.0, se implementó por primera vez la posibilidad de compilar a
código nativo, obteniendo una mejora de rendimiento considerable. Tanto
ésta como la posterior 6.0 soportaban características propias de los
lenguajes orientados a objetos, aunque careciendo de algunos ítems
importantes como la herencia, el polimorfismo y la sobrecarga. La versión
6.0 continúa utilizándose masivamente.
Las versiones actuales de Visual Basic se basan en la plataforma .NET,
la versión 7 del lenguaje fue implementada por Microsoft en el programa
Visual Basic .NET mientras que la versión 8 fue implementada en el
programa Visual Basic 2005. Ambas versiones tienen muchas de las
características del lenguaje original tienen numerosas diferencias que los
13
hacen incompatibles. En muchos casos para portar un código escrito en
Visual Basic 6 a Visual Basic .Net se hace necesario reescribir parte del
código. La nueva versión del lenguaje es mayormente equivalente a C#
aunque presenta algunas diferencias. Por eso hay un debate sobre la
validez de esta nueva versión del lenguaje y sus ventajas y desventajas
sobre C#.
2.4.4. Ventajas
La facilidad del lenguaje permite crear aplicaciones para Windows en
muy poco tiempo. En otras palabras, permite un desarrollo eficaz y menor
inversión en tiempo que con otros lenguajes.
Permite generar librerías dinámicas (DLL) ActiveX de forma nativa y
Win32 (no ActiveX, sin interfaz COM) mediante una reconfiguración de su
enlazador en el proceso de compilación.
Permite la utilización de formularios (Forms) tanto a partir de recursos
(como en otros lenguajes) como utilizando un IDE para diseñarlos.
Posibilidad de desarrollar y ejecutar aplicaciones de Visual Basic 6.0
en Windows Vista sin realizar cambios en la mayoría de los casos pero no
se logra aprovechar al máximo las características de este sistema como
permite hacerlo Visual Basic 2005 o el próximo Visual Basic 9 de Visual
Studio Orcas (Noviembre 2007).
14
2.4.5. Inconvenientes
Es software propietario por parte de Microsoft, por tanto nadie que no
sea del equipo de desarrollo de esta compañía decide la evolución del
lenguaje.
En Visual Basic 6.0 y anteriores sólo existe un compilador e IDE,
llamado igual que el lenguaje. No existe forma alguna de exportar el
código a otras plataformas fuera de Windows. Los ejecutables generados
son relativamente lentos en Visual Basic 6.0 y anteriores al ser código
pseudo-interpretado.
Por defecto permite la programación sin declaración de variables.
(Que puede ser sencillamente corregida escribiendo la frase Option Explicit
en el encabezado de cada formulario, en cuyo caso será menester declarar
todas las variables a utilizar, lo que a la postre genera código más puro).
Su sintaxis no es case sensitive (no distingue entre minúsculas y
mayúsculas como C++ por ejemplo). NO permite programación a bajo
nivel ni incrustar secciones de código en ASM.
Sólo permite el uso de funciones de librerías dinámicas (DLL) stdcall.
Fuerte dependencia de librerías y componentes en las versiones 6.0 y
anteriores, lo que dificultaba la distribución de los desarrollos entre
máquinas.
Algunas funciones están indocumentadas.
La escasa implementación de POO en Visual Basic 6.0 y anteriores no
permite sacar el máximo provecho de este modelo de programación.
15
NO soporta tratamiento de procesos como parte del lenguaje.
El manejo de errores que tiene mediante la orden on error no sigue los
patrones estructurados. No incluye operadores de desplazamiento de bits
como parte del lenguaje. No permite el manejo de memoria dinámica,
punteros, etc., como parte del lenguaje. No avisa de ciertos errores o
advertencias (se puede configurar el compilador para generar ejecutables
sin los controladores de desbordamiento de enteros o las comprobaciones
de límites en matrices entre otros, dejando así más de la mano del
programador la tarea de controlar dichos errores). El tratamiento de
mensajes de Windows es básico e indirecto. La gran gama de controles
incorporados son, sin embargo en algunos casos, muy generales, lo que
lleva a tener que reprogramar nuevos controles para una necesidad
concreta de la aplicación. Esto cambia radicalmente en Visual Basic .NET
donde es posible reprogramar y mejorar o reutilizar los controles
existentes.
Los controles personalizados no mejoran la potencia de la API de
Windows, y en determinados casos acudir a ésta será el único modo de
conseguir el control personalizado deseado.
Su periodo de soporte técnico lo determina Microsoft. En el caso de
Visual Basic 6.0 su soporte extendido dura hasta el 04 de Abril de 2008.
2.4.6. Entornos de desarrollo
Existen dos entornos de desarrollo IDE para Visual Basic: el Microsoft
Visual Basic x.0 para versiones desde la 1.0 hasta la 6.0, hasta la 3.0 y las
16
de la 4.0 hasta la 6.0 y el Microsoft Visual Studio .NET, entorno integrado
para varios lenguajes entre ellos Visual Basic .NET con edición standard y
profesional (más completa en herramientas pero con licencia comercial) y
edición express (más limitada en herramientas pero gratuita), ambos
diseñados por Microsoft. Existen alternativas gratuitas como SharpDevelop
para .NET y Proyecto Mono.
2.5. Microsoft Access 2000
Es un sistema de gestión de bases de datos relacional creado y
modificado por Microsoft (DBMS) para uso personal de pequeñas
organizaciones. Es un componente de la suite Microsoft Office aunque no
se incluye en el paquete "básico". Una posibilidad adicional es la de crear
ficheros con bases de datos que pueden ser consultados por otros
programas.
2.5.1. Características
Entre las principales funcionalidades de Access se encuentran:
Crear tablas de datos indexadas, modificar tablas de datos, relaciones
entre tablas (creación de bases de datos relacionales), creación de
consultas y vistas.
Consultas referencias cruzadas, consultas de acción (INSERT, DELETE,
UPDATE), formularios, informes, llamadas a la API de Windows, interacción
con otras aplicaciones que usen VBA (resto de aplicaciones de Microsoft
Office, Autocad, etc.), macros, interconexión con entornos de bases de
17
datos de gran nivel (como por ejemplo SQL Server) a través de vinculación,
soporte de lectura de sistemas de archivos individuales (como FoxBase y
similares) a través de vinculación e importación de datos, además, permite
crear frontends - o programa que muestra la interfaz de usuario - de bases
de datos más potentes ya que es un sistema capaz de acceder a tablas
externas a través de ODBC como si fueran tablas Access.
2.5.2. Generalidades
Es un software de gran difusión entre pequeñas empresas (PYMES)
cuyas bases de datos no requieren de excesiva potencia, ya que se integra
perfectamente con el resto de aplicaciones de Microsoft y permite crear
pequeñas aplicaciones con unos pocos conocimientos de programación.
Tiene un sistema de seguridad de cifrado bastante primitivo y puede
ser la respuesta a proyectos de programación de pequeño y mediano
tamaño.
2.5.3. Inconvenientes
Para bases de datos de gran calibre (en cuanto a volumen de datos o
de usuarios) es recomendable usar otros sistemas como SQL o Microsoft
SQL Server, y código VBA (Visual Basic para Aplicaciones).
Entre sus mayores inconvenientes figuran que no es multiplataforma,
pues sólo está disponible para sistemas operativos de Microsoft, y que no
permite transacciones. Su uso es inadecuado para grandes proyectos de
18
software que requieren tiempos de respuesta críticos o muchos accesos
simultáneos a la base de datos.
2.6. NomiPAQ 2001
Es el sistema de Administración de Nóminas con la mayor
transparencia y precisión del mercado.
Realiza los procesos de cálculo de acuerdo a las necesidades de la
empresa y de acuerdo a las últimas disposiciones de la ley. Obtiene
información de los empleados, con unas vistas amigables, refiriéndose a
que son de fácil compresión. Hace con precisión con cálculos de aguinaldo,
PTU, prima vacacional y finiquito.
Se puede conectar al SUA (IMSS), DEM-DIM (SHCP), relojes chocadores
y a los sistemas de pago electrónico de los principales bancos. Realiza
cedulas de trabajo en Excel para hacer reportes. Verifica paso a paso los
cálculos del ISTP e IMSS mediante una simulación con salida a Excel. Tiene
un recordatorio para recordar los compromisos a través de una agenda
fiscal.
2.6.1. Módulos principales del sistema
Captura de movimientos (Prenómina, Sobre Recibo), hoja Electrónica,
procesos de cálculo de salarios (Cálculo de Nómina, Aguinaldo, PTU,
finiquito), asistente para exportación e importación de datos, editor de
fórmulas, agenda de disposiciones fiscales.
19
2.6.2. Principales características
Multiempresa, permite crear las empresas que se necesiten sin costo
adicional, hoja electrónica que permite realizar reportes a la medida,
fotografía del empleado, periodos de nómina configurables (semanal,
decenal, catorcenal, quincenal, mensual, etc.) en la misma empresa,
fórmulas preinstaladas para realizar el cálculo automático de las
remuneraciones de ley, editor de fórmulas flexible e ilimitado, que le
permite hacer cualquier tipo de cálculo adicional, incluye una vista
denominada Prenómina que permite ingresar de forma dinámica
movimientos de percepciones, deducciones, obligaciones, días y horas en
una hoja tabular, similar a una hoja de cálculo, cumple con todos los
requisitos vigentes que establece la ley y reglamentos del IMSS, Infonavit,
ISR, SHCP, Ley Federal del Trabajo, agenda de Disposiciones Fiscales,
procesos de cálculo de salarios (Cálculo de Nómina, Aguinaldo, PTU,
Finiquito y Modificaciones de Salario), interfaz directa con sistemas de
pago electrónico de los principales bancos, SUA (IMSS), DIMM (SHCP) y
reloj checador, integración total a CheqPAQ (Tesorería y Bancos) y
ContPAQ (Contabilidad), importación y exportación de información a través
de archivo texto hacia sistemas desarrollados por terceros, reporteador
gráfico, actualización del sistema por Internet, incluye una herramienta
para dudas en el uso del sistema llamada “Mi Asesor”, manual electrónico,
impresión rápida en modo texto para impresoras de matriz de punto.
20
2.6.3. Funciones
NomiPAQ 2001 es la solución ideal porque ayudan a desempeñar de
principio a fin, las funciones de cualquier día de trabajo de una manera
ágil, gráfica y 100% confiable:
Permite la captura en forma de sobre-recibo, haciendo más ágil la
localización de los movimientos de cada período de nómina por cada uno
de los empleados.
Permite realizar procesos de cálculo de forma automática y
programable, como el cálculo de nómina periodo por periodo, cálculos
anuales (aguinaldo, PTU, prima vacacional), cálculos especiales (cambio de
salarios), cálculo invertido y finiquitos entre otros más.
Ayuda a llevar individualmente un control de las vacaciones
disfrutadas y pendientes por disfrutar por cada empleado.
El control de las incapacidades es total ya que ayuda a registrar las
que han sufrido los empleados desde su ingreso a la empresa hasta la
fecha. Permite crear filtros para agrupar a los empleados con
características comunes entre sí, y así agilizar los procesos de captura y
cálculo de nómina. Es un sistema que permite manejar periodos abiertos,
lo que significa que se puede volver a imprimir la lista de raya, recibos de
nómina, realizar la interfaz a ContPAQ 2001 y CheqPAQ 2001, hacer
modificaciones a las nóminas anteriores. Esto solo lo podrán realizar los
usuarios que tengan prioridades para ello.
21
2.7. Seagate Cristal Reports 8
Es el estándar mundial para la elaboración de informes en el Web y de
escritorio, está diseñado para trabajar con la base de datos para ayudar a
analizar e interpretar información importante. Facilita la creación de
informes simples y dispone también de herramientas poderosas necesarias
para generar informes complejos o especializados.
2.7.1. Propósito
Los informes son herramientas de administración cuyo propósito
principal es brindar una comprensión rápida de los elementos esenciales
dentro de una colección de datos en bruto, y la relación mutua que existe
entre dichos elementos, para apoyar en la toma de decisiones efectiva.
Para que un informe sea efectivo, debe presentar los datos correctos, en
forma lógica. Si el informe presenta datos equivocados o si presenta los
datos correctos pero de manera ilógica, puede conducir a un proceso de
toma de decisiones lento, o peor aún, equivocado. Un buen punto de
partida para el desarrollo de informes es poner por escrito el propósito del
informe en una o dos líneas. El enunciado del propósito ayuda a que se
enfoquen a sus metas principales, y provee a un punto de partida y una
meta final para el informe. A continuación se dan algunos ejemplos de
enunciados de propósito:
El propósito del informe es mostrar ventas mensuales y ventas
acumuladas anuales por representante de ventas, comparar cifras
22
presentes con las del año anterior, y marcar representantes cuyas cifras
de venta no alcanzan los estándares de la empresa.
III. DESCRIPCIÓN DEL TRABAJO
En el primer día de la estancia se hizo la presentación ante los demás
compañeros de trabajo siendo asignado en el departamento de auditoria
para que se ayudara en los programas que están siendo desarrollados por
parte del ingeniero en sistemas.
Se destinó una computadora portátil para la realización del trabajo
durante la estancia ya que poseía todos los programas necesarios para
realizar las actividades necesarias aunque la laptop era demasiado lenta,
como para ejecutar los programas que se precisan en un cierto momento
como Visual Studio.
En el transcurso de la primera semana se asignaron tareas por
realizar, ciertas actividades eran en primer lugar estudiar y repasar
algunos temas sobre el lenguaje Visual Basic .NET, sus propiedades,
métodos, variables, etc.
Otra de las prácticas era con el programa Seagate Crystal Reports.
Para hacer los diseños de los reportes de nómina, de empleados, de
departamentos, de puestos, de turnos y el reporte de datos generales de
la empresa. Para eso se tuvo que usar algún sistema gestor de base de
datos para enlazar la base de datos a los reportes para visualizar el
23
contenido de las tablas o mostrar los datos o registros de cualquier tabla.
El programa que se uso fue el de Access y no por ser el mejor sino porque
casi todas las funciones que tiene se hacen de manera gráfica haciéndolo
un poco más accesible para las personas que trabajarán con el, no
necesita de código fuente para realizar las bases de datos ni tablas,
excepto en el caso de consultas, formularios e informes que si necesitan
que se introduzca código, pero estos procedimientos no son necesarios en
las aplicaciones que se desarrollaron, el único que si usa son las consultas;
pero en esta ocasión las consultas se harán desde programas externos
como Visual Studio 2005 ó el Seagate Crystal Reports.
Estas actividades se realizaron en el primer mes, además de éstas:
se hizo el formateo para después instalar el software a la computadora
asignada para el desarrollo del proyecto, refiriéndose a Visual Studio 2005,
Seagate Crystal Reports, Nomipaq 2006, Microsoft Developer Network;
recopilación de información de la empresa a la que se le va a diseñar el
software; diseño del flujo de información y una actividad extra: configurar
un impresora en la red.
En el mes de junio se empezó a trabajar con el módulo designado,
este fue el de Cálculo del Finiquito, por lo que primero se investigó cuales
son las partes que lo conforman, sus funciones, y que tipos de cálculos
hace, basándose en el programa Nomipaq; seguidamente se continuó con
el siguiente paso que es el diseño del módulo. Una de las propiedades que
se tenía que usar y era indispensable es la aritmética de fechas y que
24
sirvieron de mucha ayuda. Esto sirvió ya que todos los cálculos que se
necesitaban hacer se basaban en las fechas, las diferencias de días entre
fechas, días transcurridos del año, días transcurridos a partir de una fecha
específica; por lo que se tenían que sumar, restar, inclusive multiplicar los
años, meses, semanas y días. En la última semana de junio de empezó la
codificación para finalizar a principio del mes de agosto, aunque con
muchos errores al final que se fueron depurando mientras se encontraban
estos.
En cuanto al costo, para realizar este proyecto de programación no se
hicieron gastos porque el despacho ya contaba con todas la herramientas
necesarias para poder trabajar cómodamente, y por parte del software no
se tuvieron que comprar pues la empresa ya contaba con el software
necesario, originales y con licencias para no tener problemas legales.
Aunque cabe mencionar el apoyo proporcionado por la empresa para el
alumno de una cantidad no mayor de 500 pesos cada quince días, como
ayuda durante todo el desarrollo del sistema.
En cuanto al beneficio, pues en este caso se alcanzaron la gran
mayoría de las expectativas propuestas en un principio, aunque se le dio
una pausa al proyecto por todas los errores que fueron apareciendo
mientras se hacían las pruebas, errores que no estaban contemplados
antes lo que ocasionó un atraso en la desarrollo del sistema.
25
IV. CONCLUSIONES
Los logros alcanzados en este proyecto no fueron exactamente los que
se pretendían alcanzar. En primer lugar llevó mas tiempo del que se había
acordado, en un principio se planeó que el trabajo se terminaría
aproximadamente en cuatros meses aproximadamente con la ayuda del
alumno designado iniciado aproximadamente el año y se debía concluir en
julio del presente año, pero sin embargo, por la complicación del
programa, ya que es muy complejo y se tenía que cuidar que no tuviera
errores, el proyecto se alargó hasta el mes de septiembre, por lo que
ocasionó su suspensión.
Según uno de los objetivos es terminar el desarrollo en un plazo no
mayor al año y medio, por desgracia este primer objetivo y uno de los más
importantes, no se logró. Eso es lo que la empresa tenía planeado y para
poder terminar necesitaron la ayuda de un alumno para que hiciera sus
estadías en aquel lugar. Por lo que trajo como consecuencia el atraso del
otro sistema que ya estaba programado para desarrollarse a mediados del
mes agosto del presente año.
Pero no todas las cosas son negativas, ya que se avanzó mucho con
este programa y resultó ser un programa confiable pero no para realizar
algunas tareas que se le habían programado por lo que se optó por tener
un mantenimiento correctivo por parte del ingeniero en sistemas durante
el uso por parte de algún contador publico de la empresa.
REFERENCIAS
[1] Agapea Factory (2002). Seagate Cristal Reports 8, [En línea]. País.
Disponible en http://www.agapea.com/Seagate-Crystal-Reports-8-
Manual-de-referencia-n8653i.htm [Consultado el 28 de junio 2007].
[2] La Web del programador (2000). Listado de cursos: Crystal
Reports. [En línea] .Disponible en
http://www.lawebdelprogramador.com/cursos/
mostrar.php?id=22&texto=Crystal+Report [Consultado el 28 de junio
de 2007]
[3] Balena, Francesco. (2000). Programación Avanzada con Microsoft
Visual Basic, país: McGrawHill
ANEXOS
Glosario de Términos
Clases / Objetos: Prácticamente todo lo que se maneja en el
entorno .NET es una clase u objeto, de hecho todas las clases derivan de
una clase u objeto básico: la clase System.Object.
Encapsulación: La posibilidad de ocultar el código usado para
implementar un método o cualquier otro procedimiento o función de forma
que lo único que interese sea el interface expuesto por la clase u objeto.
Formulario (ventana): Un formulario es una ventana de Windows la cual
se usa para interactuar con el usuario, ya que en dicha ventana o
formulario, estarán los controles y demás objetos gráficos que se
mostrarán al usuario, llamados también “formas” o Forms de su nombre
en ingles.
Handles: En VB.NET se usa seguido del nombre del evento, para indicar
qué evento es el que se maneja en el procedimiento indicado.
El formato suele ser, Sub Nombre (parámetros) Handles Objeto.Evento
Instancia: Para usar una clase u objeto, se declara una variable y a esa
variable asignarle el objeto o clase en cuestión para que se pueda usarlo.
Interface / implements: Los interfaces a diferencia de las clases, no hay
que escribir código para los métodos o propiedades que expone,
simplemente se indica la "declaración". Usando Implements, se pueden
usar esas interfaces en las clases, aunque hay que escribir el código de
cada método o propiedad implementado.
Me this: La palabra clave (o instrucción) Me hace referencia a la clase
actual. Por ejemplo Me.Width se refiere a la propiedad Width de la clase
actual. En C# en lugar de Me es this.
Método: Un procedimiento (Sub, Function -función- o Property -
propiedad-) que se usa para realizar una tarea específica en la clase o
módulo.
Modulo: Son espacios en los cuales se incluyen declaraciones de
variables, procedimientos, funciones, etc. El código contenido en un
módulo siempre está disponible de forma directa, sin necesidad de crear
una instancia de dicho módulo.
Poliformismo: La posibilidad de usar en clases diferentes propiedades o
métodos con el mismo nombre de forma que cuando se usen no nos
preocupe a que clase pertenece.
Parámetros: Indican los valores que deben usar para la tarea que debe
realizar.
Sub: Un procedimiento SUB es como una instrucción, es decir, realiza una
tarea (ejecuta el código que haya en su interior), pero no devuelve un
resultado.
Sobrecarga (overload): Se dice que un método está sobrecargado
cuando existen distintas versiones de dicho método en la clase.
Objeto de base de datos: Un objeto de base de datos es un componente
independiente de una base de datos. Un objeto de base de datos
interactúa con los datos físicos y a continuación, presenta estos datos en
un formato especializado. Tabla: Una tabla es una colección de datos
acerca de un tema específico que se almacena en filas y columnas,
Consulta: Una consulta es una instrucción para recuperar información que
se encuentra en un conjunto de filas. Puede utilizar una consulta para
recuperar información de una tabla única o varias tablas basadas en
criterios específicos. Select query: Una consulta de selección recupera
información que desea a partir de una o más tablas de una base de datos.
La consulta de selección de igual manera se puede realizar cuelga
manipulación.