Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Jordibs TFC 0610 PDF
Jordibs TFC 0610 PDF
13 - Junio - 2010
Resumen
El presente proyecto pretende ser una sntesis de los conocimientos adquiridos
a lo largo de los ltimos aos como alumno de la UOC aplicados en la simulacin de
un caso prctico real de un proyecto de implementacin de una base de datos.
El foco en el cual me he centrado en los ltimos aos de estudio ha sido el de
las bases de datos. Han sido especialmente valiosos para este proyecto los
contenidos de las asignaturas de Modelos Multidimensionales, Minera de Datos,
Comercio Electrnico, Metodologa y Gestin de Proyectos Informticos y, por su
puesto, las asignaturas cursadas en primer ciclo: Bases de Datos I y Bases de Datos
II.
El proyecto se inicia por la gestin y organizacin del mismo. Se plantean los
requerimientos funcionales declarados por el usuario final y un plazo de entrega. Se
determina de manera concreta el alcance del proyecto as como un calendario con los
distintos hitos que deben cumplirse durante su ejecucin. Esta es una parte muy
importante del proyecto, pues, en caso de desacuerdo, tanto lo que est escrito, como
la forma en que est escrito, as como, lo que no est escrito puede llegar a ser
fundamental para que un tercero o, una autoridad judicial, pueda dar o quitar razones
ante un conflicto interpretativo.
A continuacin se hace referencia a la metodologa empleada para un correcto
seguimiento del proyecto de cara a garantizar su cumplimiento en las fechas pactadas.
Se seguir una metodologa en cascada y se declara los hitos intermedios y un
calendario que sirva para pronosticar los posibles desvos que puedan originarse.
Finalmente, se desarrolla la parte tcnica del proyecto desglosndose en dos
apartados fundamentales: el desarrollo del sistema operacional y el desarrollo del
sistema analtico y su correspondiente valoracin econmica.
Pgina 2
Dedicatoria
A mi mujer.
Pgina 3
Tabla de contenido
1.
Introduccin ............................................................................................................................ 7
1.1.
Contexto ........................................................................................................................ 7
1.2.
Objetivos ........................................................................................................................ 9
1.3.
1.3.1.
1.3.2.
1.3.3.
1.4.
1.4.1.
1.4.2.
1.4.3.
1.4.4.
1.4.5.
1.4.6.
1.4.7.
1.4.8.
1.4.9.
Calendario ........................................................................................................... 13
1.5.
2.
3.
4.
Planificacin ................................................................................................................ 11
2.2.
3.2.
3.3.
3.4.
ndices ......................................................................................................................... 28
3.5.
Procedimientos ............................................................................................................ 28
3.6.
Implementacin .................................................................................................................... 33
4.1.
4.2.
4.2.1.
4.2.2.
4.2.3.
4.2.4.
4.2.5.
4.2.6.
4.2.7.
4.2.8.
Guiones ............................................................................................................... 35
4.3.
Pgina 4
5.
6.
4.4.
4.5.
Pruebas ....................................................................................................................... 39
5.2.
5.3.
Requerimientos ........................................................................................................... 44
5.4.
5.5.
5.6.
5.7.
5.8.
5.9.
5.9.1.
5.9.2.
5.9.3.
5.9.4.
7.
Conclusiones ........................................................................................................................ 70
Bibliografa................................................................................................................................... 71
Pgina 5
Tabla de ilustraciones
Diagrama de Gantt ...................................................................................................................... 14
Diagrama Entidad Relacin ......................................................................................................... 20
Diagrama lgico........................................................................................................................... 27
Primeras 50 filas de la tabla TBLOG ........................................................................................... 39
Detalle de las tablas despus de su creacin ............................................................................. 40
Flujo de trabajo con las herramientas Cognos ............................................................................ 43
Informe de Impromtu ................................................................................................................... 47
Diagrama conceptual 1 ............................................................................................................... 48
Diagrama conceptual 2 ............................................................................................................... 49
Diagrama conceptual 3 ............................................................................................................... 50
Diagrama conceptual 4 ............................................................................................................... 51
Definicin del catlogo Impromptu .............................................................................................. 54
Definicin del catlogo Impromptu .............................................................................................. 55
Definicin Query Impromptu ........................................................................................................ 56
Definicin Query Impromptu ........................................................................................................ 57
Definicin Query Impromptu ........................................................................................................ 58
Definicin PowerCube Transformer ............................................................................................ 59
Definicin PowerCube Transformer ............................................................................................ 60
Tabla 1 PowerPlay Prstamos .................................................................................................... 61
Tabla 2 PowerPlay Prstamos .................................................................................................... 62
Tabla 3 PowerPlay Prstamos .................................................................................................... 62
Grfico 1 PowerPlay Prstamos ................................................................................................. 63
Tabla 1 PowerPlay Autores ......................................................................................................... 64
Grfico 1 PowerPlay Autores ...................................................................................................... 64
Tabla 1 PowerPlay Afluencia ...................................................................................................... 65
Grfico 1 PowerPlay Afluencia .................................................................................................... 65
Tabla 1 PowerPlay Vida de Documentos .................................................................................... 66
Grfico 1 PowerPlay Vida de Documentos ................................................................................. 66
Tabla 1 PowerPlay Estado Documentos ..................................................................................... 67
Grfico 1 PowerPlay Estado Documentos .................................................................................. 67
Pgina 6
1. Introduccin
1.1.
Contexto
Pgina 7
Pgina 8
1.2.
Objetivos
El objetivo del proyecto es implementar una base de datos para que pueda ser
integrada en un aplicativo de gestin de una red de bibliotecas que est desarrollando
la empresa AllTogether, SL.
Aparte de satisfacer los requerimientos de nuestro contratante, la gestin del acceso a
la informacin se realizar en su totalidad por medio de procedimientos almacenados
de base de datos, esto facilitar la integracin de la base de datos al aplicativo
desarrollado por nuestro cliente.
Adems, para poder auditar posibles conflictos con AllTogheter o con sus cliente,
dejaremos una huella de todas las operaciones que se realicen en la base de datos de
forma que quede registrado en un fichero de diario o log cada uno de los accesos de
escritura que se realice a la base de datos.
Otro objetivo es realizar un sistema capaz de obtener de forma eficiente de aquellos
elementos valiosos de toma de decisiones. Es decir hacer un uso adecuado de los
datos para obtener informacin til para el soporte de la toma de decisiones, lo cua
resulta difcil lograr con los sistemas operacionales.
Las partes en que se divide el proyecto son:
Anlisis de riesgos
Ttulo
Enunciado
Entrega
PAC 1 (PT)
25/02/2010
21/03/2010
PAC 2
25/02/2010
18/04/2010
PAC 3
Entrega final
(memoria+producto+presentacin)
25/02/2010
16/05/2010
25/02/2010
13/06/2010
Pgina 9
1.3.
1.3.1.
Por las caractersticas del presente proyecto donde los requerimientos estn
perfectamente definidos y con apenas ningn factor de riesgo, me inclino por seguir
una metodologa en cascada.
Esta metodologa consiste en un proceso secuencial en el que los pasos de desarrollo
son vistos hacia abajo (como una cascada de agua) a travs de las fases de anlisis
de requerimientos, diseo implementacin, pruebas e integracin.
El proyecto se divide en dos fases: una de anlisis, diseo e implementacin del
sistema operacional y otra para el sistema analtico.
1.3.2.
1.3.3.
Hitos principales.
Pgina
10
1.4.
Planificacin
Las actividades que se van a realizar en este proyecto son las siguientes:
1.4.1.
Formacin en Cognos.
Cognos http://www-01.ibm.com/support/docview.wss?uid=swg27014591
https://merlin.state.ms.us/Merlin/MERLINAn.nsf/ae447c6ec3083152862568aa00549d7
2/6b96ab2fca9c6a41862574730058be83?OpenDocument
Cognos. Este es un producto Business Intelligence (BI) que proporciona una gama
completa de capacidades de reporting, anlisis, indicadores, cuadros de mando,
gestin de eventos de negocio, adems de integracin de dadtos en una nica
estructura.
La propia herramienta ya incorpora abundante documentacin en forma de ficheros
PDF. Consiste en guias de referencia de los distintos productos (Impromptu,
Transformer y PowerPlay)
1.4.3.
En esta apartado se realizarn todos los pasos necesarios para el acceso a los datos,
tanto altas, bajas como modificaciones de datos. Se crearn los procedimientos
almacenados, disparadores, registros de login y todos los elementos requeridos para
mantener los datos segn las especificaciones de nuestro contratante. Se realizar
un script que sirva para realizar un plan de pruebas que sirva para validar el correcto
funcionamiento de los objetos de base de datos creados.
1.4.6.
Pgina
11
1.4.7.
1.4.8.
Documentacin final.
Pgina
12
1.4.9.
Calendario
Pgina
14
Ficheros Cognos
Los ficheros que vienen a continuacin son objetos de los productos Cognos. Para
que funcionen correctamente debe existir una definicin de conexin ODBC
denominada Biblioteca con la base de datos creada en los pasos anteriores.
Por otra parte, estos ficheros de configuracin se relacionan entre ellos y deben estar
ubicados en el directorio: C:\Users\Jordi\Cognos
FICHEROS *.CAT (PFC-ETL-Ejemplar, PFC-ETL-Prestamo, PFC-Operacional)
Contienen la definicin del catlogo.
FICHEROS *.IMR
(PFC-Recomendacion, PFC-1-Documentos, PFC-2-Autores, PFC-3-Ejemplares)
Contienen los proyectos Impromptu.
FICHEROS *.PPR
(PFC-1-Documentacin, PFC-2-Autor, PFC-3-Ejemplar)
Contienen los proyectos PowerPlay.
Pgina 16
MODELO OPERACIONAL
Pgina 17
Identificacin de entidades
Biblioteca
Personal
Coleccin
Material
Recurso
Ejemplar
Socio
TipoSocio
Pgina 18
Limite
Estado
HistoricoEstado
Prstamo
Transaccin
Pagos
Pgina 19
2.2.
3.1.
TABLA Biblioteca
Descripcin: Datos de cada una de las bibliotecas que componen la red de bibliotecas
TABLA Coleccion
Descripcin: Distribucin temtica en que se distribuyen los recursos de una biblioteca.
TABLA Material
Descripcin: Identifica el soporte en que est realizado cada uno de los recursos de la
biblioteca, por ejemplo, libros, revistas, mapas, DVD, CD.
materialId: [Clave Primaria]. Campo entero auto-incremental, clave artificial para cada
uno de los materiales.
descripcion: Campo de texto. Descripcin del material.
imagenFile: Campo de texto. URL de un recurso de red que contiene una imagen tipo
jpg que identifica visualmente un material determinado.
TABLA Empleado
Descripcin: Representa los empleados que pueden acceder al aplicativo.
TABLA Autor
Descripcin: Representa los autores de la obras contenidas en las bibliotecas.
autorId: [Clave Primaria]; Campo entero auto-incremental, clave artificial para cada uno
de los autores.
nombre: Campo de texto. Nombre completo del autor.
TABLA Recurso
Descripcin: Representa las obras contenidas en la red de bibliotecas, pero no su
materializacin en las distintas copias de libros, Vdeos, CDs, etc., las cuales estn
representadas por otra entidad.
recursoId: [Clave Primaria]. Campo entero auto-incremental, clave artificial para cada
uno de los recursos.
ttulo: Campo de texto. Ttulo de la obra
subttulo: Campo de texto. Subttulo de la obra
materialId: [Clave Fornea, tabla Material]. Indica el soporte en que se materializa este
recurso (libro, CD, vdeo).
fechaAlta: Campo de fecha. Indica la fecha de alta del recurso en la aplicacin.
fechaBaja: Campo de fecha. Indica la fecha de baja del recurso en la aplicacin.
ultimaModFecha: Campo de fecha. Indica la fecha en que se produjo la ltima
modificacin de los datos de este recurso.
ultimaModEmpl: [Clave Fornea, tabla Empleado]. Indica el empleado que realiz la
ltima modificacin de los datos de este recurso.
Pgina 22
TABLA Autor
Descripcin: Representa los autores de la obras contenidas en las bibliotecas.
autorId: [Clave Primaria]; Campo entero auto-incremental, clave artificial para cada uno
de los autores.
nombre: Campo de texto. Nombre completo del autor.
TABLA RecursoAutor
Descripcin: tabla auxiliar para representar la relacin N a N entre autores y recursos.
recursoId: [Clave Primaria] [Clave Fornea, tabla Recurso]; Identificador del recurso
autorId: [Clave Primaria] [Clave Fornea, tabla Autor]; Identificador del autor
TABLA Ejemplar
Descripcin: Representa cada uno de los objetos susceptibles de prstamo de la
biblioteca: libros, pelculas, revistas.
ejemplarId: [Clave Primaria]. Campo entero auto-incremental, clave artificial para cada
uno de los ejemplares.
bibliotecaId: [Clave Fornea, tabla Biblioteca]. Identificador de la biblioteca propietaria
de este ejemplar.
recursoId: [Clave Fornea, tabla Recurso]. Identificador del recurso, por ejemplo si se
trata de un ejemplar del libro Guerra y Paz, este campo contiene el identificador de
este recurso.
descripcin: Campo de texto. Cualquier comentario sobre este ejemplar.
cdigoBarras: Campo numrico entero. Cdigo de barras adherido al ejemplar que lo
identifica de forma nica.
ContadorRenovac: Campo numrico entero. Contador de renovaciones que ha tenido
el ejemplar.
fechaAlta: Campo de fecha. Indica la fecha de alta de ejemplar en la aplicacin
fechaBaja: Campo de fecha. Indica la fecha de baja del ejemplar en la aplicacin
ultimaModFecha: Campo de fecha. Indica la fecha en que se produjo la ltima
modificacin de los datos de este ejemplar.
ultimaModEmpl: [Clave Fornea, tabla Empleado]. Indica el empleado que realiz la
ltima modificacin de los datos de este ejemplar.
TABLA Estado
Descripcin: Representa los distintos estados en los que se puede encontrar un ejemplar
de la bilioteca: prestado, perdido, disponible, daado, pedido a editorial, etc.
Pgina 23
TABLA HistoricoEstado
Descripcin: distintos estados por los que ha pasado un ejemplar.
ejemplarId: [Clave Primaria] [Clave Fornea, tabla Ejemplar]; Identificador del ejemplar
estadoId: [Clave Primaria] [Clave Fornea, tabla Estado]; Identificador del estado
fechaDesde: [Clave Primaria]. Campo Fecha. Representa la fecha en que el ejemplar
pasa a este estado
fechaHasta: Campo Fecha. Representa la fecha en que el ejemplar deja de estar en
este estado. Si esta a nulos quiere decir que es el estado actual.
TABLA Tipo
Descripcin: Representa la tipologa de socios de la biblioteca. En la actualidad se
distinguen los tipos Juvenil y Adulto, pero no se descarta que puedan haber ms en el
futuro.
tipoId: [Clave Primaria]; Campo de texto, abreviacin de los distintos tipos de socio.
descripcion: Campo de texto. Descripcin de la tipologa de los socios.
maximoMultas: Campo numrico entero. Nmero mximo de multas aplicables a un
socio, una vez sobrepasado no se permiten ms prstamos.
TABLA Socio
Descripcin: Representa los socios de la red de bibliotecas. Debe considerarse que los
socios lo son de la red de bibliotecas y no de una determinada.
socioId: [Clave Primaria]; Campo entero auto-incremental, clave artificial para cada
uno de los socios.
tipoId: [Clave Primaria] [Clave Fornea, tabla Tipo]; Identificador de tipo de socio
cdigoBarras: Campo numrico entero. Cdigo de barras impreso en el carnet de
socio de la biblioteca que lo identifica de forma nica.
apellidos: Campo de texto. Apellidos del socio.
nombre: Campo de texto. Nombre del socio.
telefono: Campo de texto. Telfono particular.
correoElectronico: Campo de texto. Correo electrnico
fechaAlta: Campo de fecha. Indica la fecha de alta del empleado en la aplicacin
fechaBaja: Campo de fecha. Indica la fecha de baja del empleado en la aplicacin
ultimaModFecha: Campo de fecha. Indica la fecha en que se produjo la ltima
modificacin de los datos de este socio.
ultimaModEmpl: [Clave Fornea, tabla Empleado]. Indica el empleado que realiz la
ltima modificacin de los datos de este socio.
Pgina 24
TABLA Prestamo
Descripcin: Accin por la que un recurso se deja en rgimen de prstamo a un socio de
la red de bibliotecas.
ejemplarId: [Clave Primaria] [Clave Fornea, tabla Ejemplar]; Identificador del ejemplar
socioId: [Clave Primaria] [Clave Fornea, tabla Socio]; Identificador del socio
fechaDesde: [Clave Primaria]. Campo Fecha. Representa la fecha en que el ejemplar
es prestado
fechaHasta: Campo Fecha. Representa la fecha en que el ejemplar es devuelto. Si se
encuentra a nulos quiere decir que est prestado.
fechaPrevistaDevol: Campo Fecha. Fecha prevista de devolucin considerando el
mximo nmero de das de prstamo
contadorRenovac: Campo Numrico entero. Nmero de renovaciones del prstamo
que se han realizado.
TABLA Reserva
Descripcin: Accin por la que se reserva un recurso que actualmente est en estado
prestado. Al vencimiento del prstamo no ser posible la renovacin por el actual usuario
si es que existe una reserva sobre l.
ejemplarId: [Clave Primaria] [Clave Fornea, tabla Ejemplar]; Identificador del ejemplar
socioId: [Clave Primaria] [Clave Fornea, tabla Socio]; Identificador del socio
fecha: [Clave Primaria]. Campo Fecha. Representa la fecha en que el ejemplar es
reservado
TABLA Limite
Descripcin: En funcin de la tipologa de socio y del soporte material de los recursos se
establecen unos lmites en cuanto a prstamos y renovaciones.
materialId: [Clave Primaria]. [Clave Fornea, tabla Material]. Indica el soporte en que
se materializa este recurso (libro, CD, vdeo, )
tipoId: [Clave Primaria] [Clave Fornea, tabla Tipo]; Identificador de tipo de socio
lmitePrestamos: Campo numrico entero. Representa el lmite de prstamos que un
socio de un tipo determinado puede realizar sobre un recurso de un soporte material
determinado.
lmiteRenovaciones: Campo numrico entero. Representa el lmite de renovaciones
que un socio de un tipo determinado puede realizar sobre un recurso de un soporte
material determinado.
TABLA Transaccion
Descripcin: Representa los tipos de transacciones econmicas que se realizan entre
socios y la biblioteca.
Pgina 25
TABLA Pago
Descripcin: Accin por la que se realiza un pago por un tipo de transaccin concreto, por
ejemplo cuotas, multas, traducciones, etc.
pagoId: [Clave Primaria]; Campo entero auto-incremental, clave artificial para cada uno
de los pagos.
socioId: [Clave Fornea, tabla Socio]; Identificador del socio
trasaccionId: [Clave Fornea, tabla Socio]; Identificador de tipo de transaccin.
descripcin: Campo de texto. Descripcin del pago.
importe: Campo numrico decimal. Importe del pago.
fecha: Campo de fecha. Fecha del pago
ultimaModFecha: Campo de fecha. Indica la fecha en que se produjo la ltima
modificacin de los datos de este pago.
ultimaModEmpl: [Clave Fornea, tabla Empleado]. Indica el empleado que realiz la
ltima modificacin de los datos de este pago.
Pgina 26
3.2.
3.3.
Controles de integridad
3.4.
ndices
Nos interesar tener ndices de todos los campos que hacemos servir para relacionar
tablas entre s, de manera que las consultas relacionadas sean lo ms rpidas posible.
Despus valoraremos el resto de campos. La ventaja de indexar es que las consultas
en estos campos sern ms rpidas, sin embargo, se penalizan inserciones,
supresiones y modificaciones y adems ocupan espacio adicional.
Los campos seleccionados para ser indizados son los siguientes:
Los campos de clave primaria que lo son por su propia naturaliza.
Los campos de clave fornea que haremos servir para relacionar tablas.
Tambin se indizarn los campos correspondientes a Cdigo de Barras para
garantizar la unicidad de estos campos.
3.5.
Procedimientos
Nuestro sistema permitir libremente el acceso en modo lectura a las tablas de datos
para el software, sin embargo todos los accesos de escritura debern realizarse por
medio de los procedimientos almacenados. Se van crear todos los procedimientos
almacenados necesarios, y sern estos procedimientos los responsables de mantener
la consistencia de los datos
Lo importante es proporcionar los procedimientos bsicos con un cdigo robusto de
control de errores. Las aplicaciones podrn preparar procedimientos ms complejos
partiendo de los procedimientos aportados en este proyecto.
Pgina 29
socioId,
fechaDesde,
fechaHasta,
Pgina 30
Pgina 31
3.6.
El sistema tiene una tabla (TBLOG) destinada a guardar las llamadas que se han
hecho a los procedimientos. La utilizacin de los procedimientos relacionados en el
prrafo anterior debe ser la nica forma de actualizacin de los datos. Los
procedimientos grabarn en la tabla TBLOG los movimientos realizados de forma que
servir de diario de la base de datos.
Con esta tabla debemos ser capaces de detectar cualquier problema y auditar los
movimientos realizados. Deberemos ser capaces de detectar y reproducir cualquier
error puesto que tenemos un histrico de todas las llamadas realizadas y podramos
reproducir la situacin.
Por cada llamada que se haga a los procedimientos guardaremos una fila con la
siguiente informacin:
Hora de la ejecucin
Usuario que ejecuta el procedimiento
Nombre del procedimiento almacenado
Valor de los parmetros de entrada
Valor de los parmetros de salida
Resultado de la ejecucin RC.
Traza
Cdigo de error Oracle
Descripcin Oracle del error
Pgina 32
4. Implementacin
4.1.
Plataforma de trabajo
4.2.
En este punto se declaran los criterios que se han seguido para la implementacin del
proyecto.
4.2.1.
Cdigo estructurado
4.2.3.
Pgina 33
4.2.4.
Campos auto-incrementales
En algunas tablas, el campo utilizado como clave principal es una clave ficticia, de tipo
numrico que se incrementa automticamente a cada insercin de una fila. Oracle
no incorpora este tipo de datos auto-incrementales, sin embargo contiene un objeto
llamado secuencia que dispone de un mtodo que permite la generacin de un nuevo
nmero cada vez que se inserta un registro, de forma que siempre se generan
nmeros diferentes.
4.2.5.
Control de excepciones
4.2.6.
Todos los procedimientos tienen un primer parmetro comn denominado pRC. Este
parmetro es de slo salida y se denomina pRC. Los valores que puede tomar
comienzan siempre por uno de estos dos prefijos: OK, ERROR.
OK Se devuelve solo OK e indica que la ejecucin ha sido correcta.
ERROR-CODIGO-Descripcin Se ha producido algn error y no se ha hecho
efectivo ningn cambio en la base de datos.
4.2.7.
Pgina 34
En esta tabla debemos reproducir las condiciones que han llevado al sistema a un
estado determinado, para poder analizar en caso de un error concreto qu es lo que
ha pasado para que el sistema haya quedado en ese estado, o haya dado ese error.
En esa tabla se almacena:
Cdigo
Hora
Empleado
Procedimiento
Parmetros entrada
Parmetros salida
Resultado
Traza
Cdigo Error
Descripcin Error
4.2.8.
Autonumrico
Fecha y hora del momento del registro
Cdigo de usuario que ejecuta la accin
Nombre del procedimiento ejecutado
Valores de los parmetros de entrada
Valores de los parmetros de salida
Valor del parmetro pRC
Traza dentro del procedimiento
Cdigo de error de Oracle
descripcin de error de Oracle
Guiones
Pgina 35
Una vez introducidos los datos correctamente se comprobar que las funciones fallan
de la manera que se espera cuando le pasamos incorrectamente los parmetros. Este
procedimiento va escribiendo lneas de comentario por una salida estndar.
GUION 5. Eliminacin de todos los registros de la base de datos
Este procedimiento borra todos los registros grabados en el GUION 4 y las distintas
pruebas que se hayan podido realizar.
Pgina 36
4.3.
A continuacin se muestra lista de tablas creadas que forman parte de este proyecto.
El detalle de cada una de ellas puede verse en el apartado de diseo o bien en el
propio guin de creacin de tablas.
Biblioteca(*), Empleado(*), TBLOG(*), Coleccion(*), Material(*), Recurso(*), Autor(*),
RecursoAutor, Ejemplar(*), Tipo(*), Socio(*), Estado(*), HistEstado, Prestamo,
Reserva, Limite, Transaccion(*), Pago(*).
Las tablas marcadas con (*) requieren de la creacin de una secuencia por ser de
clave autonumrica.
A continuacin veremos la definicin de un par de tablas contenidas dentro de
Guin2.En ellas se puede ver cmo se establece la integridad referencial tal como se
defini en el apartado de diseo lgico.
INTEGER
CONSTRAINT
CONSTRAINT
CONSTRAINT
CONSTRAINT
CONSTRAINT
NN_pre_ejemplar
FK_pre_eje_eje
NN_pre_socio
FK_pre_soc_soc
NN_pre_fechaD
NOT NULL
REFERENCES
NOT NULL
REFERENCES
NOT NULL,
Ejemplar(ejemplarId),
Socio(socioId),
fechaDesde
DATE
fechahasta
DATE,
fechaPrevistaDev DATE
CONSTRAINT NN_pre_fechaPrev
NOT NULL,
contadorRenovac
INTEGER
CONSTRAINT NN_pre_renovac
NOT NULL,
CONSTRAINT PK_prestamo PRIMARY KEY (ejemplarId, socioId, fechaDesde)
);
INTEGER
CHAR(8)
INTEGER
VARCHAR2(100)
VARCHAR2(100),
VARCHAR2(16)
VARCHAR2(100)
DATE
DATE,
DATE
INTEGER
CONSTRAINT
CONSTRAINT
CONSTRAINT
CONSTRAINT
CONSTRAINT
PK_socio
NN_soc_barras
NN_tip_tipo
FK_soc_tip_tip
NN_soc_apellidos
CONSTRAINT NN_soc_direccion
CONSTRAINT NN_soc_email
CONSTRAINT NN_soc_fechaAl
CONSTRAINT NN_soc_ultModF
CONSTRAINT NN_soc_ultModE
CONSTRAINT FK_soc_emp_emp
CONSTRAINT UN_Socio UNIQUE(codigoBarras)
);
Pgina 37
PRIMARY KEY,
NOT NULL,
NOT NULL
REFERENCES Tipo(tipoId),
NOT NULL,
NOT NULL,
NOT NULL,
NOT NULL,
NOT NULL,
NOT NULL
REFERENCES
Empleado(empleadoId),
4.4.
Pgina 38
4.5.
Pruebas
En la documentacin anexa se incluye un juego de pruebas de todas las funciones que se han
implementado.
El juego de pruebas est pensado para ser ejecutado con las tablas vacas
HORA
18/04/2010 23:09
CODIGO
USUARIO
admin
PROCEDIMIENTO
AltaBiblioteca
2
3
18/04/2010 23:09
18/04/2010 23:09
admin
admin
ModificaBiblioteca
EliminaBiblioteca
18/04/2010 23:09
admin
AltaEmpleado
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
18/04/2010 23:09
18/04/2010 23:09
18/04/2010 23:09
18/04/2010 23:09
18/04/2010 23:09
18/04/2010 23:09
18/04/2010 23:09
18/04/2010 23:09
18/04/2010 23:09
18/04/2010 23:09
18/04/2010 23:09
18/04/2010 23:09
18/04/2010 23:09
18/04/2010 23:09
18/04/2010 23:09
18/04/2010 23:09
18/04/2010 23:09
18/04/2010 23:09
18/04/2010 23:09
18/04/2010 23:09
18/04/2010 23:09
18/04/2010 23:09
18/04/2010 23:09
18/04/2010 23:09
18/04/2010 23:09
admin
admin
admin
admin
admin
admin
admin
admin
admin
admin
admin
admin
admin
admin
admin
admin
admin
admin
admin
admin
admin
admin
admin
admin
admin
ModificaEmpleado
EliminaEmpleado
AltaColeccion
AltaColeccion
AltaColeccion
AltaColeccion
AltaColeccion
AltaColeccion
AltaColeccion
AltaColeccion
AltaColeccion
AltaColeccion
AltaColeccion
ModificaColeccion
EliminaColeccion
AltaMaterial
AltaMaterial
AltaMaterial
AltaMaterial
AltaMaterial
AltaMaterial
AltaMaterial
AltaMaterial
ModificaMaterial
EliminaMaterial
30
18/04/2010 23:09
admin
AltaRecurso
31
18/04/2010 23:09
admin
AltaRecurso
32
18/04/2010 23:09
admin
AltaRecurso
33
18/04/2010 23:09
admin
AltaRecurso
34
18/04/2010 23:09
admin
AltaRecurso
35
18/04/2010 23:09
admin
AltaRecurso
36
18/04/2010 23:09
admin
AltaRecurso
37
38
18/04/2010 23:09
18/04/2010 23:09
admin
admin
AltaRecurso
AltaRecurso
39
40
41
42
43
44
45
46
47
48
49
50
18/04/2010 23:09
18/04/2010 23:09
18/04/2010 23:09
18/04/2010 23:09
18/04/2010 23:09
18/04/2010 23:09
18/04/2010 23:09
18/04/2010 23:09
18/04/2010 23:09
18/04/2010 23:09
18/04/2010 23:09
18/04/2010 23:09
admin
admin
admin
admin
admin
admin
admin
admin
admin
admin
admin
admin
ModificaRecurso
EliminaRecurso
AltaAutor
AltaAutor
AltaAutor
AltaAutor
AltaAutor
AltaAutor
AltaAutor
AltaAutor
AltaAutor
AltaAutor
PARAMETROS
ENTRADA
Biblioteca CataluaAv. Diagonal 200,
Barcelona933009090bibliotecaDiagon
al@UOC.EDUblibliotecaDiagonal.UOC.
edu
2Biblioteca CatalunyaAv. Diagonal
200,
Barcelona933111111bibliotecaDiagon
al@UOC.EDUblibliotecaDiagonal.UOC.
edu
2
userJBSuserJBSBlanca SnchezF.
Jorge1NNNNN
2Blanca SnchezF.
Jorge1YYYYY10-12-2010
2
Adult Fiction21,5
Adult Nonfiction21,25
Cassettes7,75
Compact Discs7,5
Computer Software71,15
Easy Readers21,45
Juvenile Fiction21,25
Juvenile Nonfiction21,25
New Books14,3
Videos and DVDs31
Referencia31
11Videos and DVDs51,5
11
audio tapestape.gif
bookbook.gif
cd audiocd.gif
cd computercd.gif
equipmentcase.gif
mapsmap.gif
video/dvdcamera.gif
pruebaprueba.gif
8MiMaterialmaterial.gif
8
UNIX in a NutshellA Desktop Quick
Reference for System V and Solaris
2.02218/04/10
Java in a NutshellA Desktop Quick
Reference4218/04/10
Design PatternsElements of Reusable
Object-Oriented
Software6218/04/10
Applying UML and PatternsAn
Introduction to Object Oriented Analysis
and Design7218/04/10
Beverly Cleary, Illustrated by Louis
Darling1618/04/10
Beverly Cleary, Illustrated by Louis
Darling3718/04/10
PC World (Periodical):2003PC World
Communications, Inc.4618/04/10
U.S. News and World Report
(Periodical):2003U.S. News and World
Report5718/04/10
yyyzzz5718/04/10
91112225718/04/1018/04/10
1
9
Gilly,Daniel
David Lanagan
Flanagan, David
Erich Gamma
Richard Helm
Ralph Johnson
John Vlissides
Craig Larman
Beverly Cleary
Henry Huggins
PARAMETROS
SALIDA
TRAZA
OK
1000
OK
OK
1000
1000
2
2Blanca SnchezF. Jorge1YYYYY10-122010
2
1
2
3
4
5
6
7
8
9
10
11
11
11
1
2
3
4
5
6
7
8
8MiMaterialmaterial.gif
8
OK
1000
OK
OK
OK
OK
OK
OK
OK
OK
OK
OK
OK
OK
OK
OK
OK
OK
OK
OK
OK
OK
OK
OK
OK
OK
OK
1000
1000
1000
1000
1000
1000
1000
1000
1000
1000
1000
1000
1000
1000
1000
1000
1000
1000
1000
1000
1000
1000
1000
1000
1000
OK
1000
OK
1000
OK
1000
OK
1000
OK
1000
OK
1000
OK
1000
8
9
OK
OK
1000
1000
9
1
2
3
4
5
6
7
8
9
10
OK
OK
OK
OK
OK
OK
OK
OK
OK
OK
OK
OK
1000
1000
1000
1000
1000
1000
1000
1000
1000
1000
1000
1000
91112225718/04/1018/04/101
Pgina 39
RESUL
TADO
Pgina 40
MODELO ANALTICO
Pgina 41
5. Diseo analtico
Segn las especificaciones, a parte de los datos bsicos para el funcionamiento de las
bibliotecas, se quiere ofrecer alguna funcionalidad adicional como por ejemplo,
recomendar documentos a los usuarios en funcin del tipo de documentos cogidos
previamente. Tambin se desea recoger informacin sobre los autores o documentos
ms exitosos, fechas con ms afluencia de usuarios, vida de los documentos, prdidas
de libros, etc.
Para ello se disear un almacn de datos que sintetice los datos recogidos en
nuestro sistema operacional ubicado en la base de datos comentada en captulos
anteriores. Los datos de las bibliotecas, libros, prstamos, autores, etc. sern
explotados con una herramienta Business Inteiligence. La seleccionada es Cognos
7.1 de IBM, herramienta lder del mercado junto con Business Objects (SAP), Hyperion
(Oracle) y AlphaBlox (IBM).
Para la creacin de estos informes es necesaria la creacin de un almacn de datos
Data Warehouse que pueda dar las funcionalidades a los requerimientos solicitados.
El producto final incluir la automatizacin del proceso de recogida y manipulacin de
datos. El almacenaje de los datos se materializar en un modelo fsico almacenado en
el mismo SGBD con el que hemos desarrollado el modelo operacional y su posterior
explotacin se realizar con los mdulos Impromptu, Transformer y PowerPlay de
Cognos.
PowerPlay Transformer, es el componente de Cognos que se utiliza para definir la
estructura de cubos OLAP y construir los cubos de anlisis multidimensional, los
denominados PowerCubos. Un PowerCubo contiene datos calculados y sumarizados,
organizados en dimensiones y medidas, los cuales pueden ser vistos y analizados con
el cliente PowerPlay.
La construccin de un modelo de PowerPlay implica designar columnas en los
archivos de origen que en el modelo representarn las medidas, dimensiones y
niveles.
Origen de datos - es la lista de los orgenes de datos conectados. Cada fuente puede
ser ampliada y lista todos todas las columnas disponibles. Los usuarios pueden
inspeccionarlo utilizando el visor de fuentes de datos. Las columnas de una fuente de
datos se pueden arrastrar y crear las dimensiones y medidas correspondientes.
Mapa de dimensiones gestiona las dimensiones y niveles jerrquicos en el modelo.
Permite crear nuevas dimensiones y modificar las existentes por medio de una
interface grfica. Las dimensiones y niveles subyacentes se crean moviendo las
columnas de los orgenes de datos a la columna de dimensin correspondiente.
Pgina 42
5.1.
Pgina 43
5.2.
5.3.
Requerimientos
Pgina 44
5.4.
Segn las especificaciones, a parte de los datos bsicos para el funcionamiento de las
bibliotecas, se quiere ofrecer alguna funcionalidad adicional como por ejemplo,
recomendar documentos a los usuarios en funcin del tipo de documentos cogidos
previamente.
Segn las conversaciones realizadas con nuestro interlocutor con la empresa
responsable de la totalidad del sistema, AllTogether SL, se acuerda que el criterio para
recomendar un libro es el siguiente:
Dado un socio S:
1
2
3
4
5
Pgina 45
Pgina 46
El informe muestra los Ttulos seleccionados para recomendar al usuario Jorge Blanca
Snchez, as como la coleccin a la que pertenecen, el cdigo de barras de los
ejemplares y el estado en que se encuentran.
Pgina 47
5.5.
Prstamos
Recurso, Material, Coleccin, Biblioteca, Socio, Fecha
Nmero de prstamos
Pgina 48
Dimensin Fecha:
Dado que disponemos de la informacin de por das de las fechas en que se
distribuyen los prstamos se presentar la informacin por aos y meses.
Dimensin Socio-Edad.
El concepto es estudiar el comportamiento de los socios subdividindolos por tipo
(Adulto, Juvenil), por edad y socio.
Dimensin Socio-Sexo.
El concepto es estudiar el comportamiento de los socios subdividindolos por tipo
(Adulto, Juvenil), por sexo y socio.
Dimensin Material.
Se desglosarn los ejemplares de las bibliotecas desglosndolos en Material, Recurso
y Ejemplar.
Dimensin Coleccin.
Se desglosarn los ejemplares de las bibliotecas desglosndolos en Coleccin,
Recurso y Ejemplar.
Dimensin Biblioteca.
Se dividen los prstamos diferencindolos en las distintas bibliotecas, colecciones,
materiales recursos y ejemplares.
Pgina 49
Prstamos
Autor, Coleccin, Biblioteca, Socio, Fecha
Nmero de prstamos
Vida de documentos
Biblioteca, Material, Recursos
Antigedad
Pgina 50
Dimensin Material.
Se desglosarn los ejemplares de las bibliotecas desglosndolos en Recurso, Ejemplar
Estado de documentos
Biblioteca, Material, Coleccin
Contador
Pgina 51
5.6.
fechaNacto
sexo
INTEGER
CHAR(8)
INTEGER
VARCHAR2(100)
VARCHAR2(100),
VARCHAR2(16)
VARCHAR2(100)
DATE
DATE,
DATE
INTEGER
DATE
CHAR(1)
CONSTRAINT
CONSTRAINT
CONSTRAINT
CONSTRAINT
CONSTRAINT
PK_socio
NN_soc_barras
NN_tip_tipo
FK_soc_tip_tip
NN_soc_apellidos
PRIMARY KEY,
NOT NULL,
NOT NULL
REFERENCES Tipo(tipoId),
NOT NULL,
CONSTRAINT NN_soc_direccion
CONSTRAINT NN_soc_email
CONSTRAINT NN_soc_fechaAl
NOT NULL,
NOT NULL,
NOT NULL,
CONSTRAINT NN_soc_ultModF
CONSTRAINT NN_soc_ultModE
CONSTRAINT FK_soc_emp_emp
NOT NULL,
NOT NULL
REFERENCES
CONSTRAINT NN_soc_fecnto
CONSTRAINT NN_soc_sexo
NOT NULL,
NOT NULL,
Empleado(empleadoId),
5.7.
Para realizar las pruebas y desarrollar los procesos estadsticos propios del
almacenamiento de datos se requiere un completo juego de pruebas.
Se modifica el fichero GUION5.SQL introduciendo los siguientes cambios:
Pgina 52
5.8.
Pgina 53
5.9.
5.9.1.
Partiendo del almacn de datos operacional con los pasos descriptos en el proceso de
integracin e transformacin, se cargan los datos en COGNOS creando un catlogo
importando los datos desde Oracle.
La informacin que contiene el catlogo es el tipo de acceso ODBC a nuestra base de
datos Biblioteca y a las tablas que intervienen en este proceso de Business
Intelligence. Adems, con la utilidad Joins informaremos sobre los las relaciones
entre las tablas.
En la siguiente captura de pantalla se muestran las tablas que intervienen en los
requerimientos que giran en torno al Hecho Prstamo as como la definicin de los
Joins.
El nombre de este catlogo es PFC-ETL_Prestamo.cat y se suministra en la carpeta
de entregables.
Pgina 54
Pgina 55
5.9.2.
Pgina 56
Pgina 57
Pgina 58
5.9.3.
El fichero generado en esta fase Cognos-Transformer se denomina PFC-1Documentacin.pyi y el cubo OLAP generado PFC-1-Documentacin.mdc. Ambos se
encuentran en el directorio de Entregables.
El resultado de este paso en un fichero con la extensin mdc (PowerCube).
Pgina 59
Pgina 60
5.9.4.
Se desea estudiar los recursos solicitados en prstamo con mayor afluencia, por
biblioteca, coleccin y soporte material, de esta forma conocer las preferencias de los
usuarios por tipo, edad y sexo.
Utilizaremos el PowerCube pfc-1-documentacin.mdc obtenido en la fase Transformer
y obtenemos los resultados que a continuacin se detallan:
La siguiente captura de pantalla representa los 900 prstamos realizados por las dos
bibliotecas (Bibilioteca Catalua y Biblioteca UOC) desglosandos por la tipologa de
socio (juvenil y adulto) por las diferentes colecciones que tinene las bibliotecas.
Pgina 61
Con una sencilla operacin de arrastrar y soltar, se ha cambiado el tema Biblioteca por
el de Fecha distributendose los 900 prestamos por los mismos conceptos pero ahora
entre los aos 2008 y 2009 que son los aos en que se realizaron los 900 prstamos.
Pgina 62
Pgina 63
Requerimiento 3:
Se desea estudiar los autores solicitados con el mismo criterio que el apartado
anterior.
A continuacin se muestra un grfico con los autores que han sido ledos por socios
de 20 aos. El autor ms ledo ha sido Thomas M. Dish por un recurso de la coleccin
Equipment y ha sido solicitado 2 veces por este perfil de socio.
Pgina 64
Requerimiento 4:
Este requerimiento se resuelve con el mismo PowerCube con el que se dio solucin al
requerimiento 2. Para obtener la afluencia de socios utilizaremos las dimensiones
Fecha y Socios.
En la siguiente tabla y grfico se observan las afluencias del ao 2008 medidas en
trminos de recursos solicitados con los socios desglosados por su tipologa.
Pgina 65
Requerimiento 5:
Pgina 66
Requerimiento 6:
Y el siguiente diagrama circular muestra como se distribuyen los 57 libros perdidos por
colecciones.
Pgina 67
6. Valoracin econmica.
Estudio y cuantificacin de los costes imputados al Personal Tcnico as como
suministros requeridos para la realizacin del proyecto.
El proyecto est pensado para una red de bibliotecas y podrn acceder
continuadamente entre 50 y 100 empleados para acceder a los servicios.
Recursos Tcnicos
Actividad
Recurso
Precio
Dedicacin Duracin
Esfuerzo
unitario
(Das/pers
(/da/
ona)
(Dias)
(Das/persona) tipo pers) Coste
Seleccin Proveedor
1400
Coordinador
350
350
Requerimientos solucin HW
Coordinador
350
350
350
700
Adecuaciones a realizar
6000
Sistema Operacional
Equipo tcnico
15
15
200
3000
Adecuaciones Proveedor
Equipo tcnico
15
15
200
3000
Equipo tcnico
200
1000
Equipo Tcnico
200
400
1000
Formacin y Administracin
Formacin en Herramienta
400
1575
Jordi Blanca
0,10
45
4,50
350
1575
Cierre
175
Jordi Blanca
0,5
0,5
350
Tarifas
Tipo
A
B
C
D
175
10.550
/dia-persona
Observaciones
350 Alto cargo. Sueldo bruto de 70.000 /ao
320 Tarifa media de personal externo especializado 50 /hora
200 Sueldo bruto anual de equipo tcnico 30000 / ao
125 Sueldo bruto anual de equipo administrativo 20000 / ao
Pgina 68
Otros recursos
Hardware.
Un servidor Dell PowerEdge T710 con un procesador Xeon X5550, 2,66GHz de 4
ncleos.
Software.
Los componentes a instalar son Oracle Database 11g Standard Edition One y IBM
Cognos Express versin 8. De los ambos productos se deben adquirir 2 licencias
puestos que ambas compaas valoran cada ncleo Intel como 0,5 licencias. Por otra
parte, con una buena negociacin se puede llegar a obtener un 30% de descuento
sobre los precios de lista. Consideramos una cotizacin de 1$ = 0,74,
Precio base
2.710
0%
2.710
2.710
12.950
30%
9.065
18.130
8.880
30%
6.216
12.432
Presupuesto Total
Concepto
Coste
Recursos Personal
10.550
Suministros externos
Contingencias 10%
33.272
4.500
TOTAL
33.272
Variacin
48.322
Pgina 69
7. Conclusiones
Desde el la perspectiva del desarrollo del proyecto, ste se ha desarrollado desde el
principio hasta el final dentro de la planificacin establecida en el plan de proyecto.
Tan slo tuve una incidencia dentro de la elaboracin del proyecto cuando present el
plan de proyecto y el consultor me recomend reconducirlo a un planteamiento ms
conservador de definicin de requerimientos, anlisis, desarrollo y pruebas. La idea
inicial era realizar un proceso de ingeniera inversa de un aplicativo open source
llamado OpenBiblio que a mi entender encajaba bastante con el enunciado del
proyecto. Este cambio me retras una semana la planificacin prevista, pero fue al
inicio del curso y fcilmente pude posicionarme al da.
Ahora que ya estoy finalizando el proyecto, debo reconocer que el resultado ha sido
ms acadmico con el nuevo enfoque y que la idea inicial me poda haber llevado a un
consumo de horas excesivo hasta el punto de poner en peligro la finalizacin del
proyecto.
Por lo dems, la planificacin se ha ido cumpliendo escrupulosamente semana a
semana, los resultados obtenidos creo que son los esperados y he podido presentar
las PACs en las fechas previstas con buenos resultados.
Desde el punto de vista tecnolgico, me ha interesado especialmente la creacin del
sistema del almacenamiento multidimensional. Subjetivamente, me ha parecido ms
interesante y gratificante que la parte del operacional. Probablemente porque esta
parte ha sido mucho ms recurrente en varias asignaturas de la carrera, mientras que
la definicin y explotacin del datawarehouse me ha permitido introducirme y conocer,
aunque sea de manera muy incipiente, una nueva dimensin en la gestin de la
informacin contenida en una base de datos.
Para disear una buena arquitectura de almacn de datos es necesario conocer muy
bien los requerimientos del negocio, conocer bien las fuentes externas y hacer un
buen diseo del rea de transformacin de datos definiendo cules son las
transformaciones que se van a realizar y cmo se va a implementar el modelo
multidimensional con sus tablas de hechos, dimensiones y medidas.
Con toda seguridad continuar trabajando en esta rea del anlisis de los datos. He
estado viendo otros sistemas Business Intelligence y me ha parecido muy interesante
otro producto tambin de IBM llamado AlphaBlox que fcilmente se integra en
entornos J2EE e incluso pueden realizarse aplicaciones de portlets con esta
herramienta. Esta combinacin permitira un portal tan flexible como la nueva web de
la UOC con grficos personalizables por el propio usuario.
Por otra parte, la utilizacin de procedimientos almacenados como nico mtodo de
actualizacin de las tablas integrado con un sistema de registro diario de movimientos
de la base de datos permite mantener de forma automtica un sistema de auditora de
movimientos. Con este sistema se puede detectar y reproducir cualquier error puesto
que tenemos un histrico cronolgico de todas las llamadas realizadas.
Pgina 70
Bibliografa
http://es.wikipedia.org/wiki/Base_de_datos_multidimensional
http://es.wikipedia.org/wiki/Cubo_OLAP
http://www-01.ibm.com/software/data/cognos/customercenter/
Pgina 71