Escolar Documentos
Profissional Documentos
Cultura Documentos
TESIS
SISTEMA DE FACTURACIN Y COBRANZA
DE RADIO LOCALIZADORES
QUE PARA OBTENER EL TITULO DE
LICENCIADO EN
CIENCIAS DE LA COMPUTACIN
PRESENTA:
ASESOR:
M.E. CARMEN CERN GARNICA
PUEBLA, PUE.
Julio 2004
CONTENIDO
INTRODUCCIN
CAPTULO I
MARCO TERICO
1.1 Conceptos de bases de datos ..........................................................................1
1.1.1 Caractersticas .............................................................................................2
1.1.2 Ventajas .......................................................................................................3
1.1.3 El sistema administrador de bases de datos (DBMS) .................................3
1.1.3.1 Funciones del DBMS ...................................................................................3
1.1.3.2 Modelo Entidad Relacin ..........................................................................4
1.1.3.3 Normalizacin ..............................................................................................5
1.2 Modelo Cliente Servidor ................................................................................6
1.2.1 Arquitectura Cliente Servidor ....................................................................7
1.3 Mecanismos de conectividad en las bases de datos........................................8
1.4 Lenguajes de programacin orientados a objetos............................................9
CAPTULO II
SISTEMA MANEJADOR DE BASES DE DATOS ORACLE
2.1 Arquitectura ....................................................................................................15
2.1.1 Bases de Datos..........................................................................................15
2.1.2 Espacios de Tablas....................................................................................15
2.1.3 Archivos de Datos......................................................................................16
2.1.4 Otros archivos............................................................................................16
2.1.5 Instancias...................................................................................................18
2.2 Caractersticas Administrativas de Oracle ......................................................19
2.2.1 Instalacin..................................................................................................19
2.2.2 Gestin del proceso de desarrollo .............................................................24
2.2.2.1 Procesos culturales...................................................................................24
2.2.2.2 Procesos de gestin .................................................................................25
2.2.2.3 Tecnologa ................................................................................................25
2.3 Herramientas de desarrollo Oracle.................................................................26
2.3.1 Arquitectura de datos de Developer Forms y Developer Reports .............28
2.4 Ventajas...........................................................................................................32
CAPTULO III
ANLISIS Y DISEO DEL SISTEMA
3.1 Planteamiento del problema ..........................................................................33
3.2 Anlisis del sistema .......................................................................................33
3.2.1 Especificacin de requerimientos ..............................................................34
3.2.2 Estrategia de solucin................................................................................35
3.3 Modelo funcional............................................................................................36
3.3.1 Narrativa de las funciones del sistema ......................................................36
3.3.2 Narrativa del flujo de datos del sistema (DFD) ..........................................40
3.4 Diseo de la base de datos ...........................................................................46
3.4.1 Entidad Relacin.....................................................................................46
3.4.2 Normalizacin ............................................................................................47
3.4.3 Diseo lgico de la base de datos .............................................................49
3.4.4 Diseo fsico de la base de datos ..............................................................52
3.4.5 Tablas del sistema .....................................................................................54
ii
INDICE DE FIGURAS
CAPTULO I
MARCO TERICO
1.1 Representacin de una tabla, mostrando sus campos y registros ....................2
1.2 Ejemplo de un diagrama Entidad Relacin.....................................................5
1.3 Modelo Cliente Servidor .................................................................................7
CAPTULO II
SISTEMA MANEJADOR DE BASES DE DATOS ORACLE
2.1 Relaciones sobre bases de datos, tablespaces y archivos de datos...............15
2.2 Instancias y bases de datos en Oracle ............................................................19
2.3 Ventana de inicio del asistente de instalacin .................................................20
2.4 Configuracin para desinstalar productos .......................................................21
2.5 Productos disponibles......................................................................................22
2.6 Identificacin de Bases de Datos ....................................................................23
2.7 Fin de la instalacin .........................................................................................23
2.8 Estructura de Forms ........................................................................................27
2.9 Principales relaciones de los objetos de una pantalla .....................................28
2.10 Manejo de la herramienta Forms de Oracle ..................................................29
2.11 Ejemplo de diseo de un Reporte en Developer Reports..............................30
2.12 Funcionamiento de la herramienta Forms de Oracle ....................................31
2.13 Tipos de archivos para mdulos en Forms de Oracle ...................................32
CAPTULO III
ANLISIS Y DISEO DEL SISTEMA
3.1 Modelo Funcional General...............................................................................36
3.2 Modelo Funcional del verificacin de usuarios ................................................37
3.3 Modelo Funcional del catlogos principales ....................................................38
3.4 Modelo Funcional de Generacin y Aplicacin de cuentas x cobrar y facturas .......................... 39
iii
iv
INTRODUCCIN
Con la siguiente tesis se pretende realizar un sistema de facturacin que permita el
manejo de clientes, facturas, cobradores, productos y servicios, el cual ser desarrollado a
travs de una metodologa basada en teora y prctica en bases de datos relacionales e
ingeniera de software. La siguiente accin es la de crear el diseo y la implementacin en
un manejador de bases de datos de Oracle y desarrollar las interfaces a travs del
desarrollador de aplicaciones Developer de Oracle que permite gran flexibilidad para
programar y que es adems compatible con la mayora de computadoras que existe en las
empresas, el lenguaje se eligi bajo previo estudio y evaluacin de otros productos que son
compatibles con bases de datos.
Una de las razones por la cual se decidi hacer un sistema que pueda llevar el
control de facturacin, es porque en la actualidad existe software comercializado que cubre
ciertos puntos de los que una empresa necesita pero en la mayora de los casos, el software
a la medida se adapta al 100% a las necesidades de una empresa y de esta manera cubrir al
mximo los objetivos de la empresa.
A continuacin se da una abreve introduccin de cada captulo
Captulo 1 Marco Terico: Aqu se dan definiciones bsicas para comprender el
inicio de la creacin de una base de datos, as como tambin los
elementos necesarios para poder desarrollar un programa conjuntamente
con una base de datos.
Captulo 2 Sistema manejador de bases de datos oracle: En este captulo se explican
diferentes caractersticas de la Base de Datos de Oracle, as como
tambin las estructuras de datos de las herramientas de desarrollo a
utilizar.
Captulo 3 Anlisis y diseo del sistema: Aqu se dan los detalles de cmo va a
generarse el sistema de facturacin a travs de diferentes herramientas de
diseo de bases de datos e ingeniera de software.
Captulo 4 Desarrollo del sistema: En este captulo se muestra el modo de
implementar las herramientas de desarrollo para generar los mens,
formas, reportes y el cdigo que los hace funcionar; As como tambin la
explicacin del ambiente de las herramientas de desarrollo.
Captulo 5 Pruebas de datos del sistema: Aqu se muestra el funcionamiento que
debe de tener el sistema ya implementado a travs de pantallas de todas
las formas y reportes que comprende el sistema de facturacin.
v
Captulo 1
Marco terico
Este captulo trata a cerca de los conceptos bsicos a cerca de las bases de datos, as
como sus fundamentos y trminos, con el propsito de empezar a entender mejor los
requerimientos necesarios para comenzar a crear el sistema de facturacin.
CAMPOS
REGISTROS
Nombre Apellidos
Direccin
Pancho Pantera Av. Del Chocolate No.3
Ral
Salinas
Cda. Almoloya 2
Antonio
Tigre
Av. Keloggs #33
Telfono
2569847
3115588
2336655
C. P.
72450
72365
72000
1.1.1 Caractersticas
Se muestran a continuacin los cuatro componentes principales de un sistema de bases
de datos: la informacin, el equipo, los programas y los usuarios [DaC01].
La informacin: Es el propsito y la razn existencial de todo sistema de bases de
datos, pueden ser de cualquier tipo e ndole, la cual puede ser mejor administrada gracias a
la computadora y sus sistemas. Dicha informacin define el tipo de sistema a utilizar,
pueden ser muy pequeos hasta grandes y complejos, dependiendo de la finalidad de la
aplicacin de esos datos. Los sistemas pequeos suelen servir para un solo usuario,
mientras que los sistemas grandes generalmente son multiusuario; en un sistema
multiusuario, varios usuarios pueden tener acceso a la base de datos mientras que en uno
pequeo, un solo usuario puede tener dicho acceso.
El equipo: Gracias al desarrollo rpido y creciente de la tecnologa podemos contar
en la actualidad con equipos suficientemente capaces de llevar a cabo la tarea de ejecutar
un sistema de bases de datos confiablemente, a un costo relativamente bajo a comparacin
de las dcadas anteriores. Las caractersticas del equipo de cmputo dependen de las
caractersticas necesarias que el sistema de bases de datos requiera en velocidad del
procesador, memoria RAM, velocidad de acceso a datos y capacidad en unidades de
almacenamiento como discos duros y si es necesario, una unidad de respaldo.
Los programas: Se entiende por programa todo aquel que pueda realizar alguna
tarea especfica dentro de la computadora, sirviendo como intermediario entre la
computadora y el usuario para realizar un propsito determinado. El sistema de bases de
datos en s es un programa, pero existen otros subprogramas que interactan entre dicho
sistema y la computadora, con la finalidad de distanciar un poco a los usuarios de detalles a
nivel equipo, es decir que esos subprogramas pueden encargarse de esas tareas a nivel
equipo.
El usuario: Se encargue bsicamente de actividades propias de la administracin o
manejo de un sistema de bases de datos. Un ejemplo de esos subprogramas es el Sistema
de Administracin de Base de Datos o tambin llamado DBMS (Database Management
system). El DBMS maneja todas las solicitudes de acceso a la base de datos hechas por los
usuarios, como se vio en el concepto de base de datos anterior, son las acciones de
agregar, consultar, modificar y eliminar archivos de un sistema de bases de datos.
2
1.1.2 Ventajas
Los sistemas de bases de datos nos permiten automatizar diferentes reas de trabajo
en donde se manejan grandes cantidades de productos o servicios y stos requieren de una
administracin adecuada, las bases de datos nos ayudan a encontrar las caractersticas de
dicho producto, hacer un control de inventario, hacer una lista de material faltante para
compras, generar listas de cuentas por cobrar, etc. (slo por nombrar algunas ventajas), de
hecho, la mayora de las empresas emplean ya el uso de una base de datos para mejorar su
desarrollo.
Manipulacin de datos: El DBMS debe ser capaz de atender las solicitudes del
usuario para extraer, y quiz poner al da, datos que ya existen en la base de datos, o
para agregar en ella datos nuevos.
Recuperacin y concurrencia de datos: El DBMS -o algn software asociado con ldebe cuidar del cumplimiento de ciertos controles de recuperacin y concurrencia.
1.1.3.2
Es un conjunto de tcnicas del tipo grfico que permite construir modelo de datos. Implica:
Identificar los asuntos de importancia dentro de una organizacin (Entidades).
Las propiedades de esos asuntos (Atributos).
Cmo se relacionan entre s? (Relacin).
Describiendo los puntos antes mencionados tenemos:
Entidad:
Es una cosa o un objeto con significado, real o imaginario, acerca de las necesidades de
informacin que se van a conocer o mantener.
El nombre de la entidad debe ser el que representa un tipo o clase de elementos. En
particular tenemos dos tipos de entidades:
Entidad particular: Algo del mundo real que tiene existencia independiente.
Entidad: Descripcin de un conjunto de entidades particulares que comparten la
misma estructura.
Atributo: Son caractersticas que califican, cualifican, clasifican o cuantifican
ocurrencias de una entidad.
Tipos de atributos:
o Simples: no se pueden descomponer, describen un solo valor.
o Compuestos: se descomponen en varios atributos.
o Monovaluados: para cada entidad solo hay un atributo.
o Multivaluados: para cada entidad hay varios atributos.
o Derivados: su valor se puede deducir de algun atributo almacenado.
o Clave: tienen un valor diferente para cada entidad particular.
a las
Relacin: Son asociaciones entre dos entidades. Los tipos de relacin se da por una
caracterstica: La Cardinalidad
Cardinalidad
La cardinalidad expresa el nmero de ocurrencias asociadas o implicadas en una
relacin.
o RELACION UNO A VARIOS. Este Tipo de relacin es la ms frecuente en
las bases de datos relacionales.
En una relacin de este tipo, un registro de la tabla A puede tener ms de un
registro coincidente en la tabla B, pero un registro de la tabla B no puede tener
ms de un registro coincidente en la tabla A. Por ejemplo, en una empresa un
proveedor puede suministrar ms de un producto, pero un producto slo tiene
un proveedor.
o RELACION UNO A UNO.- En una relacin uno a uno, un registro de la tabla
A no puede tener ms de un registro coincidente en la tabla B, y un registro de la
tabla B no puede tener ms de un registro coincidente en la tabla A.
4
1.1.3.3
Normalizacin
La normalizacin es una tcnica eficaz para el diseo de bases de datos que puede aplicarse
tanto a sistemas relacinales como a otros modelos. Con la tcnica de la normalizacin se
trata de evitar la dependencia entre inserciones, actualizaciones y borrado de elementos de
las tablas de la base de datos. Tambin se reducen las operaciones de reorganizacin
cuando hay que incorporar nuevos datos [PeC03].
Se tienen como referencia cinco pasos para lograr la normalizacin:
Nivel 0: Cuando ninguna de las reglas de normalizacin se ha aplicado a nuestras
tablas
Nivel 1: Comprende de los siguientes pasos:
1. Eliminar los grupos repetitivos de la tablas individuales.
2. Crear una tabla separada por cada grupo de datos relacionados.
3. Identificar cada grupo de datos relacionados con una clave primaria.
Nivel 2: Comprende de los siguientes pasos:
1. Crear tablas separadas para aquellos grupos de datos que se aplican a varios
registros.
2. Relacionar estas tablas mediante una clave externa..
Nivel 3: Eliminar aquellos campos que no dependan de la clave.
Nivel 4: En las relaciones varios-con-varios, entidades independientes no pueden ser
almacenadas en la misma tabla.
Existe otro nivel de normalizacin que se aplica a veces, pero es de hecho
algo esotrico y en la mayora de los casos no es necesario para obtener la
mejor funcionalidad de nuestra estructura de datos o aplicacin. Su
principio sugiere:
Nivel 5: La tabla original debe ser reconstruida desde las tablas resultantes en las
cuales a sido troceada.
Funciones del cliente: Los clientes en una red cliente-servidor son las mquinas o
procesos que piden informacin, recursos y servicios a un servidor unido. Estas peticiones
pueden ser cosas como proporcionar datos de una base de datos, aplicaciones, partes de
archivos o archivos completos a la mquina cliente. Los datos, aplicaciones o archivos
pueden residir en un servidor y ser simplemente accedidos por el cliente o pueden ser
copiados o movidos fsicamente a la mquina cliente. Esta disposicin permite a la mquina
cliente ser relativamente pequea. Para cada tipo de entorno de cliente, hay habitualmente
software especfico (y a veces hardware) en el cliente, con algn software y hardware
anlogo en el servidor.
Funciones generales de un servidor: Los servidores en una red cliente-servidor
son los procesos que proporcionan informacin recursos y servicios a los clientes de la red.
Cuando un cliente pide un recurso como, por ejemplo, un archivo, datos de una base de
datos, acceso a aplicaciones remotas o impresin centralizada, el servidor proporciona estos
recursos al cliente. Los procesos del servidor pueden residir en una mquina que tambin
acta como cliente de otro servidor. Adems de proporcionar este tipo de recursos, un
7
servidor puede dar acceso a otras redes, actuando como un servidor de comunicaciones que
conecta a otros servidores o mainframes o minicomputadoras que actuan como hosts de la
red [MoP96].
En el entorno de los mainframes, todas las solicitudes de informacin y las tareas de
programacin pasan a travs del departamento de informtica. Ellos determinan si la
informacin est disponible, cmo extraerla de la base de datos, y darle un formato para el
ejecutivo o vendedor. Cuando se solicita un cambio de programacin o una nueva
aplicacin, ha de realizarse un anlisis costo/beneficio antes de aprobar o rechazar la
peticin. Mientras tanto, el usuario que solicit la informacin o el cambio puede haberse
jubilado o cambiado de trabajo. Con la capacidad de consultar una base de datos SQL
Server usando conexiones ODBC el usuario puede obtener rpidamente la informacin que
necesita para su trabajo, siempre que se tengan los permisos de acceso necesarios.
Con la llegada de la PC (Personal Computer, Computadora Personal) y poco
despus de la LAN (Local Area Network, Red de rea Local), un usuario puede trabajar
con la informacin en bruto como nunca antes. En lugar de esperar un informe
trascendental durante una semana, el usuario puede realizar un anlisis en su propio equipo.
Hasta ahora, los sistemas cliente-servidor han sido el mtodo empleado para saltar
gran parte del vaco entre la computadora central y los sistemas basados en PC/LAN. sta
ha sido una forma efectiva de distribuir la potencia de procesamiento necesaria entre el
usuario y el personal de departamento de informtica. El personal del departamento de
informtica puede mantener la base de datos en su propio servidor, con la adecuada copia
de seguridad. Los usuarios tienen acceso a la informacin necesaria contenida en la base de
datos y pueden procesar sus propias consultas e informes. Este modelo tambin permite la
aplicacin de reglas de negocio a la base de datos, asegurando que la informacin
introducida en la misma cumpla las restricciones de coherencia necesarias, antes de
permitir que se le apliquen cambios o aadidos [ByJ01].
Estructurados
Orientado a objetos
Objeto
Polimorfismo
Clase
Herencia
Mensaje
Mtodo
Identidad
Reutilizacin
Abstraccin
Encapsulacin
Modularidad
Jerarqua
Concurrencia
todos, sus atributos son diferentes. Para finalizar diremos que se llamara objeto a cualquier
cosa real o abstracta, en la cual podemos almacenar datos y los mtodos para controlar
dichos datos.
POLIMORFISMO: El polimorfismo se define como la posibilidad de asumir varias
formas. El polimorfismo permite que una misma operacin pueda llevarse a cabo de varias
formas, en clases diferentes. Desde este punto de vista, representa un concepto de teora de
tipos en el que un solo nombre puede denotar objetos de muchas clases diferentes que se
relacionan por alguna superclase comn. Cualquier objeto denotado por este nombre es, por
lo tanto, capas de responder a algn conjunto comn de operaciones. Una operacin es una
accin o transformacin que realiza o padece un objeto. La implementacin especfica de
una operacin determinada a una clase determinada se denomina mtodo. Aunque los
mtodos sean distintos, llevan a cabo el mismo propsito operativo, y as estaramos
hablando tambin, de polimorfismo.
Una operacin es una abstraccin de un comportamiento similar (pero no idntico)
en diferentes clases de objetos. La semntica de la operacin debe ser la misma para todas
las clases. Sin embargo, cada mtodo concreto seguir unos pasos especficos. Existe el
polimorfismo cuando interactan las caractersticas de la herencia y el enlace dinmico.
Esta es quizs la caracterstica ms importante de los lenguajes orientados a objetos
despus de su capacidad para soportar la abstraccin y es lo que distingue la programacin
orientada a objetos de otra programacin ms tradicional con tipos abstractos de datos. El
polimorfismo es tambin un concepto central en el diseo orientado a objetos. Una de las
ventajas del polimorfismo es que se puede hacer una solicitud de una operacin sin conocer
el mtodo que debe ser llamado.
CLASE: El termino clase se refiere a la implantacin en software de un tipo de
objeto. Especifica una estructura de datos y los mtodos operativos permisibles que se
aplican a cada uno de los objetos. Una clase puede tener sus propios mtodos y estructura
de datos, as como tambin heredarlos de su superclase. La superclase es la clase de la cual
hereda otra clase, llamada esta ultima subclase inmediata.
Una clase es una abstraccin de un conjunto posiblemente infinito de objetos
individuales. Cada uno de estos objetos se dice que es una instancia o ejemplar de dicha
clase. Cada instancia de una clase posee sus propios valores para sus atributos, pero
comparte el nombre de estos atributos y las operaciones con el resto de instancias de su
clase. La eleccin de clases es arbitraria, y depende del dominio del problema.
La industria utiliza el trmino clase para hacer referencia a las implantaciones de los
tipos de objetos. Se construyen clases a partir de otras clases, las cuales a su vez se integran
mediante clases. As, como los bienes manufacturados se fabrican a partir de una serie de
materiales de partes y subpartes ya existentes, tambin el software se crea mediante una
serie de materiales de clases ya existentes y probadas.
HERENCIA: El concepto de herencia se refiere a la comparicin de atributos y
operaciones basadas en una relacin jerrquica entre varias clases. Una clase pude
definirse de forma general y luego redefinirse en sucesivas subclases. Cada clase hereda
11
todas las propiedades de sus superclases y aade sus propiedades particulares. La herencia
es el medio por el cual los objetos de una clase pueden acceder a variables y funciones
miembro contenidas en una clase previamente definida, sin tener que volver a realizar esas
definiciones.
HERENCIA SIMPLE: La herencia simple es aquella en la que una clase puede
heredar la estructura de datos y operaciones de una superclase. Es una relacin entre clases
en la que una clase comparte la estructura y/o el comportamiento definido en una.
HERENCIA MLTIPLE: La herencia mltiple se da cuando una clase puede
heredar la estructura de datos y operaciones de ms de una superclase. Es la relacin entre
clases en la que una clase comparte la estructura dems de una clase base. La herencia
mltiple presenta una gran dificultad y es el hecho que puede heredar dos operaciones con
el mismo nombre. Esto hace que las colisiones pueden introducir ambigedad en el
comportamiento de la subclase que hereda en forma mltiple.
MENSAJE: Para que el objeto haga algo enviamos, una solicitud. Esta ha ce que se
produzca una operacin. La operacin ejecuta el mtodo apropiado y, de, manera opcional,
produce una respuesta. El mensaje que constituye la solicitud contiene el nombre del
objeto, el nombre de una operacin, a veces, un grupo de parmetros. Un mensaje es una
solicitud para que se lleve a cabo la operacin indicada y se produzca el resultado. En pocas
palabras los mensajes son solicitudes, que invocan operaciones especficas, con uno o ms
objetos como parmetros. La respuesta a estas rdenes ser la informacin requerida,
siempre que el objeto considere que quien enva el mensaje esta autorizado para obtenerla
MTODO: El mtodo es la especificacin de un proceso de una operacin, es un
proceso disciplinado para generar un conjunto de modelo que describen varios aspectos de
un sistema de software en desarrollo, utilizando alguna notacin bien definida. Los mtodos
especifican la forma en que se controlan los datos de un objeto. Los mtodos en un tipo de
objeto solo hacen referencia a las estructuras de datos de ese tipo de objeto. No deben tener
acceso directo a las estructuras de datos de otros de objeto. Para utilizar la estructura de
datos de otro objeto, debe enviar un mensaje a este. El tipo de objeto empaca junto los tipos
de datos y los mtodos.
IDENTIDAD: La identidad es aquella propiedad de un objeto que los distingue de
todos los dems objetos. La identidad nica (pero no necesariamente el nombre) de cada
objeto se preserva durante el tiempo de vida del mismo, incluso cuando su estado cambia.
La identidad es la naturaleza de un objeto que lo distingue de todos los dems.
REUTILIZACIN: Es volver a generar una clase, teniendo en cuenta que puede ser
til para varios sistemas, sin tener que volver a generarlos, ahorrando con esto tiempo para
programacin, etc. Las clases estn definidas para que se reutilicen en muchos sistemas.
Para que esta sea efectiva, las clases se deben construir a partir de un modo que puedan ser
adaptables y reutilizables indefinidamente. Un objetivo de las tcnicas orientadas a objetos
es lograr la reutilizacin masiva al construir un software. Los sistemas suelen ser
construidos a travs de objetos ya existentes, que se lleva a un alto grado de reutilizacin,
esto conlleva a un ahorro de dinero, un menor tiempo de desarrollo y una mayor
12
14
Captulo 2
2.1 Arquitectura
Para entender la arquitectura de oracle es necesario entender y considerar dos
conceptos: Bases de Datos e Instancias.
Tablespaces
SISTEMA
Espacio de tablas
Segundo
Espacio de tablas
Tercer
Espacio de tablas
Archivos de
Datos
Figura 2.1
de estos archivos, Oracle conserva un archivo llamado registro de alertas. Este registro
almacena los comandos y los resultados de los comandos correspondientes a los
sucesos ms importantes que ocurren en la vida de la base de datos. Por ejemplo, la
creacin de espacios de tablas, el paso de un registro de reconstruccin a otro, las operaciones de recuperacin y los inicios de la base de datos se graban en el registro de
alertas. El registro de alertas es una fuente de informacin fundamental para la gestin
cotidiana de una base de datos. Los archivos de traza son muy tiles para tratar de descubrir la causa de un fallo importante [LoK02].
Las entradas de este registro de alertas informan sobre cualquier problema que haya
surgido durante las operaciones de la base de datos, como, por ejemplo, cualquier error
interno de tipo ORA-0600 que se haya producido. Con el fin de que el registro de
alertas resulte ms fcil de usar.
2.1.5 Instancias
Para acceder a la informacin a la base de datos, oracle utiliza un conjunto de
procesos en segundo plano que son compartidos por todos los usuarios. Adems, existen
estructuras de memoria (Conocidas por todos como SGA) que son utilizadas para
almacenar las ltimas consultas hechas a la base de datos. Las secciones ms grandes de la
SGA (System Global Area o rea global del sistema), la cach de buffers de bloques de
datos, el rea compartida SQL, el rea de bloques de gran tamao y el rea Java,
constituyen generalmente ms del 95 por 100 de la memoria asignada a la SGA. Estas reas
de memoria ayudan a mejorar el rendimiento de la base de datos, ya que reducen la
cantidad de operaciones de entrada /salida sobre los archivos de datos.
Una instancia de base de datos (conocida tambin como servidor) es un conjunto de
estructuras de memoria y procesos en segundo plano que acceden a un conjunto de archivos
de bases de datos. Es posible que mltiples instancias accedan a una nica base de datos
(sta es la opcin conocida como Real Application Cluster). La relacin entre instancias y
bases de datos se muestran en la figura 2.2 [LoK02].
Los parmetros que determinan el tamao y composicin de una instancia son
almacenados en un archivo llamado init.ora o, bien, residen dentro de la base de datos,
en un archivo de parmetros de servidor, conocido como SPFILE, el cual est almacenado
en spfile.ora.. Este archivo es ledo durante el inicio de la instancia y puede ser
modificado por el DBA (Administrador de Bases de Datos, DataBase Administrator).
Cualquier modificacin hecha a este archivo no tendr efecto hasta que el siguiente inicio
de la instancia. El nombre de un archivo de inicializacin de una instancia usualmente
incluye el nombre de la instancia; si la instancia es llamada ORCL, entonces el archivo
init.ora usualmente ser llamado initorcl. Oracle crea cada vez ms y ms parmetros
dentro de la base de datos que se pueden ajustar dinmicamente. Los cambios de los
parmetros pueden continuar en efecto despus de las operaciones sucesivas de apagado e
inicio, independientemente del contenido del archivo de parmetros de inicializacin. En
Oracle9i, el DBA puede utilizar SPFILE, en lugar del archivo init.ora e introducir
cambios, temporales o definitivos, en los parmetros de inicializacin [LoK02].
18
Ins t an cia
SGA
User
process
Shared pool
Library
Cache
Server
process
Data Dictionary
Cache
Database
Buffer Cache
Redo Log
Buffer
Java Pool
Large Pool
PGA
PMON
Trace
Files
SMON
Datafiles
DBWR
LGWR
Control
Files
CKPT
Redo Log
Files
Otros
Parameter
File
Base de Datos
Figura 2.2
Imagen 2.3
20
Base de datos Oracle 9i, que instala una base de datos inicial opcional ya
preconfigurada, las herramientas de gestin, servicios de red, utilidades y
software bsico de cliente para un servidor de base de datos Oracle.
Administrador e integrador Oracle 9i, que instala el servidor de
administracin, las herramientas de administracin, el directorio de Internet de
Oracle, el servidor de integracin Oracle, servicios de red, utilidades y
software bsico del cliente.
Cliente Oracle 9i, instala las herramientas de administracin Enterprise, los
servicios de red, utilidades, herramientas de desarrollo, los precompiladotes y
el software bsico del cliente
Imagen 2.4
21
Imagen 2.5
Productos disponibles
22
Imagen 2.6
Imagen 2.7
Fin de la instalacin
23
2.2.2.1
Procesos culturales
24
2.2.2.2
Procesos de gestin
2.2.2.3
Tecnologa
25
Los comandos SQL que crean los objetos de base de datos para la aplicacin
deben generarse directamente desde la herramienta CASE. Se puede tambin
utilizar la herramienta CASE para crear versiones genricas de aplicaciones
basndose en los objetos de base de datos definidos.
Directorios compartidos
Varios de los documentos entregables, como los requisitos de copia de
seguridad, no tienen una herramienta especfica con la que deban ser creados. Estos
documentos deben crearse con cualquier herramienta que sea adecuada y que est
disponible en dicha organizacin. Los archivos resultantes deberan almacenarse en
directorios de proyecto compartidos de forma que todos los miembros del equipo
implicados puedan acceder a ellos. Los formatos y los convenios de nomenclatura
para estos archivos deben especificarse en las primeras etapas de proceso de
desarrollo.
Bases de datos de administracin del proyecto
Para comunicar el estado de la aplicacin y sus documentos entregables a las
personas que no formen parte del equipo de desarrollo, debe mantenerse una base de
datos de administracin de proyecto. Esta base de datos debe ofrecer a estas
personas una perspectiva del proyecto y de su estado. Esta informacin permitir a
las personas que no estn implicadas directamente en el proyecto (como el personal
de administracin de sistemas) anticiparse a los futuros requisitos. La base de datos
de administracin del proyecto permite adems realizar el anlisis del impacto que
pueden tener cambios o retrasos producidos en la programacin, lo que dara lugar
posiblemente a modificaciones en los niveles de recursos asignados a las tareas del
proyecto [LoK02].
Los autores Meter y Paul muestran en su libro varios recursos para el desarrollo en
Oracle Developer como: una referencia de prctias recomendadas usando las caractersticas
orientadas a objetos de Oracle Developer, un anlisis de los estndares para Oracle
Developer que ayuden a garantizar el xito de los proyectos que se presenten.
Forms es el componente principal de Developer 6i. Forms permite desarrollar
aplicaciones para presentar y manipular datos de muchas maneras. Las aplicaciones de
Forms le permiten a los usuarios:
Insertar, actualizar, borrar y consultar datos utilizando una variedad de items de
interfaz.
Presentar los datos utilizando controles de texto, imgenes y VBX.
Control de formas a travs de varias ventanas.
Acceso de fcil comprensin, utilizando mens integrados.
Mdulos en Forms
En Forms se tienen tres tipos de mdulos (archivos):
Forma. Una forma presenta los objetos y datos con los que el usuario puede
interactuar. Los elementos de datos en una forma son agrupados en registros.
Men. Un mdulo men puede comprimir una jerarqua de mens. Usualmente los
mdulos mens son ligados a mdulos forma.
Librera. Es una coleccin de unidades de programa en PL/SQL. Estas unidades de
programa pueden ser utilizadas en formas y mens.
La imagen 2.8 muestra la estructura de forms y su interaccin con la base de datos Oracle,
otros productos de Developer y otros objetos.
Forms
PL/
PL/ SQL
SQL
Mens
Formas
Libreras
Transacciones
VBX
VBX
OLE2
OLE2
DDE
DDE
Otros
Otros
Productos
Productos de
de
Developer
Developer 6i
6i
Fuentes de Datos
Imagen 2.8
Base de Datos
Estructura de Forms
27
Pantalla de
Forms
Imagen 2.9 Principales relaciones de los objetos de una pantalla
28
Forms
Forma
Men
Forma
Procedimiento
Procedimiento
Funcin
Funcin
Paquete
Paquete
Imagen 2.10 Manejo de la herramienta Forms de Oracle
Un bloque con tabla base, es un bloque que est asociado con una tabla o vista de la
base de datos. Muchos de los bloques en una forma, son con tabla base. Un bloque slo
puede tener una tabla base. Para un bloque con tabla base, Forms automticamente:
Crea items que correspondan a columnas de la tabla.
Produce cdigo en la forma para emplear las reglas de los constraints de la tabla.
Genera en tiempo de ejecucin sentencias SQL para insertar, actualizar, borrar y
consultar renglones en la tabla base, dependiendo de las acciones del usuario.
Se pueden crear bloques con una relacin maestro-detalle para permitir que valores
de llave primaria y llave fornea sean ligados a travs de bloques y sincronizar los datos
que sern desplegados. Forms automticamente genera los objetos y el cdigo necesario
para soportar la relacin maestro-detalle. Se pueden crear bloques que slo muestren un
registro o que muestren varios registros a la vez (bloque multi-registro).
Los componentes Forms y Reports de Oracle Developer poseen arquitecturas de
datos diferentes. En Reports hay un objeto, que se denomina columna, que representa un
elemento de datos (normalmente, un valor de columna de una fila de una tabla) en una
consulta del modelo de datos. Reports emplea un objeto independiente en el modelo de
diseo (Layaout Model), el campo, para mostrar los datos de la columna. Puede haber
columnas sin campos y puede haber columnas con ms de un campo. El modelo de datos y
el modelo de diseo contienen representaciones independientes. En el componente Forms
slo hay un objeto, el elemento que hace referencia al valor de la columna en la base de
datos y muestra los datos correspondientes. La Imagen 2.11 muestra un ejemplo de cmo es
el diseo final de un reporte el cual plasma en impresin o diferentes formatos de
documentos la salida de la informacin requerida, de la base de datos.
30
Fuentes y Ejecutables
Memoria
Memoria de
de
Forms
Forms
Builder
Builder
Definicin
Definicin
de
de la
la Forma
Forma
Preferencias
Archivos
Archivos oo
OPEN Base
Base de
de Datos?
Datos?
SAVE
COMPILE
Runtime
Runtime de
de
Forms
Forms
Tablas
Tablas
RUN
Base de Datos
.fmx
.fmb
Sistema de
Archivos
31
Archivos Binarios
Definicin Binaria Portable
Ejecutable NoNo-Portable
.fmb
Forma
Forma
.fmx
.mmb
Men
Men
.mmx
.pll
Librera
Librera
.plx
Adems de los mdulos forma (.fmb) tambin se puede salvar los mdulos mens y
los mdulos librera al sistema de archivos. Arriba se ilustra en la figura 2.13, que extensin
tienen los archivos donde se guardan los mdulos forma, men y librera; tambin la
extensin de los archivos ejecutables.
Los archivos fuente tienen la caracterstica de que son portables a diferentes
plataformas, mientras que los archivos ejecutables no son portables
2.4 Ventajas
Oracle es el mayor proveedor de software de comercio electrnico del mundo. 65 de
las 100 mayores empresas, segn la clasificacin de la revista Fortune, usan Oracle para el
negocio electrnico. Esto se debe a que Oracle ofrece una completa plataforma de Internet,
incluyendo la base de datos 9i, servidores de aplicacin y herramientas.
Entre las herramientas de Oracle se incluye una serie integrada de herramientas para
labores de inteligencia empresarial Business Intelligence, para satisfacer fcilmente a
cualquier pregunta sobre negocios.
Si un equipo de desarrollo utiliza Oracle Developer Forms y Reports para crear una
aplicacin que acceda a una base de datos Oracle, pueden crear rpidamente un sistema
sofisticado y fcil de utilizar que pueda satisfacer incluso los requisitos ms complejos.
Developer posee la capacidad de satisfacer la mayora de los requisitos de interfaz de
usuario ms habituales. Adems, Developer ofrece la suficiente flexibilidad para ajustar las
aplicaciones con el fin de que proporcione el mximo rendimiento [PKo+00].
32
Captulo 3
cualquier situacin se requiere que se pueda cancelar una determinada aplicacin de pago
teniendo en cuenta su motivo.
Dentro de la informacin que se imprimir se cuenta con saldos de clientes,
facturas, clientes, clientes activos / suspendidos.
Los saldos de clientes a consultar debern mostrar los datos generales del cliente
como sus cargos y abonos, as como sus clculos correspondientes.
Los datos de las facturas a imprimir deben reflejar la siguiente informacin:
Facturas pagadas en una fecha determinada, Facturas no pagadas en un determinado rango
de fechas, general de facturas, facturas cobradas por cobrador, facturas de clientes
suspendidos, facturas clientes activos, facturas canceladas, notas de crdito, facturas
pagadas en una determinada fecha y facturas no pagadas en una determinada fecha.
Con respecto a los clientes se debe imprimir la siguiente informacin: Cartera
vencida, facturas no pagadas, consumo anual, datos generales, clientes activos o clientes
suspendidos y clientes suspendidos por un mes determinado.
34
Por ltimo se deben manejar los diferentes productos y servicios dentro del sistema
para su mejor manejo.
Cobranza
Verificacin
de usuario
Catlogos
Principales
Figura 3.1
Generar,
asignar, aplicar
Cuentas X Cobrar
y Facturas
Generar
re porte s
y consultas
1. El primer mdulo es de seguridad donde los usuarios deben de identificarse para poder
acceder al sistema a travs de un nombre de usuario y contrasea
36
1.1. Se cuenta con un submdulo que permite otorgar atributos a usuarios como Cliente,
Usuario supervisor, en caso que el usuario halla accedido como supervisor con su
pasaporte correspondiente
La funcin de verificacin de usuarios es la que permite asignar privilegios
a los usuarios que sern utilizados despus para el acceso al sistema mediante la
asignacin de un nombre de usuario y contrasea, la figura 3.2 muestra la
estructura del mdulo.
Verificar
Usuario
Comprobar nombre
y pasaporte de
usuario
Asignar
permisos
Supervisor
Capturista
Cliente
Figura 3.2
37
2.3. Guardar, agregar y eliminar Cobradores; En este mdulo se pueden hacer las
modificaciones correspondientes al catlogo de Cobradores en el caso de que el
usuario halla accedido al sistema como supervisor o usuario con privilegios.
2.4. Guardar, agregar y eliminar Productos y servicios; En este mdulo se pueden hacer
las modificaciones correspondientes al catlogo de Productos y servicios en el caso
de que el usuario halla accedido al sistema como supervisor o usuario con
privilegios.
Catlogos
Principales
Clientes
Cobradores
Productos y
Servicios
Altas
Altas
Altas
Bajas
Bajas
Bajas
Modificaciones
Figura 3.3
Modificaciones
Modificaciones
38
3.3. Aplicacin de pago de una Cuenta x Cobrar, este es un mdulo en el cual una
cuenta x cobrar ya pagada se aplica a una factura para efectos fiscales del cliente, la
aplicacin del pago a una factura se aplica por grupo o individual, tambin aqu se
considera la aplicacin de una nota de crdito.
3.4. Cancelacin de una Cuenta x Cobrar, este mdulo solo requiere del nmero de
Cuenta x Cobrar, la causa de la cancelacin y fecha.
3.5. Cancelacin de una Factura, este mdulo solo requiere del nmero de folio de la
Factura, la causa de la cancelacin y fecha.
3.6. Asignacin de Cuentas x Cobrar a Cobradores, este mdulo se encarga de asignar a
los cobradores sus Cuentas que sern cobradas a los clientes, solo hay que tener
como referencia el nombre del cobrador y el nmero de Cuenta x Cobrar
Generar, asignar,
aplicar Cuentas X
Cobrar y Facturas
Captura de
Cuentas x Cobrar
Genera
Asignacin de
Cuentas X
Cobrar
Cuentas a
Cobradores
Aplicacin de
Pagos
Captura de
Facturas
Generacin de
Facturas
4.3. Clientes, este mdulo puede dar a conocer la informacin general de los clientes
dependiendo de la cartera vencida, facturas no pagadas y consumo anual.
4.4. Clientes Activos / suspendidos, este mdulo permite obtener los datos de los
clientes que su estado se encuentra suspendido o activo a partir de una determinada
fecha, rango de fechas o por mes.
Generacin de
Reportes y
Consultas
Clientes
Figura 3.5
Facturas
Saldos
Pagadas /
No Pagadas
Generales
Por
Cobrador
Activos /
Suspendidos
Canceladas
40
Factura
Datos personales
Cliente
Capturista
Datos personales
Supervisor
Sistema de
Facturacin y
cobranza de
servicios y
productos de
radiolocalizacin
Cuentas x
Cobrar
Cobrador
Saldos
Cliente
Datos personales
Reportes
Cliente
Capturista
Figura 3.6
41
Usuarios
Datos personales
Capturista
Datos personales
Supervisor
Datos personales
Cliente
Usuario vlido
Cliente / supervisor / Capturista
Verifica
Privilegios
Datos de
captura
Captura
general
de datos
Usuario vlido
Supervisor / Capturista
P
Info.
Genera
Cuentas
x Cobrar
Saldos, reportes
Consultas
ro d .
Facturas
grneradas
Genera
Factura
os
Dat t e
n
e
i
Cl
Datos
Notas
Datos
Cobrador
Datos
Cliente
Datos clientes/
Prod. & Serv.
Figura 3.7
Prepara
Cuentas a
Cobradores
Cuentas
asignadas
Pagos
liberados
Aplicar
Pagos
42
Crdito, Facturas, Cuentas por Cobrar y Usuarios. La figura 3.7 seala con detenimiento lo
antes mencionado.
El mdulo de captura general de datos, permite al usuario capturista o administrador
a introducir y modificar los diferentes datos de clientes, cobradores, productos y servicios,
ya que es necesario tener esta informacin antes de que sea utilizado el sistema, el diagrama
de flujo de datos de nivel 2 detalla este mdulo
Datos de
captura
Aplica
Clientes
Datos
Cliente
Figura 3.8
Aplica
Cobradores
Datos
Cobrador
Aplica
Productos
y servicios
Info. Prod.
Datos de usuario
vlido
Clientes
Verifica
clientes
activos
Productos y
servicios
Datos de las
Cuentas
Clientes
activos
Monto del
servicio
Figura 3.9
Datos del
cliente
Calcula
montos
Cuentas x
Cobrar
Datos de la
Cta. x Cob
Datos de Cuentas
x Pagar Generadas
Cobradores
Seleccin
de
cobradores
Cuentas x
Cobrar
Figura 3.10
Datos
cobrador
Datos
cobrador
seleccionado
Datos generales
de Cuentas
Asignacin
Cobrador Cuenta
Datos de las
Cuentas
asignadas
ser el suficiente para tomar la cuenta por cobrar como liberada, su estado seguir siendo
como no pagada pero con diferente monto. Al finalizar este proceso se seleccionan las
cuentas por cobrar ya pagadas para ser enviadas al proceso de generacin de facturas. En la
figura 3.11 se ilustra el seguimiento de los datos de este proceso.
Notas de
crdito
Clientes
Datos de Cuentas
x Pagar Generadas
Datos
cliente
Seleccin
de Clientes
con cuenta
pagada
Monto de
la nota
Datos del
cliente
Datos de
la nota
Calcular
monto total
de la cuenta
por cobrar
Datos de
la Cuenta
Pagos
Liberados
Datos de la
Cuenta liberada
Cuentas x cobrar
Figura 3.11
Asignacin
de notas de
crdito
Datos de
Cuentas
pagadas
Seleccin
de Cuentas
pagadas
Pagos
liberados
Cuentas x
Cobrar
Clientes
Datos
de la cuenta
Seleccin
de Cuentas
liberadas
Datos de
clientes a
facturar
Datos de
facturas
generadas
Datos de cuentas
seleccionadas
Asignar datos
de cliente cuenta a
factura
Facturas
Datos de la
factura
Figura 3.12
45
Figura 3.13
En este diseo del diagrama Entidad - Relacin se colocaron las entidades como
elementos independientes dentro del problema, sus relaciones expresadas como lneas
continuas y punteadas indican de qu manera interactan dichas entidades. Gracias a este
46
3.4.2 Normalizacin
Normalizacin es un proceso que clasifica relaciones, objetos, formas de relacin y
dems elementos en grupos, en base a las caractersticas que cada uno posee. Si se
identifican ciertas reglas, se aplica una categora; si se definen otras reglas, se aplicar otra
categora.
La forma de clasificar las relaciones de las bases de datos relacionales es a travs de
los tipos de dependencias que podemos determinar dentro de la relacin. Cuando las reglas
de clasificacin sean ms y ms restrictivas, diremos que la relacin est en una forma
normal ms elevada. La relacin que est en la forma normal ms elevada posible es que
mejor se adapta a nuestras necesidades debido a que optimiza las condiciones que son de
importancia: La cantidad de espacio requerido para almacenar los datos es la menor posible
y la facilidad para actualizar la relacin es la mayor posible
Para este sistema de facturacin se han implementado dichos niveles de
normalizacin como a continuacin se muestra:
Primera Forma Normal
1) Eliminar los grupos repetitivos de las tablas individuales
Este punto se dio cuando se intenta identificar a cada una de las entidades que
intervienen en el problema tal como se vio en el esquema de entidad relacin, ya
que, como por ejemplo, puede repetirse en una sola entidad nombre de cliente y
factura ya que el cliente va a estar facturando cada mes, la repeticin sera el
cliente que es por cada factura que realice, por tanto es separada en dos
entidades cliente y factura. Esto con todas las entidades vistas en dicho esquema
entidad relacin.
2) Crear una tabla separada por cada grupo de datos relacionados
Esto es similarmente visto como el punto anterior utilizando cada entidad como
tabla, en el esquema de entidad relacin, tal como se observa en la figura 3.9.
3) Identificar cada grupo de datos relacionados con una clave primaria
Aqu se identifica a cada tabla con un elemento de ella como el que marcar la
unicidad de cada elemento almacenado en ella, esto es por ejemplo, que cuando
se almacene un dato de una factura, aunque el mismo cliente halla comprado los
mismos productos en la misma cantidad en la misma fecha, deber de existir un
dato que las haga diferentes, en este caso estamos hablando del folio de la
factura. As del mismo modo con todas las tablas. Esto es visible en el diseo
fsico de la base de datos el cual nos muestra en letras tipo negrita las llaves
primarias de cada tabla.
47
Para esto hemos concluido el primer punto como se explico anteriormente, para
aplicar el segundo punto nos basamos en el modelo entidad relacin y se generaron las
tablas junto con su llave primaria respectiva, pero para relacionar la informacin entre las
tablas es necesaria la presencia de otra llave que es conocida como fornea que sirve para
hacer referencia de datos de una tabla hacia otra, es decir, liga la informacin de tal manera
que puedan unirse dos o mas tablas para obtener informacin conjunta entre todas las tablas
que se relacionen.
En este caso se aplicaron las siguientes llaves forneas:
Tablas: Clientes, Contratos
Llave Fornea: Contratos hace referencia a la tabla clientes a travs de la llave:
ClienteNum
Tablas: Productos, Contratos
Llave Fornea: Contratos hace referencia a la tabla productos a travs de la llave:
ProductNum
Tablas: Cobradores, Contratos
Llave Fornea: Contratos hace referencia a la tabla cobradores a travs de la llave:
CobNum
Tablas: DetContrato, Contratos, Facturas
Llave Fornea: Contratos hace referencia a las tablas
DetContrato a travs de la llave: ContratoNum
DetContrato a travs de la llave: FolioFactura
Tablas: NotaCredito, Contratos
Llave Fornea: Contratos hace referencia a la tabla NotaCredito a travs de la llave:
NumNota
Tablas: NotaCredito, CuentasXCobrar
Llave Fornea: CuentasXCobrar hace referencia a la tabla NotaCredito a travs de la
llave: NumNota
48
49
CONTRATOS
CAMPO
ClienteNum
Nombre
Domicilio
CP
Poblacin
Telfono
RFC
TIPO
Nmero
Texto
Texto
Nmero
Texto
Texto
Texto
ConmtratoNum
ClienteNum
CobNum
ProductNum
NumNota
FechaIni
Saldo
Observaciones
Digito
SerieNum
ClaveRadio
UsuarioRadio
Status
Nmero
Nmero
Nmero
Nmero
Nmero
Fecha
Nmero
Texto
Nmero
Texto
Nmero
Texto
Texto
5
5
3
5
5
9,2
3000
1
15
9
100
1
Nmero
Texto
Texto
Texto
3
100
100
25
Principal
Nombre
Direccin
Telfono
ProductNum
Descripcin
Precio
MostrarMasivo
Nmero
Texto
Nmero
Nmero
5
3000
9,2
1
Principal
COBRADORES CobNum
PRODUCTOS
50
Principal
TABLA
FACTURAS
CAMPO
FolioFactura
Status
MotivoCan
ImporteCan
TIPO
Nmero
Texto
Texto
Nmero
Nmero 5
Nmero 9,2
Principal
Monto
CuentaNum
NumNota
FechaPago
Monto
MontoEnvio
ChequeNum
Banco
MontoEfectivo
MontoCheque
MontoBanco
Status
MotivoCan
FechaCancel
IVA
Nmero
Nmero
Fecha
Nmero
Nmero
Nmero
Texto
Nmero
Nmero
Nmero
Texto
Texto
Fecha
Nmero
Principal
Fornea NOTAS CRED.
DET CONTRATO
FolioFactura
ContratoNum
FechaFact
Nmero 9
Nmero 5
Fecha
Principal FACTURAS
Principal CONTRATOS
Principal
DET CTASXCOB
CuentaNum
ContratoNum
FechaElab
Nmero 5
Nmero 5
Fecha
CTAS X COB.
DETFACTURA FolioFactura
Nmero
CuentaNum
Nmero
ProductNum
Nmero
FechaAplicacion Fecha
CantidadProduct Nmero
MontoFactura
Nmero
USUARIOS
Clave
Nombre
Contrasea
5
5
9,2
6
5
100
9
9
9
1
100
2
9
5
5
Principal FACTURAS
Principal CTAS X COB.
Principal PRODUCTOS
Principal
4
9,2
Nmero 3
Texto
50
Texto
10
Principal
51
NOT NULL,
NOT NULL,
NOT NULL,
CONTRATOS
CREATE TABLE CONTRATOS
(
CONTRATONUM
NUMBER(5)
CLIENTENUM
NUMBER(5)
COBNUM
NUMBER(3)
PRODUCTNUM
NUMBER(5)
NUMNOTA
NUMBER(5),
FECHAINI
DATE
SALDO
NUMBER(9)
OBSERVACIONES VARCHAR2(3000 BYTE),
DIGITO
NUMBER(1),
SERIENUM
VARCHAR2(15 BYTE)
CLAVERADIO
NUMBER(9)
USUARIORADIO
VARCHAR2(100 BYTE),
STATUS
VARCHAR2(1 BYTE)
)
NOT
NOT
NOT
NOT
NULL,
NULL,
NULL,
NULL,
NOT NULL,
DEFAULT 0
NOT NULL,
COBRADORES
CREATE TABLE
(
COBNUM
NOMBRE
DIRECCION
TELEFONO
)
COBRADORES
NUMBER(3)
VARCHAR2(100 BYTE)
VARCHAR2(100 BYTE),
VARCHAR2(25 BYTE)
NOT NULL,
NOT NULL,
PRODUCTOS
CREATE TABLE PRODUCTOS
(
PRODUCTNUM
NUMBER(5)
DESCRIPCION VARCHAR2(3000 BYTE),
PRECIO
NUMBER(9,2)
)
52
NOT NULL,
NOT NULL
FACTURAS
CREATE TABLE FACTURAS
(
FOLIOFACTURA NUMBER(9)
STATUS
VARCHAR2(1 BYTE)
MOTIVOCAN
VARCHAR2(100 BYTE),
IMPORTECAN
NUMBER(9)
)
NOT NULL,
NOT NULL,
NOTAS DE CRDITO
CREATE TABLE NOTACREDITO
(
NUMNOTA NUMBER(5)
MONTO
NUMBER(9,2)
)
NOT NULL,
NOT NULL
NOT NULL,
NOT NULL,
NOT NULL,
DETALLE CONTRATO_FACTURA
CREATE TABLE DETCONTRATO
(
FOLIOFACTURA NUMBER(9)
CONTRATONUM
NUMBER(5)
FECHAFACT
DATE
)
NOT NULL,
NOT NULL,
NOT NULL
DETALLE CONTRATO_CUENTAXCOBRAR
CREATE TABLE DETCUENTAXCOBRAR
(
CUENTANUM
NUMBER(5)
CONTRATONUM NUMBER(5)
FECHAELAB
DATE
)
NOT NULL,
NOT NULL,
NOT NULL
DETALLE FACTURA
CREATE TABLE DETFACTURA
(
FOLIOFACTURA
NUMBER(9)
CUENTANUM
NUMBER(5)
PRODUCTNUM
NUMBER(5)
FECHAAPLICACION
DATE
CANTIDADPRODUCTO NUMBER(4),
MONTOFACTURA
NUMBER(9)
)
NOT
NOT
NOT
NOT
NULL,
NULL,
NULL,
NULL,
53
Figura 3.15
COBRADORES
Figura 3.16
CONTRATOS
54
Figura 3.17
Figura 3.18
PRODUCTOS
FACTURAS
55
Figura 3.19
CONTRATOS
CONTRATONUM
CLIENTENUM
COBNUM
PRODUCTNUM
NUMNOTA
FECHAINI
SALDO
OBSERVACIONES
DIGITO
SERIENUM
CLAVERADIO
USUARIORADIO
STATUS
56
COBRADORES
COBNUM
NOMBRE
DIRECCION
TELEFONO
PRODUCTOS
PRODUCTNUM
DESCRIPCION
PRECIO
FACTURAS
FOLIOFACTURA
STATUS
MOTIVOCAN
IMPORTECAN
NOTAS DE CRDITO
NUMNOTA
MONTO
DETALLE CONTRATO_FACTURA
FOLIOFACTURA
CONTRATONUM
FECHAFACT
DETALLE CONTRATO_CUENTAXCOBRAR
CUENTANUM
CONTRATONUM
FECHAELAB
DETALLE FACTURA
FOLIOFACTURA
CUENTANUM
57
PRODUCTNUM
FECHAAPLICACION
CANTIDADPRODUCTO
MONTOFACTURA
USUARIOS
CLAVE
NOMBRE
PASSWORD
58
Captulo 4
4.1.1 Mens
La implementacin de la herramienta de Forms para poder desarrollar un men luce
como lo muestra la figura 4.1.
Figura 4.1
El diseo del men fue pensado en la frecuencia de uso que tendr el usuario con
cada uno de los mdulos, cada uno fue agrupado por secciones: Catlogos y Cuentas por
Cobrar en donde a cada uno se le asocia un sub men de reportes. A cada elemento del
men se le asigna la instruccin de llamado a los dems mdulos, estas instrucciones en
Forms se le llaman Triggers, que son cdigo PL/SQL SQL que permiten la manipulacin
de todo el entorno grfico. El cdigo para el llamado de otras formas a travs del men es:
open_form('CatClientes');
Esta instruccin se lee:
59
Figura 4.2
60
Figura 4.3
Despus de seleccionar que los datos que deseamos mostrar los obtendremos de una
tabla o vista, se procede a oprimir el botn next para elegir la tabla o vista, para luego
seleccionar las columnas disponibles de las tablas, ya sea de manera individual o todas,
como lo muestra la imagen 4.4.
Figura 4.4
Cuando se halla terminado de seleccionar los campos de una determinada tabla, nos
mostrar una ventana que se ha terminado de dar las configuraciones para generar un
bloque de datos y se preguntar si se desea terminar el asistente o continuar con el asistente
de Layout, como lo muestra la figura 4.5.
61
Figura 4.5
Figura 4.6
62
Figura 4.7
Figura 4.8
63
Figura 4.9
Figura 4.10
Todo esto genera ya una interfaz grfica que hace posible la interaccin del usuario
con la base de datos Oracle como lo muestra la imagen 4.11, donde para llevar a cabo el
llamado de los datos a la forma requiere de cdigo PL/SQL, entre otros elementos que a
continuacin se indicar.
64
Figura 4.11
Eliminar el frame asociado al bloque y acomodar los items dentro del frame del
bloque PK.
En los items que forman la llave primaria de TABLA, se debe de copiar el
valor del item correspondiente que est en el bloque TABLA_PK.
Si se van a desplegar descripciones relacionadas con llaves forneas del bloque,
hay que ligarle la property class BLOCK_MAIN, de lo contrario ligar la
property class BLOCK
La figura 4.13 muestra este punto.
Propiedad Database
Data Block = no
Property Class
BLOCK
Property Class
ITEM_PK
Figura 4.12
Property Class
BLOCK_MAIN
BLOCK
Figura 4.13
Incluir las columnas que forman la llave primaria y la columna que desea poner
como descripcin.
Crear una relacin maestro-detalle, siendo el bloque maestro, el bloque que
tiene la llave fornea (el bloque TABLA) y el detalle, el que tiene la llave
primaria (el bloque que estamos creando).
Los items que forman la llave primaria no se deben desplegar.
Eliminar el frame asociado al bloque y acomode los items dentro del frame del
bloque PK.
Ligar a este boque el property class BLOCK_QUERY.
Ligar la property class ITEM_DESCRIPCION a los items que forman la
descripcin
La figura 4.14 explica esta unin entre bloques.
4) Modificar el nombre del canvas, para que sea ms representativo
BLOQUE PK
BLOQUE
DESCRIPCIN
Property Class
BLOCK_QUERY
No visible
Property Class
ITEM_DESCRIPCION
Crear
relacin
sys_constraints.consultaFK(pTriggerItem, '<BLOQUE>',
<LLAVE FORANEA>)
Figura 4.15
En este cdigo se muestra cmo se han colocado los nombres de los bloques y Items
de la forma que se est realizando. La funcionalidad de este cdigo es de que si se
68
Figura 4.16
Diseo de la pantalla
Figura 4.17
Figura 4.18
3.
4.
5.
6.
Display items
List items
Botones
Radio buttons (que forman radio groups)
Figura 4.19
Elementos de datos.
72
Men
Default
MDI Parent
Window
Consola: Lnea de
Estatus y de Mensajes
Figura 4.20
Componentes de Runtime
4.2.3 Triggers
Un trigger es una unidad de programa que es ejecutada (disparada) debido a un
evento. Forms le permite construir elementos poderosos en una aplicacin, sin escribir una
sola lnea de cdigo. Los triggers le permiten agregar o modificar funcionalidad a la
aplicacin mediante cdigo PL/SQL.
Todos los triggers que usted defina son asociados con un evento especfico. Forms
define una amplia gama de eventos que pueden disparar un trigger. Estos incluyen: eventos
relacionados con consultas, validacin, navegacin, interaccin del usuario con los items de
la forma, eventos internos de la forma, errores y mensajes.
En Developer/2000, los triggers son escritos en PL/SQL. Hay tres componentes
principales a considerar cuando se disea un trigger:
Tipo de Trigger. Define el evento especifico que causar que se dispare el trigger.
Cdigo del Trigger. Cdigo en PL/SQL que define las acciones del trigger.
Alcance del trigger. El nivel en la forma, donde el trigger es definido. Esto
determina el alcance sobre el cual los eventos sern detectados por el trigger.
73
PL/
PL/ SQL
SQL
Queries
Validacin
Movimiento del Cursor/Mouse
Cursor/Mouse
Interaccin con el Usuario
Evento interno
Errores y Mensajes
Otros
Evento
Dispara
PL/
PL/ SQL
SQL
PL/
PL/ SQL
SQL
Tipos de
Triggers
Figura 4.21
Ejecucin de un Trigger
74
El cdigo anterior habilita las teclas que estarn disponibles durante la ejecucin de
la forma, desplegar los datos seleccionados de la tabla clientes en el bloque de lista
inferior de la forma, esto a travs de la instruccin:
go_item('listaclientes.clientenum');
execute_query;
go_item (); permite llevar el control hacia el bloque indicado como parmetro y la
instruccin execute_query; manda a llamar los datos de la tabla asociados del bloque.
El siguiente cdigo muestra cmo se insertarn los datos a la tabla de clientes que
son especificados en la forma. Este cdigo est contenido en una unidad de programa
llamada grabar y que a su vez es llamado por el Trigger WHEN-BUTTON-PRESSED del
botn grabar.
PROCEDURE grabar IS
BEGIN
IF :system.form_status <> lGNCOnst.cEdoChanged THEN
RAISE form_trigger_failure;
END IF;
--- VALIDACION DE DATOS CAPTURADOS
-IF :clientes_pk.clientenum IS NULL THEN
mensaje('Falta de captuar el nmero de cliente',1);
go_item('clientes_pk.clientenum');
raise Form_Trigger_Failure;
END IF;
IF :clientes.nombre IS NULL THEN
mensaje('Falta de captuar el nombre de cliente',1);
go_item('clientes.nombre');
raise Form_Trigger_Failure;
END IF;
IF :clientes.domicilio IS NULL THEN
mensaje('Falta de captuar el domicilio de cliente',1);
go_item('clientes.domicilio');
raise Form_Trigger_Failure;
END IF;
IF :clientes.poblacion IS NULL THEN
mensaje('Falta de captuar la poblacin de cliente',1);
go_item('clientes.poblacion');
raise Form_Trigger_Failure;
END IF;
--- INICIA LA TRANSACCIN
-BEGIN
--- DML A LOS BLOQUES DE LA VENTANA
-post;
IF :system.form_status <> lGNCOnst.cEdoQuery THEN
RAISE form_trigger_failure;
END IF;
75
El cdigo de la unidad de programa Borrar, es llamado por el Trigger de WHENBUTTON-PRESSED del mismo nombre que contiene el siguiente cdigo:
PROCEDURE borrar(pBloque VARCHAR2) IS
BEGIN
IF :system.form_status = lGNCOnst.cEdoNew THEN
RAISE form_trigger_failure;
END IF;
--- VALIDACION DE DATOS CAPTURADOS
-DECLARE
vClienteNum contratos.clienteNum%Type;
vcontratoNum contratos.contratoNum%Type;
BEGIN
SELECT
INTO
FROM
WHERE
contratonum, clientenum
vContratoNum, vClienteNum
contratos
clientenum = :clientes_pk.clientenum;
76
Figura 4.22
77
Data Model. Se hace doble clic en el nodo Data Model en el Object Navigator para
abrir la ventana Data Model. Esta ventana se utiliza para crear el query (o los queries) para
el reporte, definir columnas adicionales, agregar data links y filtros. En esta ventana se
define que datos contiene el reporte.
Figura 4.23
Layout Editor. Se hace doble clic en el nodo Layout Model en el Object Navigator
para abrir la ventana Layout Model. Esta ventana se utiliza para desplegar el layout del
reporte, el cual se puede crear por default, y ampliarlo como sea requerido. Contiene
muchos objetos, como fields, frames y boilerplates. En esta ventana se define como se
presentan los datos.
Figura 4.24
78
Figura 4.25
Live Previewer. En esta ventana se despliegan los datos del reporte. Esta ventana es
muy parecida al Layout Editor (de Forms o de Reports) y se puede modificar la apariencia
del reporte: color, fuentes, mscaras de formato, etc.
Figura 4.26
79
a elegir.
Sistema Operativo: Windows NT 4.0 con Service Pack 5 o 6, Windows 2000
con Service Pack 1, Windows98 or Windows95
* Requiere 256 Mb RAM si se usan utilidades de Java
Para trabajar bajo Windows es necesario manejar una cuenta de tipo
administrador en la parte de Base de Datos.
En la parte del Servidor:
Como mnimo 64 Mb en RAM, de donde 32 Mb deben de estar disponibles para
80
Captulo 5
En este ltimo captulo se realizan las pruebas a cada uno de los mdulos, ya sea
insertando datos, eliminando, consultando e imprimiendo.
Figura 5.1
Men Sistema
81
Figura 5.2
Men Catlogos
En el men catlogos se inician los mdulos que permiten ingresar los primeros
datos con los cuales el sistema podr trabajar ms adelante, estos mdulos son: Clientes,
Contratos, Cobradores, Productos y Servicios; As como tambin los accesos a los mdulos
que generarn los reportes de Clientes, Cobradores, Productos y Servicios, la figura 5.2
muestra el contenido del men.
Figura 5.3 a
82
Figura 5.3 b
El men Cuentas por Cobrar contiene la mayor parte de los mdulos principales del
sistema, los cuales le dan la funcionalidad deseada en los anlisis de requerimientos, los
cuales son: Generacin de Cuentas por Cobrar ya sea de manera individual o por grupo de
contratos, asignacin de Cuentas por Cobrar a Cobradores, Aplicacin de pagos, Facturas,
Anticipos, Notas de Crdito. Incluye el acceso a los mdulos de cancelacin de Factura,
Cuenta por Cobrar, Aplicacin de Pagos, Nota de Crdito y Anticipo. As como tambin
sus respectivos reportes de Facturas, Cuentas por Cobrar y Notas de Crdito, la Figura 5.3a
muestra el contenido del men junto con la seccin de cancelaciones y la figura 5.3b
muestra dicho men y su anexo de reportes de Cuentas por Cobrar.
El siguiente paso es generar la barra de botones que dar acceso al usuario a los
mdulos que son utilizados con ms frecuencia, esta barra es una ventana que contiene
botones de accin como los comnmente utilizados para la accin de Aceptar o Cancelar,
solo que en este casos se les activ la propiedad de mostrar un icono sobre ellos, Forms de
Developer Oracle, no incluye la utilidad de barra de herramientas como usualmente se hace
con otros desarrolladores de software como son el Visual Basic de Microsoft entre otros. La
prioridad que tiene Developer es la de manipular grandes cantidades de informacin y por
ello no se especializa en la parte grfica hacia el usuario.
La barra de herramientas generada luce como muestra la siguiente figura 5.4:
Figura 5.4
Barra de herramientas
83
5.1.2 Mdulos
En seguida se generan cada uno de los mdulos que comprendern el sistema de
facturacin, primeramente se hace una consulta de los datos que se van a manejar en cada
uno de dichos mdulos, esto es, se hace un anlisis de requerimientos de cada mdulo
llamado especificacin de mdulo.
En cada especificacin de mdulo se indica la funcionalidad, componentes y diseo
que ser visible al usuario as como las restricciones de datos de cada uno.
Figura 5.5
Figura 5.6
84
Para utilizar el catlogo de contratos, es necesario que primero se capturen los datos
de los clientes as como un producto por el cual se prestar un servicio. En la figura 5.6 se
muestra dicho catlogo.
Figura 5.7
Figura 5.8
Figura 5.9
85
Figura 5.10
La generacin de las cuentas por cobrar involucra tanto a los contratos, clientes,
productos y clculos que realiza esta forma para almacenar los datos en la tabla de cuentas
por cobrar, detalle de cuentas por cobrar y detalle de contratos, para despus asignarle a los
cobradores dichas cuentas por cobrar.
86
5.1.3 Reportes
Figura 5.11
Figura 5.12
87
Figura 5.13
En la figura 5.14, muestra el diseo del reporte de facturas cobradas por cobrador,
para mostrar este reporte es necesario dar un rango de fecha y cobrador
Figura 5.14
88
La figura 5.15 muestra el reporte general de facturas no pagadas, para ejecutar este
reporte es necesario indicar la fecha lmite a la cual se desea saber que personas deben
dicho servicio.
Figura 5.15
89
CONCLUSIN
Actualmente el sistema cumple con diferentes funciones propuestas al inicio, se
pueden ingresar todos los datos solicitados con sus respectivas validaciones, puede tambin
mostrar diferentes reportes y por supuesto generar todo el proceso de facturacin que va
desde la generacin de cuentas por cobrar, asignacin de notas de crdito y generacin de
facturas, estos son los puntos ms importantes que debe de realizar el sistema y actualmente
los lleva a cabo.
Para la implementacin del sistema en el equipo del cliente es necesario realizar una
migracin de datos que parte del sistema de Access a Oracle. Para ello es necesario anexar
diferentes columnas a las que se tienen, se debe de dividir informacin que se tena en una
sola tabla en diferentes debido al nuevo anlisis que se present para el proyecto. Una vez
hecha la estructuracin de los datos en tablas de Excel, se procede a generar los Scripts para
que en la ventana de Oracle PL/SQL sean ingresados a la base de datos.
El anlisis hecho en este trabajo fue implementado con xito, dando como respuesta
que el sistema realiza adecuadamente el proceso de facturacin as como el buen
funcionamiento de los mdulos.
El anlisis y diseo de Base de Datos tiene la estructura adecuada para soportar los
datos que la empresa solicita, adems de poder almacenar gran cantidad de informacin
para darle larga durabilidad y soporte al sistema.
El utilizar el manejador de Base de Datos Oracle me ayud a entender y manejar
diversas herramientas que me son muy tiles para el medio en el que me desarrollo, el
manejo de las herramientas de desarrollo Oracle me da una perspectiva mas amplia de lo
que es el concepto del manejo de las Bases de Datos, que tienen infinidad de aplicaciones y
que el manejo de informacin, con la ayuda de Oracle, es a grandes escalas tanto en el rea
privada como de investigacin.
90
PERSPECTIVAS
El sistema se encuentra en la posibilidad de podrsele agregar otras funciones o
aplicar nuevos requerimientos, el sistema fue diseado para implementarse solo en un
equipo, sin embargo se puede implementar en una red de tipo LAN sin ninguna
modificacin al sistema o a la Base de Datos.
El realizar que la informacin del sistema de facturacin sea consultada a travs
de Internet no es un requerimiento que necesite demasiado anlisis y modificacin de los
mdulos actuales, la herramienta de desarrollo Developer de Oracle tiene una
herramienta para migrar la estructura de las formas y reportes hechos en Developer 6i a
otra ms actual que es la versin 9i-AS que trabaja sobre la plataforma Java que es muy
portable a cualquier sistema operativo a travs de los navegadores WEB. Para hacer
dicha migracin no existira la necesidad de hacer cambios en la estructura de la Base de
Datos.
El sistema actual puede ser utilizado para cualquier otra empresa que se dedique
a dar cualquier tipo de servicio o venta de productos, de hecho, se puede aplicar en una
empresa que de el servicio de vender sus productos servicios a crdito, esto es debido
a que el sistema maneja mdulos de cuentas por cobrar que se puede acoplar con
facilidad.
91
BIBLIOGRAFA
[PrR93]
[HaI94]
[ByS98]
[OrR98]
[KaK+97]
[KoH+94]
[BrM+84]
[DaC91]
[MoP96]
Piroz Mohseni, Web Database Primer Plus, Waite Group Press, 1996
[JaM97]
[BrE91]
[PuL97]
Lee Purcell, Mary Jane Mara, The ABCs of Java Script, Sybex, 1997
[LoK02]
92
[PeC03]
[PKo+00]
http://www.oracle.com
http://otn.oracle.com
93