Sie sind auf Seite 1von 67

INFORME DE EJECUCION DE

PROYECTO

SISTEMA
INTEGRAL DE
BIBLIOTECA
INTEGRANTES:
Barrera Ruiz, Dante Edison.
Diaz Estela, Maria Jobita
Soto Pinedo, Jhoselyn Pamela.
Velasquez Chavez, Angel

RESUMEN
El presente informe propone el anlisis y diseo un sistema integral de
biblioteca, que ha sido implementado en esta casa superior de estudios.
La biblioteca de esta casa superior de estudios constituye uno de los
principales organismos para facilitar el uso del acervo bibliogrfico y que mejor
cubriendo todas las necesidades del lector.
El sistema para la gestin integral de la biblioteca del instituto, optimiza y
estandariza el flujo de la informacin en el proceso de prstamos, devolucin,
catalogacin, adquisiciones y reportes; utilizando herramientas de alta tecnologa
como son MySql y Visual Basic 2010.
El objetivo de este sistema es integrar los procesos bibliotecarios,
proporcionando alta disponibilidad, beneficio y seguridad; gestionando de manera
eficiente la transicin de los datos entre cada proceso. Actualmente se encuentra
implementado en la biblioteca de nuestra institucin.

AGRADECIMIENTOS
-

A Dios, por darme la vida.

A Sarita Colonia, por guiar mis pasos.

A mis padres, Raymundo y Luspicia, por


haberme dado una educacin basada en

valores y por apoyarme siempre.

INDICE
CAPITULO I: INTRODUCCION ............................................................................................................................. 5

1.1

ASPECTOS GENERALES ....................................................................................................... 5

1.2

FUNDAMENTACIN............................................................................................................ 5

1.3

PLANTEAMIENTO DEL PROBLEMA ..................................................................................... 6

1.4

FORMULACION DEL PROBLEMA......................................................................................... 7

1.5

OBJETIVOS .......................................................................................................................... 7

1.6

JUSTIFICACION DEL PROYECTO .......................................................................................... 7

CAPITULO II: MARCO TEORICO ........................................................................................................................ 9

2.1

SISTEMAS DE INFORMACION: ............................................................................................ 9

2.2

PROGRAMACION ORIENTADO A OBJETOS. ........................................................................ 9

2.3

BASES DE DATOS .............................................................................................................. 10

2.4

BIBLIOTECA ESPECIALIZADA: ............................................................................................ 10

2.5

PROCESOS TECNICOS DE LA BIBLIOTECA ESPECIALIZADA................................................ 13

2.6

VISUAL BASIC.NET ............................................................................................................ 19

2.7

VISUAL STUDIO ................................................................................................................. 20

2.8

MySQL: ............................................................................................................................. 21

CAPITULO III: AMPLIACION DE LOS DETALLES DEL PROYECTO ...................................................... 22

3.1

ESTUDIO DE FACTIBILIDAD ............................................................................................... 22

3.2

RECURSOS ........................................................................................................................ 23

3.3

PRESUPUESTO .................................................................................................................. 23

3.4

FUENTE DE FINANCIAMIENTO.......................................................................................... 24

3.5

CRONOGRAMA DE ACTIVIDADES ..................................................................................... 24

CAPITULO IV: ANALISIS, DISEO E IMPLEMENTACION DEL SISTEMA ............................................. 26

4.1

ANALISIS DEL SISTEMA ..................................................................................................... 26

4.2

DISEO DE LA SOLUCION: ................................................................................................ 27

4.3

DISEO DE BASE DE DATOS ............................................................................................. 31

4.4

PROTOTIPOS DEL SISTEMA ............................................................................................... 37

CAPITULO V: CONCLUCIONES Y RECOMENDACIONES ........................................................................... 42

5.1

CONCLUCIONES: ............................................................................................................... 42

5.2

RECOMENDACIONES: ....................................................................................................... 43

5.3

BIBLIOGRAFIA: .................................................................................................................. 43

5.4

WEBGRAFIA: ..................................................................................................................... 44

ANEXOS .................................................................................................................................................................... 45

A.

EVIDENCIAS FOTOGRAFICAS DE IMPLEMENTACION: .......................................................... 45

B.

SCRIPT DE BASE DE DATOS: .................................................................................................. 47

C.

CODIGO FUENTE DE CONEXIN A BASE DE DATOS: ............................................................ 53

D.

CODIGO FUENTE DE CREACION DE VENTANA PRINCIPAL:................................................... 57

E.

CODIGO FUENTE DE NUEVO LIBRO: ..................................................................................... 60

F.

CODIGO FUENTE DE IMPRESIN DE ETIQUETAS: ................................................................ 65

CAPITULO I: INTRODUCCION
1.1

ASPECTOS GENERALES
1.1.1 TITULO DEL PROYECTO
SISTEMA INFORMATICO INTEGRAL DE BIBLIOTECA
1.1.2 UBICACIN
Regin

San Martn.

Departamento

San Martn.

Provincia

Tocache.

Distrito

Tocache.

Localidad

Pucayacu.

1.1.3 ENTIDAD EJECUTORA

Instituto Superior Tecnolgico Pblico Alto Huallaga Tocache

Grupo Responsable:
Barrera Ruiz, Dante Edison.
Diaz Estela, Maria Jobita
Soto Pinedo, Jhoselyn Pamela.
Velasquez Chavez, Angel

1.1.4 FECHA DE EJECUCION: AGOSTO SETIEMBRE del 2013


1.1.5 BENEFICIARIOS

Directos
Alumnos en General.
Biblioteca.

Indirectos
IESTP ALTO HUALLAGA TOCACHE

1.2

FUNDAMENTACIN
En los ltimos aos el uso de las tecnologas de la informacin y

comunicacin (TIC), ha provocado un fuerte impacto en los distintos


mbitos del que hacer de las sociedades y de la actividad econmica, pues
entre otras cosas, ha facilitado el desarrollo de varios tipos de actividades y
procesos de la vida cotidiana de un modo ms eficiente y eficaz.

Los medios y formas de informacin desde su aparicin ha ido


evolucionando a la par de las Tecnolgicas de informacin y comunicacin
(TICs) hasta llegar a lo que hoy es internet, el cual ofrece una variedad de
servicios, uno de los ms utilizados es la WWW (World Wide Web), gracias
a la cual una empresa o institucin estatal o privada puede mostrar y
difundir la informacin que se crea necesaria para sus usuarios.
En lo que se refiere a las instituciones educativas de nivel superior
pblicas o privadas, desde hace unos aos atrs se ha venido
desarrollando un sinfn de sistemas informticos basados en plataforma
web o de escritorio para administrar las diferentes actividades acadmicas,
administrativas, financieras u otras propias de la institucin con la finalidad
de conocer y tomar decisiones oportunas para corregir un determinado
proceso y mejorar as la calidad de servicio o produccin.

El Servicio de la Biblioteca es muy importante ya que apoyara el


trabajo profesional y tcnico de los docentes y los estudiantes de las
diferentes carreras profesionales y proveer servicios amplios de referencia
e informacin, cubriendo un variado rango de temas dentro de las reas del
conocimiento general y profesional.

Este proyecto, est orientado a satisfacer las necesidades de dicha


institucin en cuando a su material bibliogrfico y en el desarrollo de sus
servicios, que brindara la biblioteca a los usuarios y personal de la
biblioteca.

1.3

PLANTEAMIENTO DEL PROBLEMA

En cuanto a los problemas que se encuentra en la administracin de la


biblioteca.

La bsqueda manual de textos provoca cierta demora en la atencin


al usuario.

Control de prstamos y devoluciones no es muy eficiente.

Demora en la actualizacin del inventario de libros.

1.4

FORMULACION DEL PROBLEMA

Cmo mejorar la administracin de la biblioteca IESTP Alto Huallaga?


1.5

OBJETIVOS
1.5.1 OBJETIVO GENERAL
Desarrollar e implementar un Sistema de Informacin va Web
para realizar la administracin de la biblioteca del IESTP Alto
Huallaga Tocache, y una biblioteca digital.
1.5.2 OBJETIVOS ESPECFICOS

Mejorar la administracin de la biblioteca.

Mejorar el control de prstamos a los usuarios.

Mejorar el control de devoluciones por parte de los usuarios.

Generar todo tipo de informes referente a los libros, usuarios,


prstamos y devoluciones.

1.6

JUSTIFICACION DEL PROYECTO


1.6.1 JUSTIFICACION ECONOMICA
Actualmente la informacin es un recurso muy importante
para toda Institucin que maneja grandes volmenes de datos,
creemos que

todas estas

entidades deben automatizar su

informacin, ya que esto implica un ahorro de tiempo considerable,


eliminando trabajo excesivo, minimizando el uso de materiales de
escritorio, mejorando la productividad y reduciendo los costos
relacionados con la recopilacin y distribucin de la informacin.

Por otra parte el sistema integral de biblioteca se desarrollara


utilizando Software libre, lo que implica total independencia a
licencias, es decir el lenguaje de programacin PHP, el gestor de
base de datos (MySQL) y el servidor Web (Apache) son de uso
gratuito, no requieren de licencias y no tienen costo alguno.
1.6.2 JUSTIFICACION SOCIAL
Es importante tener un sistema de informacin que ayuda a
una adecuada toma de decisiones, priorizando necesidades del

usuario. Adems de mostrar un manejo transparente y confiable


sobre los recursos destinados a cada proyecto por parte de la
institucin.
Con la incorporacin del nuevo sistema integral de biblioteca
estaremos mejorando la imagen institucional.

1.6.3 JUSTIFICACION TECNICA


El desarrollo del proyecto se justifica tcnicamente, por el uso
de la alta tecnologa de comunicacin, pues existen los medios
necesarios para realizar el anlisis, diseo, implementacin y
mantenimiento del sistema.
La institucin cuenta con los requerimientos de hardware: La red
inalmbrica, computadoras y dems dispositivos de interconexin.

CAPITULO II: MARCO TEORICO


2.1 SISTEMAS DE INFORMACION:
Se considera que por mucho tiempo, el desarrollo de hardware
ha superado al de software, por ello en las ltimas dcadas se ha
puesto mayor atencin al componente lgico de los sistemas de
informacin. Es decir, en el nivel ms abstracto se puede presentar a
los sistemas de informacin como una caja negra. Para transformar
las entradas en salidas existen ciertos elementos que integran los
sistemas de informacin:

Documento

Programas.

Datos.

Soporte.

2.2 PROGRAMACION ORIENTADO A OBJETOS.


Actualmente una de las reas ms candentes en la industria y
en el mbito acadmico es la orientacin a objetos. La orientacin a
objetos promete mejoras de amplio alcance en la forma de diseo,
desarrollo y mantenimiento del software ofreciendo una solucin a
largo plazo a los problemas y preocupaciones que han existido
desde el comienzo en el desarrollo de software: la falta de
portabilidad del cdigo y reusabilidad, cdigo que es difcil de
modificar, ciclos de desarrollo largos y tcnicas de codificacin no
intuitivas.
Un lenguaje orientado a objetos ataca estos problemas. Tiene
tres caractersticas bsicas: debe estar basado en objetos, basado
en clases y capaz de tener herencia de clases. Muchos lenguajes
cumplen uno o dos de estos puntos; muchos menos cumplen los
tres. La barrera ms difcil de sortear es usualmente la herencia.
El concepto de programacin orientada a objetos (OOP) no es
nuevo, lenguajes clsicos como SmallTalk se basan en ella. Dado

que la OOP. Se basa en la idea natural de la existencia de un mundo


lleno de objetos y que la resolucin del problema se realiza en
trminos de objetos, un lenguaje se dice que est basado en objetos
si soporta objetos como una caracterstica fundamental del mismo.

2.3 BASES DE DATOS


El origen de datos por excelencia es la base datos, Una base
de datos puede definirse como uno o ms archivos en los que se
almacenan los datos y toda la informacin que describe su
estructura, fundamental para poder operar sobre ellos.
Las bases de datos se dividen en 2:
a) Bases de datos de Escritorio: Dirigidas a usuarios con ciertos
conocimientos que le permitan crear y mantener su estructura de
informacin razn por la cual estas bases de datos cuentan con un
interfaz de usuario bastante completa y amigable: Access, Paradox,
etc.
b) Servidores de Bases de Datos: es una aplicacin que se encarga
de

manipular

fsicamente

los

datos,

ocupndose

de

su

almacenamiento y recuperacin de los archivos que se encuentran.

2.4 BIBLIOTECA ESPECIALIZADA:


Basndonos en su definicin etimolgica, biblioteca es una
palabra griega compuesta por dos ideas o conceptos Biblion =>
Libro y Thekes => Caja; sera el lugar en que se almacenan los
libros. Esta definicin tan simple podra generar cierta confusin,
hasta el punto de confundir la biblioteca con cualquier almacn en
que se acumulen libros.

Por ello sera ms conveniente basar nuestra definicin de


biblioteca en la normativa UNE 50-113-92, que define la biblioteca
desde dos puntos de vista:

10

Cualquier

coleccin

organizada

de

libros

publicaciones en serie impresos, u otros tipos de


organismos grficos o audiovisuales, disponibles para
prstamo o consulta.
Organismo, o parte de l, cuya principal funcin
consiste

en

construir

bibliotecas,

mantenerlas,

actualizarlas y facilitar el uso de los documentos que


precisen los usuarios para satisfacer sus necesidades
de informacin, de investigacin, educativas o de
esparcimiento, contando para ello con un personal
especializado.

Esta es una definicin que a da de hoy podra considerarse


anticuada he incluso incorrecta en algn punto, pero no es el
objetivo principal de este trabajo ahondar en estos puntos.
La misin principal de una biblioteca es: Ser un almacn
organizado donde proteger la informacin, para su futuro uso por
parte de los usuarios que la necesiten, ya sea para adquirir
conocimientos, para el entretenimiento,

Las funciones que hacen posible llevar a cabo la misin de la


biblioteca y as cumplir sus objetivos son los de:

Conservacin

Difusin

Prstamo

TIPOLOGAS DE BIBLIOTECA.
Lo habitual es que todas ellas estn agrupadas en una sola
biblioteca ms general. Aun as la UNESCO establece 6 tipos de
bibliotecas:

1. Bibliotecas Nacionales

Biblioteca central de un pas.

11

La que mayor cantidad de documentos tiene.

Conserva y cataloga todo el material publicado en el pas.

Publica la bibliografa nacional.

Unidad bsica del depsito legal.

Depende directamente del estado.

2. Bibliotecas de enseanzas superiores.

Bibliotecas universitarias centrales


-

Atiende a la comunidad universitaria. El material


contenido en ella ha de servir para apoyar a todos
los grupos que componen la universidad.

En este grupo se incluiran las bibliotecas de las


facultades.

Bibliotecas de departamentos universitarios

Bibliotecas de centros de enseanza no universitarios


-

Formacin Profesional, CSIC.

3. Bibliotecas importantes no especializadas (Regionales)

En

Alemania

se

conocen

como

bibliotecas

estatales

(Alemania est dividida en estados).

En USA tambin se conocen como bibliotecas estatales (USA


est dividida en estados).

En Espaa se conocen como bibliotecas autonmicas o


regionales.

4 Bibliotecas escolares

Dirigida a los escolares (Alumnos y profesores).

Obras generales, lecturas, libros de texto.

5 Bibliotecas pblicas

Biblioteca con todo tipo de usuarios, temas y formatos.

6 Bibliotecas especializadas

Pueden ser especializadas segn los usuarios, los temas, los


formatos.

12

2.5 PROCESOS TECNICOS DE LA BIBLIOTECA ESPECIALIZADA


A. Seleccin y adquisicin de materiales
Fines. El propsito es suministrar a cada usuario la informacin
requerida, en forma utilizable y en el momento en que la necesita.
Ello implica, que hay que llevar a cabo una labor de seleccin y
adquisicin que tiene como fin prever en lo posible esas
necesidades, asegurando que las publicaciones apropiadas se
encuentren en la biblioteca o que puedan obtenerse rpidamente de
otras fuentes.

Forma. La informacin que suministra la biblioteca especializada


debe ser apropiada en todos los aspectos, porque no tiene mrito
entregarle al usuario una revista en un idioma extranjero si no tiene
conocimiento de dicho idioma.

Un conocimiento de las fuentes. Todo ello presupone que el


personal responsable de la labor de seleccin debe estar
cabalmente familiarizado con las fuentes ms importantes de
documentos e informacin que refleje los intereses y actividades de
la entidad a la cual sirven.

Una coleccin de ayudas bibliogrficas. La coleccin debe con


ciertas ayudas bibliogrficas bsicas, las obras fundamentales de
referencia; adems es esencial que el personal mantenga relaciones
con otras grandes fuentes de informacin porque solo podrn
adquirir pequesimas cantidades de sta (intercambio entre
bibliotecas, catlogos compartidos).
El tamao de una coleccin especializada se ve condicionado
tambin por obvias consideraciones presupuestarias y por el nmero
de empleados, disponibles para el procesamiento y organizacin del
nuevo material.

13

Acceso a expertos. En circunstancias especiales, el bibliotecario


puede considerar ms conveniente poner al usuario en contacto
directo con un conocido experto de la materia, para que este le
suministre una respuesta directa. Esta medida es especialmente
recomendable cuando la informacin deseada es nueva y an no ha
aparecido en medios impresos o digitales. A veces tambin es
importante

sealarle

al

usuario

que

esta

programas

para

determinada fecha un simposio, seminario, sobre el tema que le


interesa. Por eso las funciones de adquisicin incluyen informarse
sobre las actividades de los expertos. Es sumamente til mantener
un archivo de esas fuentes especiales de conocimientos y
mantenerlas actualizados con nuevas informaciones a medida que
vayan ocurriendo.

Una variedad e procedimientos de adquisicin. La informacin se


registra y documenta de muchas formas diferentes; por ello, se
emplean tambin procedimientos distintos en la seleccin y
adquisicin de materiales. En las bibliotecas especializas se
colecciona materiales especficos o adscritos a un determinado
campo de inters y no generales; debido a la demanda del pblico
especializado por un acceso ms rpido a los resultados de
investigaciones y estudios sobre temas de su inters, mucha
informacin circula en distintas versiones preliminares, incluso en
forma de copias desinforme original. Tales informes de circulacin
interna y limitada son mucho ms apreciados que los que se obtiene
posteriormente por otras vas y en versiones depuradas.

Materiales especiales. En las bibliotecas tcnicas predominan


patentes, normas, especificaciones, cdigos de prctica o de
procedimiento, sumarios de datosetc. Las bibliotecas comerciales
coleccionan diarios, estudios de mercado y otras clases de
publicaciones que divulgan la ms reciente informacin econmica.

14

Otras clases de materiales del mayor inters para las bibliotecas


especializadas son:
a) Leyes y reglamentos
b) Actas de reuniones
c) Catlogos comerciales y reexposicin
d) Tesis universitarias
e) Mapas
f) Filmes
g) Grabaciones de sonido

La identificacin y localizacin de esos valiosos materiales y la


evaluacin de cuales son de real inters para los usuarios, aumenta
la complejidad de la labor de adquisicin. Descubrir los intereses y
necesidades de los usuarios. Principalmente, es necesario saber qu
clase de material tendr en ella que pueda ser de mayor utilidad, lo
cual, no es fcil pues muchas veces ni el mismo usuario que acude a
la biblioteca sabe qu clase de material necesita para resolver o
aclarar sus dudas o problemas.

Es posible que en una pequea biblioteca especializada, hacerse


una idea general de las diferentes clases de demandas de
informacin que recibir el bibliotecario. Los materiales que deben
adquirir

la

biblioteca

especializada

quedarn

esbozados

parcialmente en la declaracin de fines y actividades de la entidad.

Clasificacin de las necesidades. A los bibliotecarios encargados de


la informacin de una coleccin especializada les interesar conocer
los resultados de las encuestas que puedan hacer.

Un programa de adquisicin integrado. La adquisicin tiene que


considerarse como una labor conjunta de bibliotecarios y tcnicos,
ya que es la base de todos los servicios informativos y no puede ni

15

debe encararse aisladamente del restos de las dems funciones de


la biblioteca.

Participacin de los usuarios en la seleccin. Los bibliotecarios de


muchas instituciones solicitan el envo de las nuevas publicaciones
para ser sometidas a examen por parte de los tcnicos y usuarios,
medida que tiene una doble finalidad:

a) Recabar del personal de la entidad indicaciones y consejos sobre


la seleccin
b) Permitir que el personal tcnico conozca los libros ms nuevos
sobre el campo.

Ayudas en el proceso de seleccin.

1.

Constituir el ncleo bibliogrfico original y, ms tarde,

extender la coleccin a nuevos campos a medida que


cambian o amplan los intereses de la entidad auspiciadora.
Ello

implica

la

necesidad

de

informarse

sobre

las

publicaciones existentes, tarea que se realiza de diversas


formas entre ellas:
a) Estudiar obras apropiadas de referencia
b) Repasar bibliografas
c)

Inspeccionar

el

haber

bibliogrfico

de

otras

bibliotecas que se especialicen en los mismos temas.


d) Visitar libreras
e) Ubicar libreras que comercien con libros agotados y
de segunda mano.

2.

La biblioteca necesita informarse constantemente

sobre las publicaciones nuevas de la esfera central de su

16

especializacin e inters, para mantener actualizada la


coleccin.

El procedimiento de adquisicin. Es esencial obtener dichas


publicaciones lo antes posible, la mejor solucin es establecer
un modus operandi aceptable con un buen mayorista. Muchas
publicaciones que necesitan las bibliotecas especializadas
son puestas en circulacin por entidades que no buscan su
difusin masiva como con las diversas sociedades cientficas,
instituciones culturales. La adquisicin de estas publicaciones
presenta problemas considerables.
Algunas de las publicaciones que necesitan son distribuidas
gratuitamente, o aprecios especiales para los socios o
suscriptores, y a menudo la distribucin est restringida a
stos, y para obtener dichas publicaciones es imprescindible
que la biblioteca se afilie a la entidad que las publica.

Distribucin del personal para el trabajo de adquisicin. La


manera en que el personal de la biblioteca realiza su trabajo
de adquisicin vara considerablemente segn el tamao de la
biblioteca y el volumen del material. Las bibliotecas grandes
suelen dedicar uno o dos auxiliares a horario completo a las
adquisiciones y a los prstamos interbibliotecarios y en las
bibliotecas pequeas, el bibliotecario se encarga de la mayor
parte o de la totalidad del trabajo de adquisicin.

B. Clasificacin
La clasificacin es el arreglo sistemtico de dichos materiales;
considera el tema tratado de los documentos y propone una
agrupacin de dichos materiales en un ordenamiento para el lector e
investigador.

17

Existen diversos tipos de clasificacin como La clasificacin decimal


de Dewey, Clasificacin de la biblioteca del Congreso o la
Clasificacin decimal Universal ms conocida tal vez, por sus siglas
CDU. Esta ltima es la utilizada por las bibliotecas pblicas
espaolas y se basa en la creacin de Paul Otlet y Henri La
Fointaine (con modificaciones posteriores).

La decisin de escoger un sistema de clasificacin bibliogrfico es


algo muy serio.

C. La Catalogacin
La catalogacin tal como la entiende Strabel, es un proceso tcnico
mediante el cual el bibliotecario transfiere a una ficha la informacin
descriptiva de un libro, siguiendo en dicha labor cierta aceptacin
general. La ficha que resulta de esa transferencia de datos
bibliogrficos, sirve para el control de los libros existentes en la
coleccin. Dicha ficha describe los libros fsicamente. Actualmente
es por ordenador.

Algunas colecciones de libros no requieren sino una catalogacin


sencilla, que consta de la entrada del autor, el asiento o entrada del
ttulo y una o dos fichas de materia. Otras necesitan un control ms
exhaustivo, y en ellas se preparan entradas adicionales de autor y
asientos de asunto ms descriptivos y detallados, que analizan con
una mayor profundidad el contenido de cada volumen.

Los libros destinados a una permanencia prolongada en la coleccin


merecen una clasificacin y catalogacin cuidadosa.

Mucho del material que se acumula en las bibliotecas especializadas


consisten

en

informes,

documentos,

folletos,

recortes,

18

memorandosse prestan para una catalogacin distinta, ya que sus


caractersticas de forma lo permiten o lo exigen,
Los encabezamientos de materia que se utilizan en la catalogacin y
en la formacin de los distintos archivos, deben provenir de una lista
conocida y que goce de la aceptacin general, porque el personal
bibliotecario la manear con mayor confianza y se obtendr
consecuentemente una mayor uniformidad en tan importante trabajo.
D. El Catlogo
Es tal vez, el smbolo ms caracterstico de la biblioteca.
Contiene las fichas preparadas por los catalogadores que identifican
y describen la publicacin y tiene por finalidad informar al usuario de
lo que hay en la biblioteca.

E. Indizacin
Un procedimiento, tambin bsico para la preparacin de los
materiales para el uso, es

la indizacin, proceso analtico que

involucra la compilacin de una lista, en un archivo de fichas o en


otras formas, de muchas referencias a tpicos nombres o ttulos de
libros, revistas, informes, patentes o materiales no impresos.

Implica una mayor profundidad y precisin en la identificacin del


contenido del material, en comparacin con la catalogacin.

La preparacin de un ndice en una biblioteca especializada permite


el uso de una terminologa adaptada a las necesidades especficas
de la entidad auspiciadota. Estas fuentes son valiosas porque
preservan el contenido de mucha informacin valiosa de gran utilidad
administrativa, legal e histrica.

2.6 VISUAL BASIC.NET


Visual Basic .NET (VB.NET) es un lenguaje de programacin
orientado a objetos que se puede considerar una evolucin de Visual

19

Basic implementada sobre el framework .NET. Su introduccin


result muy controvertida, ya que debido a cambios significativos en
el lenguaje VB.NET no es retrocompatible con Visual Basic, pero el
manejo de las instrucciones es similar a versiones anteriores de
Visual Basic, facilitando as el desarrollo de aplicaciones ms
avanzadas con herramientas modernas. Para mantener eficacia en
el desarrollo de las aplicaciones. La gran mayora de programadores
de VB.NET utilizan el entorno de desarrollo integrado Microsoft
Visual Studio en alguna de sus versiones (desde el primer Visual
Studio .NET hasta Visual Studio .NET 2013, que es la ltima versin
de Visual Studio para la plataforma .NET), aunque existen otras
alternativas, como SharpDevelop (que adems es libre).

Al igual que con todos los lenguajes de programacin basados en


.NET, los programas escritos en VB .NET requieren el Framework
.NET o Mono para ejecutarse.
2.7 VISUAL STUDIO
Microsoft Visual Studio es un entorno de desarrollo integrado (IDE,
por sus siglas en ingls) para sistemas operativos Windows. Soporta
mltiples lenguajes de programacin tales como C++, C#, Visual
Basic .NET, F#, Java, Python, Ruby, PHP; al igual que entornos de
desarrollo web como ASP.NET MVC, Django, etc., a lo cual sumarle
las nuevas capacidades online bajo Windows Azure en forma del
editor Monaco.

Visual Studio permite a los desarrolladores crear aplicaciones, sitios


y aplicaciones web, as como servicios web en cualquier entorno que
soporte la plataforma .NET (a partir de la versin .NET 2002). As se
pueden crear aplicaciones que se comuniquen entre estaciones de
trabajo, pginas web, dispositivos mviles, dispositivos embebidos,
consolas, etc.

20

2.8 MySQL:

MySQL es un sistema de gestin de bases de datos relacional,


multihilo y multiusuario con ms de seis millones de instalaciones.1
MySQL AB desde enero de 2008 una subsidiaria de Sun
Microsystems y sta a su vez de Oracle Corporation desde abril de
2009 desarrolla MySQL como software libre en un esquema de
licenciamiento dual.

Por un lado se ofrece bajo la GNU GPL para cualquier uso


compatible con esta licencia, pero para aquellas empresas que
quieran incorporarlo en productos privativos deben comprar a la
empresa una licencia especfica que les permita este uso. Est
desarrollado en su mayor parte en ANSI C.

Al contrario de proyectos como Apache, donde el software es


desarrollado por una comunidad pblica y los derechos de autor del
cdigo estn en poder del autor individual, MySQL es patrocinado
por una empresa privada, que posee el copyright de la mayor parte
del cdigo. Esto es lo que posibilita el esquema de licenciamiento
anteriormente mencionado. Adems de la venta de licencias
privativas, la compaa ofrece soporte y servicios. Para sus
operaciones contratan trabajadores alrededor del mundo que
colaboran va Internet. MySQL AB fue fundado por David Axmark,
Allan Larsson y Michael Widenius.

MySQL es usado por muchos sitios web grandes y populares, como


Wikipedia, Google , Facebook, Twitter, Flickr y YouTube.

21

CAPITULO III: AMPLIACION DE LOS DETALLES DEL PROYECTO


3.1 ESTUDIO DE FACTIBILIDAD
3.1.1 FACTORES DE SUSTENTABILIDAD Y VIABILIDAD
Recursos fsicos:
-

La institucin cuenta actualmente con una red inalmbrica


y los dems dispositivos de conexin necesarios.

Computadoras con rendimiento ptimo en las diferentes


reas y/o jefaturas de la institucin.

Recursos Econmicos:
-

Financiamiento con Recursos Propios del ISTAH-T

Donaciones

Recursos Humanos:
-

Alumnos de la Especialidad de Computacin e Informtica


V semestre.

Trabajadores administrativos del ISTAH-T

Docentes de la Especialidad de Computacin e


Informtica.

3.1.2 IMPACTO SOCIAL, ECONOMICO, CULTURAL Y AMBIENTAL

Publicacin del proyecto concluido e implementado en la


pgina web, para as mejorar la imagen institucional frente a
los avances tecnolgicos y las exigencias del nuevo DCB de
desarrollar proyectos.

Venta del software a otras instituciones.

Fomentar en los alumnos de la especialidad de Computacin


e Informtica la cultura creadora e innovadora de aplicaciones
web.

Reduccin del uso de papeles, tinta y que son elementos


contaminantes del medio ambiente.

22

3.2 RECURSOS
A. HUMANOS

Personal docente de la Institucin.

Personal administrativo de la institucin.

Alumnos

B. MATERIALES

Software
PHP
Apache
MySql
JavaScript
Adobe Master Collection 5

Hardware
Redes inalmbricas.
Servidor
Estaciones de Trabajo

Hojas Bond A 4

Copias

Cds

3.3 PRESUPUESTO
DETALLES

COSTO

COSTOS DIRECTOS
Programador

1000

Diseador de BD

500

Documentacin

250

COSTOS INDIRECTOS

23

Fotografas y Capacitaciones

200

Equipos de entrevista

100

Energa elctrica por 2 equipo de cmputo por 4 meses

240

GASTOS DE ADMINISTRACION U ORGANIZACIN


Reuniones (Materiales hojas , lapicero)

100

TOTAL

S/. 2390.00

3.4 FUENTE DE FINANCIAMIENTO


Los gastos sern asumidos por el grupo de investigacin.
.
3.5 CRONOGRAMA DE ACTIVIDADES
ACTIVIDAD
Diseo de diagramas E-R
Elaboracin de Diccionario
de Datos.
Diseo de tablas
relacionales.
Creacin de Scripts,
procedimientos
almacenados
Prueba y depuracin de la
base de Datos

RECURSOS
-

Papel.

Entrevistas.

Lapiceros.

Plumones.

Computadora.

Microsoft Visio.

MySQL

MySQL

PHP

Computadora

VISUAL

Diseo y Creacin de
aplicacin.

Visual Studio 2010.

Internet.

Impresora

TIEMPO

1 Semana.

3 Semanas

Computadora.
-

MySQL

Prueba y Depuracin del

Visual Studio 2010

sistema

Computadora.

Red Inalambrica

1 semana

24

Elaboracin de la

Microsoft Word

Documentacin

Acrobat PDF

Proyector Multimedia.

Laboratorio de Computo

Computadoras.

Red Inalmbrica

Ingreso de datos reales al

Computadora

sistema

Red Inalmbrica

Capacitacin

1 semana

1 semana

1 Semanas

25

CAPITULO IV: ANALISIS, DISEO E IMPLEMENTACION DEL


SISTEMA
4.1 ANALISIS DEL SISTEMA
A

continuacin

se

explica

la

metodologa

utilizar,

los

requerimientos funcionales y no funcionales, obtenidos a travs de


reuniones con los usuarios involucrados en las acciones que afectar el
sistema (stakeholders), y se presentan los siguientes artefactos: Casos de
Usos, Diagrama de clases y Diagramas de estados.

4.1.1 METODOLOGA A UTILIZAR


En el desarrollo de este proyecto se emple una metodologa
Orientada a Objetos (OO), basndose en el Proceso Unificado de
Desarrollo de Software RUP (Rational Unified Process en ingls). RUP
se basa en los siguientes 6 principios:
Establece un conjunto de fases adaptables al contexto y
necesidades de cada proyecto.
Permite balancear las prioridades de las partes interesadas.
Promueve la colaboracin a travs de equipos.
Permite obtener productos en cada iteracin del proyecto. Permite
la evaluacin al terminar cada iteracin, para redefinir e iniciar la
siguiente iteracin.
Promueve elevar el nivel de abstraccin durante el proyecto, lo
cual motiva el uso de conceptos reutilizables, el anlisis de
soluciones arquitectnicas, la reutilizacin del cdigo y la
representacin visual del proyecto mediante el Lenguaje Unificado
de Modelado (UML), como en este proyecto. Este principio evita
que el ingeniero de software vaya directamente de los requisitos a
la codificacin.
Controla la calidad en todos los aspectos de cada iteracin.
Esta metodologa fue seleccionada por los siguientes motivos:
Es un marco de trabajo que permite el desarrollo exitoso de
software iterativo e incremental.

26

Junto con UML, constituye la metodologa estndar ms utilizada


para el anlisis, diseo e implementacin de sistemas orientados
a objetos.
El proyecto se desarrolla de acuerdo a los principios que plantea
esta metodologa.
Esta metodologa es utilizada para el desarrollo de software
dentro de la institucin donde se aplica el caso prctico.
4.2 DISEO DE LA SOLUCION:
A continuacin se presentan los casos de uso del sistema, los cuales
describen la secuencia de eventos que el sistema realiza para interactuar
con los actores.
Primero se presenta el diagrama de actores, y luego se presentan los
diagramas de casos de uso que se han agrupado en 2 diagramas, el
primero para los casos de uso relacionados al documento, y el segundo los
casos de uso relacionados al lote de documentos.

4.2.1 ACTORES:
Un actor representa un rol de una entidad externa que interacta
con el sistema [Arlow, Neustadt]. En este proyecto los actores
representaran los roles de usuarios del sistema.

ACTOR

DESCRIPCION

BIBLIOTECARIO

Es el encargado de gestionar los libros, atender a los


usuarios.

USUARIO

Es la persona que requiere de los libros.

27

4.2.2 CASOS DE USO:

4.2.3 Caso de Uso: Registro de Usuarios

REGISTRO DE USUARIOS
DESCRIPCION
ACTORES

PRECONDICION

En este proceso el bibliotecario registra a los usuarios que ms


adelante se prestaran o devolvern libros.
Bibliotecario, Usuario

El bibliotecario debe ingresar al sistema.

El Usuario debe contar con una fotografa digital esto es


opcional.

Copia de DNI.

FLUJO BASICO
1. El bibliotecario ingresa al sistema.
2. Luego accede a la pestaa Usuarios.
3. Presiona con un clic el botn Nuevo.
4. En la ventana de nuevo usuario rellena los datos personales y de ubicacin del nuevo
usuario.
5. Selecciona la foto del usuario, si tiene la foto.
6. Para guardar la informacin presiona en aceptar.

28

4.2.4 Caso de Uso: Prstamo de Libro


PRESTAMO DE LIBRO
DESCRIPCION
ACTORES

En este proceso el bibliotecario realiza el prstamo de un libro a


usuario.
Bibliotecario, Usuario

PRECONDICION

El bibliotecario debe ingresar al sistema.

El Usuario debe estar registrado en el sistema.

Presentar DNI original.

El libro debe estar disponible.

No adeudar ms de 3 libros.

FLUJO BASICO
1. El bibliotecario ingresa al sistema.
2. Luego accede a la pestaa de Prstamos.
3. Presiona con un clic el botn Prestar.
4. En la pestaa prstamo.
4.1 Busca el libro que el usuario solicita ingresando el cdigo del libro o realiza la
bsqueda en una nueva ventana.
4.2 Ingresa el nmero de DNI del usuario o realiza la bsqueda en una nueva ventana.
4.3 Ingresa el nmero de das a prestar.
5. Para registrar el prstamo clic en aceptar.

4.2.5 Caso de Uso: Devolucin de Libro


DEVOLUCION DE LIBRO
DESCRIPCION
ACTORES

PRECONDICION

En este proceso el usuario realiza la devolucin de un libro a la


biblioteca.
Bibliotecario, Usuario

El bibliotecario debe ingresar al sistema.

El prstamo debe estar registrado en el sistema.

El libro de estar en las mismas condiciones que se prest.

FLUJO BASICO
1. El bibliotecario ingresa al sistema.
2. Luego accede a la pestaa de Prstamos.
3. Presiona con un clic el botn Devolver.

29

4. En la pestaa devolver.
4.1 Ingresamos el cdigo del libro prestado o elegimos la opcin DNI e ingresamos el
DNI de usuario.
4.2 Seleccionamos con un clic en la lista el libro a devolver.
5. Para registrar el prstamo clic en devolver.

4.2.6 Caso de Uso: Ingreso de libro


DEVOLUCION DE LIBRO
DESCRIPCION
ACTORES

En este proceso el bibliotecario ingresa un libro al sistema de


biblioteca.
Bibliotecario

PRECONDICION

El bibliotecario debe ingresar al sistema.

Foto digital del Libro a ingresar.

FLUJO BASICO
1. El bibliotecario ingresa al sistema.
2. En Catalogo, presiona con un clic el botn Nuevo Libro.
3. En la ventana nuevo libro.
3.1 Buscamos si el libro ya est registrado, porque puede ser un ejemplar ms, para
ello escribimos el nombre del libro.
3.1.1

En caso de ser un nuevo libro accederemos automticamente a la pestaa


datos generales.

3.1.2

Escribimos los datos principales del libro.

3.1.3

Ingresamos la foto del libro.

3.1.4

Elegimos el o los autores del libro

3.1.5

En caso de no existir se agrega los autores.

3.1.6

Luego siguiente y accedemos a la pestaa de datos de ejemplar.

3.2 En el caso de ser una copia accede a la pestaa datos de ejemplar y completamos
los datos de cada ejemplar y agregamos a la lista que vamos a guardar.
4. Presionamos en finalizar para guardar los libros ingresados.

4.2.7 Caso de Uso: Catalogacin


CATALOGACION
DESCRIPCION
ACTORES

En este proceso el bibliotecario realiza el prstamo de un libro a


usuario.
Bibliotecario

30

PRECONDICION

El bibliotecario debe identificar los estantes de la biblioteca.

Clasificar los libros en categoras.

Identificar los tipos de publicacin que se encuentra en la


biblioteca.

FLUJO BASICO
1. El bibliotecario ingresa al sistema.
2. Se ingresa a la opcin de Auxiliares.
3. Aqu se presentan tres botones: ESTANTES, CATEGORIAS Y TIPOS DE
PUBLICACION.
4. Para crear un nuevo estante clic en Estante:
4.1 Ingresamos los datos requeridos y presionamos agregar.
5. Para crear una nueva categora estante clic en Categora:
5.1 Ingresamos los datos requeridos y presionamos agregar
6. Para crear un nuevo tipo de publicacin clic en Tipos de Publicacin:
6.1 Ingresamos los datos requeridos y presionamos agregar

4.2.8 Caso de Uso: Etiquetado de Libro


ETIQUETACION DE LIBRO
DESCRIPCION

En este proceso el bibliotecario realiza el etiquetado de los libros.

ACTORES

Bibliotecario

PRECONDICION

Debe estar instalado al computador una impresora a laser.

Contar con papel auto adhesivo de tamao A4.

FLUJO BASICO
1. El bibliotecario ingresa al sistema.
2. Clic en el botn Etiquetas.
3. Se abre la ventana que contiene la vista preliminar de la impresin.
4. Selecciona la impresora que utilizara o si desea lo puede exportar al formato PDF.
5. Luego se corta las etiquetas y se pega al libro correspondiente.

4.3 DISEO DE BASE DE DATOS


En esta fase, se disea de la base de datos utilizando el modelo entidad
relacin extendido.

31

Estantes
Usuario

Categorias

esta
es

tiene

Libros

Persona

anula

solicta

Prestamos

es

estan

esta

Publicaciones

solicta

tiene

Autores

TipoPublicacion

Perdidos

4.3.1 MODELO RELACIONAL


El modelo relacional para la gestin de una base de datos es un
modelo de datos basado en la lgica de predicados y en la teora
de conjuntos. Es el modelo ms utilizado en la actualidad para
modelar problemas reales y administrar datos dinmicamente.
A partir del diseo del modelo E-R se procedi a realizar la
conversin al modelo relacional.
MODELO RELACIONAL: BIBLIOTECA

32

4.3.2 DICCIONARIO DE DATOS


TABLA: PERSONAS
NOMBRE DE COLUMNA

TIPO DE DATO

DESCRIPCION

NULL

DNI

VARCHAR(8)

Clave primaria.

NOT

APEPA

VARCHAR(80)

Apellidos paternos.

NOT

APEMA

VARCHAR(80)

Apellidos maternos.

NOT

NOMBRES

VARCHAR(120)

Nombres.

NOT

SEXO

BIT

0=Masculino,1=Femenino

NOT

FNAC

DATE

Formato Y/M/D

NOT

DIRECCION

VARCHAR(60)

Direccin donde vive actualmente.

NOT

BARRIO

VARCHAR(45)

OPERADOR

VARCHAR(45)

TELEFONO

VARCHAR(11)

EMAIL

VARCHAR(45)

FREGISTRO

DATE

Formato Y/M/D

NOT

DETALLE

VARCHAR(200)

TABLA: USUARIOS
NOMBRE DE COLUMNA

TIPO DE DATO

DESCRIPCION

NULL

IDUSUARIO

INT

Clave Primaria. Auto Incremento.

NOT

LOGIN

VARCHAR(15)

Usuario de Logeo.

NOT

PWD

VARCHAR(5)

Contrasea.

NOT

DNI

VARCHAR(8)

Clave Fornea PERSONAS.DNI.

NOT

TABLA: PRESTAMOS
NOMBRE DE COLUMNA

TIPO DE DATO

DESCRIPCION

NULL

IDPRESTAMO

INT

Clave Primaria. Auto Incremento.

NOT

FECHAPRESTAMO

DATE

Formato Y/M/D

NOT

33

FECHAPROGRAMADA

DATE

Formato Y/M/D

NOT

FECHAENTREGA

DATE

Formato Y/M/D

NOT

OBS

VARCHAR(100)

Observaciones.

IDLIBRO

DATE

Clave Fornea LIBRO.DNI.

NOT

DNI

VARCHAR(8)

Clave Fornea PERSONAS.DNI.

NOT

TABLA: LIBROS
NOMBRE DE COLUMNA

TIPO DE DATO

DESCRIPCION

NULL

IDLIBRO

INT

Clave Primaria. Auto Incremento.

NOT

FECHAINGRESO

DATE

Formato Y/M/D

NOT

ESTADO

VARCHAR(45)

Nuevo, Semi Nuevo, Viejo, Muy Viejo

NOT

PROCEDENCIA

VARCHAR(45)

Comprado, Donacin.

NOT

OBSERV

VARCHAR(100)

Observaciones.

COSTO

DECIMAL(5,2)

Precio estimado del libro

NOT

NUM

INT

Numero de publicacin.

NOT

IDESTANTE

INT

Clave Fornea ESTANTE.IDESTANTE.

IDPUBLICACION

INT

Clave Fornea
PUBLICACION.IDPUBLICACION

TABLA: ANULADOS
NOMBRE DE COLUMNA

TIPO DE DATO

DESCRIPCION
Clave Primaria. Auto Incremento.

NULL

IDANULADOS

INT

IDPRESTAMO

INT

FECHAPRESTAMO

DATE

Formato Y/M/D

NOT

FECHAPROGRAMADA

DATE

Formato Y/M/D

NOT

FECHAENTREGA

DATE

Formato Y/M/D

NOT

FECHAANULADO

DATE

Formato Y/M/D

NOT

MOTIVO

VARCHAR(100)

Motivo de Anulacin del Prstamo.

NOT

Referencia.
PRESTAMOS.IDPRESTAMOS.

NOT
NOT

34

IDLIBRO

DATE

Clave Fornea LIBRO.DNI.

NOT

DNI

VARCHAR(8)

Clave Fornea PERSONAS.DNI.

NOT

TABLA: ESTANTES
NOMBRE DE COLUMNA

TIPO DE DATO

DESCRIPCION

NULL

IDESTANTE

INT

Clave Primaria. Auto Incremento.

NOT

NOMBRE

VARCHAR(45)

Nombre referencial del estante.

NOT

DETALLE

VARCHAR(45)

Algn detalle adicional.

NOT

TABLA: CATEGORIAS
NOMBRE DE COLUMNA

TIPO DE DATO

DESCRIPCION

NULL

IDCATEGORIA

VARCHAR(3)

Clave Primaria. Codigo de Categoria.

NOT

NOMBRE

VARCHAR(100)

Nombre referencial del estante.

NOT

TABLA: PUBLICACIONES
NOMBRE DE
COLUMNA

TIPO DE DATO

DESCRIPCION

NULL

IDPUBLICACION

INT

Clave Primaria. Auto Incremento.

NOT

TITULO

VARCHAR(45)

Ttulo de la publicacin

NOT

NUMPAG

VARCHAR(45)

Numero de Pginas.

NOT

EDICION

VARCHAR(45)

LUGAR

VARCHAR(100)

Lugar de publicacin.

NUM

DECIMAL(5,2)

Precio estimado del libro

IDCATEGORIA

INT

IDTIPOPUBLICACION

INT

Clave Fornea
CATEGORIA.IDCATEGORIA
Clave Fornea
TIPOPUBLICACION.IDTIPOPUBLICACION.

NOT
NOT

NOT

35

TABLA: PERDIDOS
NOMBRE DE COLUMNA

TIPO DE DATO

DESCRIPCION

NULL

IDPERDIDO

INT

Clave Primaria. Auto Incremento.

NOT

IDLIBRO

INT

Referencia a Libros.idlibros

NOT

FECHAINGRESO

DATE

Formato Y/M/D

NOT

ESTADO

VARCHAR(45)

Nuevo, Semi Nuevo, Viejo, Muy Viejo

NOT

PROCEDENCIA

VARCHAR(45)

Comprado, Donacin.

NOT

MOTIVO

VARCHAR(100)

MOTIVO DE PRDIDA.

NOT

COSTO

DECIMAL(5,2)

Precio estimado del libro

NOT

NUM

INT

Numero de publicacin.

NOT

FECHA DE PERDIDA

DATE

Formato Y/M/D

NOT

IDPUBLICACION

INT

Clave Fornea
PUBLICACION.IDPUBLICACION

NOT

TABLA: TIPO PUBLICACIONES


NOMBRE DE COLUMNA

TIPO DE DATO

DESCRIPCION

NULL

IDTIPOPUBLICACIONES

INT

Clave Primaria. Auto Incremento.

NOT

NOMBRE

VARCHAR(45)

Nombre referencial del estante.

NOT

INICIALES

VARCHAR(10)

Iniciales del tipo de publicacion.

NOT

TABLA: TIPO PUBLIAUTORES


NOMBRE DE COLUMNA

TIPO DE DATO

IDPUBLIAUTORES

INT

IDPUBLICACION

INT

IDAUTOR

INT

DESCRIPCION
Clave Primaria. Auto Incremento.
Clave Fornea
PUBLICACION.IDPUBLICACION
Clave Fornea AUTOR.IDAUTOR

NULL
NOT
NOT
NOT

36

TABLA: TIPO AUTORES


NOMBRE DE COLUMNA

TIPO DE DATO

DESCRIPCION

NULL

IDAUTORES

INT

Clave Primaria. Auto Incremento.

NOT

APELLIDOS

VARCHAR(80)

Apellidos.

NOT

NOMBRES

VARCHAR(120)

Nombres.

NOT

4.4 PROTOTIPOS DEL SISTEMA


4.4.1 VENTANA DE INGRESO

4.4.2 VENTANA PRINCIPAL

37

4.4.3 NUEVO LIBRO

38

4.4.4 VENTANA DE PRESTAMOS

39

4.4.5 VENTANA DE ESTANTES

4.4.6 VENTANA DE CATEGORA

40

4.4.7 VENTANA DE TIPO DE PUBLICACION

41

CAPITULO V: CONCLUCIONES Y RECOMENDACIONES


5.1 CONCLUCIONES:
Al terminar el presente aplicativo: Sistema integral de biblioteca, ha
permitido mejorar eficientemente los servicios bibliotecarios, prestando
mayor beneficio a los usuarios.
Una vez implementado sistema, disminuy altamente errores en el
ingreso de informacin, proporcionando una ayudad didctica en el
sistema para que los usuarios escojan los datos reutilizables y poco o
nada los ingresen.
Este aplicativo cumple con los requerimientos de la Biblioteca
Universitaria puede integrarse con dems sistemas que se estn
desarrollando en esta institucin ya que su base de datos es relacional
es esta en web.
Durante el desarrollo y al finalizar el Aplicativo las herramientas de
desarrollo Visual Studio y Mysql me han garantizado su robustez y
seguridad en el almacenamiento y tratamiento de la informacin,
constituyendo una razn ms para justificar la adquisicin de estos
paquetes altamente empresariales y garantizados.
La metodologa de desarrollo RUP asegura el diseo y desarrollo de
un buen aplicativo, manteniendo constantes reuniones con los
usuarios, coordinadores y jefes del proyecto y documentando todo el
proceso desde el inicio, elaboracin, pruebas, y puesta a produccin,
generando nuevos y mejorados releases.
El sistema est totalmente basado en Mysql y Visual Basic, de forma
que puede ser una referencia o punto de partida para otro proyecto de
titulacin de los alumnos de la carrera profesional de computacin e
informtica.

42

5.2 RECOMENDACIONES:
Para la recoleccin de informacin y requisitos de una o varias
dependencia, utilizar diferentes tcnicas de investigacin, que
capturen lo que realmente necesita el sistema.
Implementar de los medios y equipos necesarios para la facilitar el uso
del sistema.
Evitar el descuido del seguimiento en las fases del modelo RUP, con
la finalidad de cumplir con plazos y tiempos establecidos.
Mantener seguidas reuniones y entrevistas con los beneficiarios de
proyecto para recoger las inquietudes del sistema.
Realizar constantes pruebas y con diferentes casos, una vez que se
encuentre desarrollado el aplicativo para as estar seguros de su
correcto funcionamiento.
El manual de funciones es un documento muy necesario en la
Biblioteca, por lo que se recomienda elaborarlo en su momento para
conocer con claridad el rea de cada uno de los Bibliotecarios y sus
responsabilidades.
5.3 BIBLIOGRAFIA:
Dolores Cuadra, Elena Castro, Lourdes Moreno. DESARROLLO DE BASE
DE DATOS.
Robert Vieira. FUNDAMENTOS DE PROGRAMACION CON SQL
SERVER.
Dusan Petrovic. MS SQL SERVER 2008.
Jose A. Gomez, GESTION DE BIBLIOTECAS 2002.
PROGRAMA DE ESPECIALIZACION - IDAT. Manual de Visual Basic.

43

VISUAL BASIC 2005 Evangelius Petrouscus.


VISUAL BASIC 2010 FRANCESCO BALENA. Programacin Avanzada Con Visual Basic 6, Mc Graw HilL.
JOEL CARRASCO MUOZ. Visual Basic 6.0, UNI

5.4 WEBGRAFIA:
http://www.sapientia.uji.es.
http://msdn.microsoft.com/es-pe/default.aspx
http://es.slideshare.net/SandraHaro/principios-para-cuidado-ymanejo-de-bibliotecas-ifla
http://msdn.microsoft.com/es-pe/default.aspx
http://guille.costasol.net.

44

ANEXOS
A. EVIDENCIAS FOTOGRAFICAS DE IMPLEMENTACION:

45

46

B. SCRIPT DE BASE DE DATOS:


SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS,
FOREIGN_KEY_CHECKS=0;
SET @OLD_SQL_MODE=@@SQL_MODE,
SQL_MODE='TRADITIONAL,ALLOW_INVALID_DATES';

CREATE SCHEMA IF NOT EXISTS `BibliotecaIESTP` DEFAULT CHARACTER SET utf8 COLLATE
utf8_general_ci ;
USE `BibliotecaIESTP` ;

-- ------------------------------------------------------ Table `BibliotecaIESTP`.`Personas`


-- ----------------------------------------------------DROP TABLE IF EXISTS `BibliotecaIESTP`.`Personas` ;

CREATE TABLE IF NOT EXISTS `BibliotecaIESTP`.`Personas` (


`dni` VARCHAR(8) NOT NULL,
`apepa` VARCHAR(80) NOT NULL,
`apema` VARCHAR(80) NOT NULL,
`nombres` VARCHAR(120) NOT NULL,
`sexo` BIT NOT NULL,
`fnac` DATE NOT NULL,
`direccion` VARCHAR(60) NOT NULL,
`barrio` VARCHAR(45) NOT NULL,
`operador` VARCHAR(45) NULL,
`telefono` VARCHAR(11) NULL,
`email` VARCHAR(45) NOT NULL,
`fregistro` DATE NULL,
`detalle` VARCHAR(200) NULL,
PRIMARY KEY (`dni`))
ENGINE = InnoDB;

-- ------------------------------------------------------ Table `BibliotecaIESTP`.`Usuarios`


-- ----------------------------------------------------DROP TABLE IF EXISTS `BibliotecaIESTP`.`Usuarios` ;

CREATE TABLE IF NOT EXISTS `BibliotecaIESTP`.`Usuarios` (


`idusuario` INT NOT NULL AUTO_INCREMENT,
`login` VARCHAR(15) NOT NULL,
`pwd` VARCHAR(5) NOT NULL,

47

`dni` VARCHAR(8) NOT NULL,


PRIMARY KEY (`idusuario`),
INDEX `fk_Usuarios_Personas_idx` (`dni` ASC))
ENGINE = InnoDB;

-- ------------------------------------------------------ Table `BibliotecaIESTP`.`Categorias`


-- ----------------------------------------------------DROP TABLE IF EXISTS `BibliotecaIESTP`.`Categorias` ;

CREATE TABLE IF NOT EXISTS `BibliotecaIESTP`.`Categorias` (


`idcategoria` VARCHAR(3) NOT NULL,
`nombre` VARCHAR(50) NOT NULL,
PRIMARY KEY (`idcategoria`))
ENGINE = InnoDB;

-- ------------------------------------------------------ Table `BibliotecaIESTP`.`TipoPublicaciones`


-- ----------------------------------------------------DROP TABLE IF EXISTS `BibliotecaIESTP`.`TipoPublicaciones` ;

CREATE TABLE IF NOT EXISTS `BibliotecaIESTP`.`TipoPublicaciones` (


`idTipoPublicacion` INT NOT NULL AUTO_INCREMENT,
`nombre` VARCHAR(45) NOT NULL,
`iniciales` VARCHAR(5) NOT NULL,
PRIMARY KEY (`idTipoPublicacion`))
ENGINE = InnoDB;

-- ------------------------------------------------------ Table `BibliotecaIESTP`.`Publicaciones`


-- ----------------------------------------------------DROP TABLE IF EXISTS `BibliotecaIESTP`.`Publicaciones` ;

CREATE TABLE IF NOT EXISTS `BibliotecaIESTP`.`Publicaciones` (


`idpublicacion` INT NOT NULL AUTO_INCREMENT,
`titulo` VARCHAR(45) NOT NULL,
`numpag` INT NOT NULL,
`edicion` VARCHAR(4) NOT NULL,
`lugar` VARCHAR(250) NULL,
`num` INT NULL,

48

`idcategoria` VARCHAR(3) NOT NULL,


`idTipoPublicacion` INT NOT NULL,
PRIMARY KEY (`idpublicacion`, `edicion`),
INDEX `fk_Publicacion_Categoria1_idx` (`idcategoria` ASC),
INDEX `fk_Publicaciones_TipoPublicaciones1_idx` (`idTipoPublicacion` ASC))
ENGINE = InnoDB;

-- ------------------------------------------------------ Table `BibliotecaIESTP`.`Autores`


-- ----------------------------------------------------DROP TABLE IF EXISTS `BibliotecaIESTP`.`Autores` ;

CREATE TABLE IF NOT EXISTS `BibliotecaIESTP`.`Autores` (


`idautor` INT NOT NULL AUTO_INCREMENT,
`apellidos` VARCHAR(45) NOT NULL,
`nombres` VARCHAR(45) NOT NULL,
PRIMARY KEY (`idautor`))
ENGINE = InnoDB;

-- ------------------------------------------------------ Table `BibliotecaIESTP`.`publiautores`


-- ----------------------------------------------------DROP TABLE IF EXISTS `BibliotecaIESTP`.`publiautores` ;

CREATE TABLE IF NOT EXISTS `BibliotecaIESTP`.`publiautores` (


`idpubliautor` INT NOT NULL AUTO_INCREMENT,
`idpublicacion` INT NOT NULL,
`idautor` INT NOT NULL,
PRIMARY KEY (`idpubliautor`),
INDEX `fk_publiautores_Publicaciones1_idx` (`idpublicacion` ASC),
INDEX `fk_publiautores_Autores1_idx` (`idautor` ASC))
ENGINE = InnoDB;

-- ------------------------------------------------------ Table `BibliotecaIESTP`.`Estantes`


-- ----------------------------------------------------DROP TABLE IF EXISTS `BibliotecaIESTP`.`Estantes` ;

CREATE TABLE IF NOT EXISTS `BibliotecaIESTP`.`Estantes` (


`idestante` INT NOT NULL AUTO_INCREMENT,

49

`nombre` VARCHAR(45) NOT NULL,


`detalle` VARCHAR(45) NULL,
PRIMARY KEY (`idestante`))
ENGINE = InnoDB;

-- ------------------------------------------------------ Table `BibliotecaIESTP`.`Libro`


-- ----------------------------------------------------DROP TABLE IF EXISTS `BibliotecaIESTP`.`Libro` ;

CREATE TABLE IF NOT EXISTS `BibliotecaIESTP`.`Libro` (


`idLibro` INT NOT NULL AUTO_INCREMENT,
`fechaingreso` DATE NOT NULL,
`estado` VARCHAR(45) NOT NULL,
`procedencia` VARCHAR(45) NOT NULL,
`observ` VARCHAR(150) NULL,
`costo` DECIMAL(2) NOT NULL,
`num` INT NULL,
`idestante` INT NOT NULL,
`idpublicacion` INT NOT NULL,
PRIMARY KEY (`idLibro`),
INDEX `fk_Libro_Estantes1_idx` (`idestante` ASC),
INDEX `fk_Libro_Publicaciones1_idx` (`idpublicacion` ASC))
ENGINE = InnoDB;

-- ------------------------------------------------------ Table `BibliotecaIESTP`.`Prestamos`


-- ----------------------------------------------------DROP TABLE IF EXISTS `BibliotecaIESTP`.`Prestamos` ;
CREATE TABLE IF NOT EXISTS `BibliotecaIESTP`.`Prestamos` (
`idprestamo` INT NOT NULL AUTO_INCREMENT,
`fechaprestamo` DATE NOT NULL,
`fechaprogramada` DATE NOT NULL,
`fechaentrega` DATE NULL,
`Observ` VARCHAR(100) NULL,
`idlibro` INT NOT NULL,
`dni` VARCHAR(8) NOT NULL,
PRIMARY KEY (`idprestamo`),
INDEX `fk_Prestamos_Libro1_idx` (`idlibro` ASC),
INDEX `fk_Prestamos_Personas1_idx` (`dni` ASC))
ENGINE = InnoDB;

50

-- ------------------------------------------------------ Table `BibliotecaIESTP`.`Perdidos`


-- ----------------------------------------------------DROP TABLE IF EXISTS `BibliotecaIESTP`.`Perdidos` ;

CREATE TABLE IF NOT EXISTS `BibliotecaIESTP`.`Perdidos` (


`idperdido` INT NOT NULL AUTO_INCREMENT,
`idLibro` INT NOT NULL,
`fechaingreso` DATE NOT NULL,
`estado` VARCHAR(45) NOT NULL,
`procedencia` VARCHAR(45) NOT NULL,
`motivo` VARCHAR(150) NULL,
`costo` DECIMAL(2) NOT NULL,
`num` INT NULL,
`fechaperdida` DATE NULL,
`idpublicacion` INT NOT NULL,
PRIMARY KEY (`idperdido`),
INDEX `fk_Libro_Publicaciones1_idx` (`idpublicacion` ASC))
ENGINE = InnoDB;

-- ------------------------------------------------------ Table `BibliotecaIESTP`.`Anulados`


-- ----------------------------------------------------DROP TABLE IF EXISTS `BibliotecaIESTP`.`Anulados` ;

CREATE TABLE IF NOT EXISTS `BibliotecaIESTP`.`Anulados` (


`idanulados` INT NOT NULL AUTO_INCREMENT,
`idprestamo` INT NOT NULL,
`fechaprestamo` DATE NOT NULL,
`fechaprogramada` DATE NOT NULL,
`fechaentrega` DATE NULL,
`fechaanulado` DATE NULL,
`motivo` VARCHAR(100) NULL,
`idlibro` INT NOT NULL,
`dni` VARCHAR(8) NOT NULL,
INDEX `fk_Prestamos_Libro1_idx` (`idlibro` ASC),
INDEX `fk_Prestamos_Personas1_idx` (`dni` ASC),
PRIMARY KEY (`idanulados`))
ENGINE = InnoDB;

USE `BibliotecaIESTP` ;

-- -----------------------------------------------------

51

-- Placeholder table for view `BibliotecaIESTP`.`Catalogo`


-- ----------------------------------------------------CREATE TABLE IF NOT EXISTS `BibliotecaIESTP`.`Catalogo` (`idlibro` INT, `titulo` INT, `numpag`
INT, `edicion` INT, `categoria` INT, `nombre` INT, `idpublicacion` INT);

-- ------------------------------------------------------ Placeholder table for view `BibliotecaIESTP`.`deudores`


-- ----------------------------------------------------CREATE TABLE IF NOT EXISTS `BibliotecaIESTP`.`deudores` (`dni` INT, `nombrecompleto` INT,
`titulo` INT, `fechaprogramada` INT);

-- ------------------------------------------------------ View `BibliotecaIESTP`.`Catalogo`


-- ----------------------------------------------------DROP VIEW IF EXISTS `BibliotecaIESTP`.`Catalogo` ;
DROP TABLE IF EXISTS `BibliotecaIESTP`.`Catalogo`;
USE `BibliotecaIESTP`;
CREATE OR REPLACE VIEW `Catalogo` AS
select
libro.idlibro,titulo,numpag,edicion,categorias.nombre as
categoria,tipopublicaciones.nombre,publicaciones.idpublicacion
from
publicaciones
inner join
libro ON libro.idpublicacion = publicaciones.idpublicacion
inner join
categorias on categorias.idcategoria=publicaciones.idcategoria
inner join
tipopublicaciones on
tipopublicaciones.idtipopublicacion=publicaciones.idtipopublicacion;

-- ------------------------------------------------------ View `BibliotecaIESTP`.`deudores`


-- ----------------------------------------------------DROP VIEW IF EXISTS `BibliotecaIESTP`.`deudores` ;
DROP TABLE IF EXISTS `BibliotecaIESTP`.`deudores`;
USE `BibliotecaIESTP`;
CREATE OR REPLACE VIEW `deudores` AS
select personas.dni,concat(apepa,' ',apema,', ',nombres) as nombrecompleto,titulo,fechaprogramada
from personas inner join prestamos on personas.dni=prestamos.dni inner join libro on
libro.idlibro=prestamos.idlibro inner join publicaciones on publicaciones.idpublicacion =
libro.idpublicacion where fechaentrega is null;

52

SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;
USE `BibliotecaIESTP`;

DELIMITER $$

USE `BibliotecaIESTP`$$
DROP TRIGGER IF EXISTS `BibliotecaIESTP`.`Libro_ADEL` $$
USE `BibliotecaIESTP`$$
CREATE TRIGGER `Libro_ADEL` AFTER DELETE ON `Libro` FOR EACH ROW
insert into perdidos (idlibro,fechaingreso,estado,procedencia,costo,num,idpublicacion,fechaperdida)
values
(old.idlibro,old.fechaingreso,old.estado,old.procedencia,old.costo,old.num,old.idpublicacion,curdate()
)
$$

USE `BibliotecaIESTP`$$
DROP TRIGGER IF EXISTS `BibliotecaIESTP`.`Prestamos_ADEL` $$
USE `BibliotecaIESTP`$$
CREATE TRIGGER `Prestamos_ADEL` AFTER DELETE ON `Prestamos` FOR EACH ROW
insert into anulados
(idprestamo,fechaprestamo,fechaprogramada,fechaentrega,idlibro,dni,fechaanulado) values
(old.idprestamo,old.fechaprestamo,old.fechaprogramada,old.fechaentrega,old.idlibro,old.dni,curdate(
))
$$

C. CODIGO FUENTE DE CONEXIN A BASE DE DATOS:


Imports System.Data
Imports System.Data.SqlClient
Imports Qios.DevSuite.Components
Imports MySql.Data.MySqlClient
Module base
Public proyecto As String = "Sistema de Matricula"
Public cn As MySqlConnection
Public idempleado, nomempleado, cateempleado As String
Public Sub datosServer()
'cn = New SqlConnection("Data Source=" & server & ";Initial
Catalog=sedapatFinal;user id=" & usuario & "; pwd=" & pwd)
cn = New
MySqlConnection("server=localhost;user=root;database=bibliotecaiestp;")
End Sub
Function runSQL(ByVal consulta As String) As DataTable
Dim da As New MySqlDataAdapter(consulta, cn)
Dim ds As New DataSet
da.Fill(ds)
Return ds.Tables(0)
End Function

53

Public Sub soloLetras(ByVal tecla As System.Windows.Forms.KeyPressEventArgs)


If Char.IsLetter(tecla.KeyChar) Then
tecla.Handled = False
ElseIf Char.IsSeparator(tecla.KeyChar) Then
tecla.Handled = False
ElseIf tecla.KeyChar = ChrW(Keys.Back) Then
tecla.Handled = False
Else
tecla.Handled = True
End If
End Sub
Public Sub soloNumeros(ByVal tecla As System.Windows.Forms.KeyPressEventArgs)
If Char.IsNumber(tecla.KeyChar) Then
tecla.Handled = False
ElseIf tecla.KeyChar = ChrW(Keys.Back) Then
tecla.Handled = False
Else
tecla.Handled = True
End If
End Sub
Public Sub centrar(ByVal f As Form, ByVal y As Integer)
Dim pantalla As Integer
Dim ancho As Integer = f.Width / 2
pantalla = (Screen.PrimaryScreen.WorkingArea.Width) / 2
f.Location = New Point(pantalla - ancho, y)
End Sub
Function consulta(sql As String) As Boolean
Dim resultado As Boolean = False
Dim comando As MySqlCommand
cn.Open()
Try
comando = cn.CreateCommand
comando.CommandText = sql
comando.ExecuteNonQuery()
resultado = True
Catch ex As Exception
MsgBox(ex.Message)
Finally
cn.Close()
End Try
Return resultado
End Function
Function numpublicacion(categoria As String, idtipopubli As String) As Integer
Dim num As Integer
Dim numpubli As New MySqlCommand("select max(num) from publicaciones where
idcategoria='" & categoria & "' and idtipopublicacion=" & idtipopubli, cn)
If cn.State = ConnectionState.Closed Then
cn.Open()
End If
Try
Dim numero As Integer
numero = CInt(numpubli.ExecuteScalar)
num = numero + 1
Catch ex As Exception
num = 1
Finally

54

cn.Close()
End Try
Return num
End Function
Function numlibro(idpubli As String) As Integer
Dim num As Integer
Dim numpubli As New MySqlCommand("select max(num) from libro where
idpublicacion=" & idpubli, cn)
If cn.State = ConnectionState.Closed Then
cn.Open()
End If
Try
Dim numero As Integer
numero = CInt(numpubli.ExecuteScalar)
num = numero + 1
Catch ex As Exception
num = 1
Finally
cn.Close()
End Try
Return num
End Function
Public Sub limpiar(ByVal contenedor As Windows.Forms.Control.ControlCollection)
For Each obj As Object In contenedor
If TypeOf obj Is QTextBox Then
obj.clear()
End If
Next
End Sub
Function idpubifinal() As String
Dim idpubli As String
Dim lista As New MySqlCommand("select idpublicacion from publicaciones
order by idpublicacion desc limit 1", cn)
cn.Open()
idpubli = lista.ExecuteScalar
cn.Close()
Return idpubli
End Function
Function checklibro(idpubli As String) As Boolean
Dim libr As Boolean
Dim tipo As String
Dim lista As New MySqlCommand("select idTipoPublicacion from publicaciones
where idpublicacion=" & idpubli, cn)
cn.Open()
tipo = lista.ExecuteScalar
If tipo = "2" Then
libr = False
Else
libr = True
End If
cn.Close()
Return libr
End Function
Function nuevoLibroSerie(idpubli As String) As Integer
Dim num, nuevocod As Integer
Dim lista As New MySqlCommand("select count(idpublicacion) from libro where
idpublicacion=" & idpubli & " group by idpublicacion", cn)
cn.Open()
Try

55

num = lista.ExecuteScalar
num = CInt((num)) + 1
nuevocod = num
Catch
num = 1
nuevocod = num
Finally
cn.Close()
End Try
Return nuevocod
End Function
Function totaltipopubli(tipo As Integer) As Integer
End Function
Function nuevoCliente() As String
Dim codigo As String
Dim lista As New MySqlCommand("select max(clientes.idcliente ) from
clientes ", cn)
cn.Open()
codigo = lista.ExecuteScalar
codigo += 1
cn.Close()
Return codigo
End Function
Function nuevoSumini(ByVal id As String) As String
Dim codigo As String
Dim num As Integer
Dim lista As New MySqlCommand("select max(suministro.idsumini ) from
suministro where idsumini like '" & id & "%' ", cn)
cn.Open()
Try
If IsDBNull(lista.ExecuteScalar) Then
codigo = id
codigo = id & "-001"
Else
codigo = lista.ExecuteScalar
num = CInt(Mid(codigo, 11, 3)) + 1
codigo = id & "-" & Format(num, "000")
End If
Catch ex As Exception
MsgBox(ex.Message, 0 + 16, proyecto)
Finally
cn.Close()
End Try
cn.Close()
Return codigo
End Function
Function backupBD(ByVal tipo As Integer, Optional ByVal direc As String = "") As
Boolean
Dim resultado As Boolean = False
If tipo = 1 Then
Dim comando As MySqlCommand
cn.Open()
Try
comando = cn.CreateCommand
comando.CommandText = "BACKUP DATABASE [sedapatfinal] TO [sedapat]
WITH DIFFERENTIAL , NOFORMAT, NOINIT, NAME = N'sedapatfinal-Differential Database
Backup', SKIP, NOREWIND, NOUNLOAD, STATS = 10"
comando.ExecuteNonQuery()

56

resultado = True
Catch
resultado = False
Finally
cn.Close()
End Try
Else
End If
Return resultado
End Function
End Module

D. CODIGO FUENTE DE CREACION DE VENTANA PRINCIPAL:


Public Class principal
Dim fcatalogo As New catalogo
Dim fusuarios As New usuarios
Private Sub principal_Load(sender As Object, e As System.EventArgs) Handles
Me.Load
fcatalogo.MdiParent = Me
fusuarios.MdiParent = Me
End Sub
Private Sub QRibbonPage1_Activated(sender As Object, e As System.EventArgs)
Handles QRibbonPage1.Activated
fusuarios.Hide()
fcatalogo.WindowState = FormWindowState.Maximized
fcatalogo.Show()

End Sub
Private Sub QCompositeMenuItem7_ItemSelected(sender As Object, e As
Qios.DevSuite.Components.QCompositeEventArgs) Handles
QCompositeMenuItem7.ItemSelected, QCompositeMenuItem8.ItemSelected,
QCompositeMenuItem9.ItemSelected
Me.QCompositeLargeMenuItem1.Title = "filtro por " & sender.title
For Each Menu As Qios.DevSuite.Components.QCompositeMenuItem In
Me.QCompositeLargeMenuItem1.ChildItems
Menu.Checked = False
Next
sender.checked = True
End Sub
Private Sub QCompositeMenuItem1_ItemActivated(sender As System.Object, e As
Qios.DevSuite.Components.QCompositeEventArgs) Handles
QCompositeMenuItem1.ItemActivated
libro.accion = 0
libro.Text = "Nuevo Libro"
libro.ShowDialog()
libro = Nothing
End Sub
Private Sub QCompositeMenuItem3_ItemActivated(sender As System.Object, e As
Qios.DevSuite.Components.QCompositeEventArgs) Handles
QCompositeMenuItem3.ItemActivated
libro.accion = 1

57

libro.Text = "Actualizando Libro"


libro.ShowDialog()
libro = Nothing
End Sub
Private Sub QCompositeMenuItem2_ItemActivated(sender As System.Object, e As
Qios.DevSuite.Components.QCompositeEventArgs) Handles
QCompositeMenuItem2.ItemActivated
If catalogo.IsHandleCreated Then
If MsgBox("Desea eliminar este libro del catalogo", MsgBoxStyle.YesNo +
MsgBoxStyle.Critical) = MsgBoxResult.Yes Then
Dim idlibro As String
idlibro = catalogo.DataGridView1.CurrentRow.Cells(0).Value
Dim tb As DataTable
tb = runSQL("select id,idlibroautor from impreso inner join
libroautor on libroautor.impreso_id=impreso.id where libro_idlibro='" & idlibro &
"'")
If tb.Rows.Count > 0 Then
For Each fila As DataRow In tb.Rows
Dim idlibroautor As String
idlibroautor = fila.Item(1).ToString
If consulta("delete from libroautor where idlibroautor='" &
idlibroautor & "'") Then
End If
Next
Dim idimpreso As String
idimpreso = tb.Rows(0).Item(0).ToString
If consulta("delete from impreso where id='" & idimpreso & "' ")
Then
End If
End If
If consulta("delete from fondo where idfondo='" & idlibro & "'")
Then
MsgBox("Se ha eliminado correctamente el libro", 0 + 64)
End If
End If
End If
End Sub
Private Sub QCompositeMenuItem5_ItemActivated(sender As System.Object, e As
Qios.DevSuite.Components.QCompositeEventArgs) Handles
QCompositeMenuItem5.ItemActivated
If catalogo.IsHandleCreated Then
Dim criterio As String
criterio = Me.QCompositeItemInputBox2.InputBox.Text
Dim gridTable As DataTable = CType(catalogo.DataGridView1.DataSource,
DataTable)
If Me.QCompositeMenuItem7.Checked Then
gridTable.DefaultView.RowFilter = "[autor] like '" & criterio & "%'"
ElseIf Me.QCompositeMenuItem8.Checked Then
gridTable.DefaultView.RowFilter = "[titulo] like '" & criterio &
"%'"
ElseIf Me.QCompositeMenuItem9.Checked Then
gridTable.DefaultView.RowFilter = "[idfondo] like '" & criterio &
"%'"
End If

58

End If
End Sub
Private Sub QCompositeMenuItem6_ItemActivated(sender As System.Object, e As
Qios.DevSuite.Components.QCompositeEventArgs) Handles
QCompositeMenuItem6.ItemActivated
Dim gridTable As DataTable = CType(catalogo.DataGridView1.DataSource,
DataTable)
End Sub
Private Sub cargarBiblioteca()
End Sub
Private Sub QRibbon1_ItemActivated(sender As System.Object, e As
Qios.DevSuite.Components.QCompositeEventArgs) Handles QRibbon1.ItemActivated
End Sub
Private Sub QRibbonPage3_Activated(sender As System.Object, e As
System.EventArgs) Handles QRibbonPage3.Activated
fcatalogo.Hide()
fusuarios.WindowState = FormWindowState.Maximized
fusuarios.Show()

End Sub
Private Sub QCompositeMenuItem16_ItemActivated(sender As System.Object, e As
Qios.DevSuite.Components.QCompositeEventArgs) Handles
QCompositeMenuItem16.ItemActivated
usuario.ShowDialog()
usuario = Nothing
End Sub
Private Sub QCompositeMenuItem17_ItemActivated(sender As System.Object, e As
Qios.DevSuite.Components.QCompositeEventArgs) Handles
QCompositeMenuItem17.ItemActivated
usuario.accion = 1
usuario.ShowDialog()
usuario = Nothing
End Sub
Private Sub QCompositeMenuItem10_ItemActivated(sender As System.Object, e As
Qios.DevSuite.Components.QCompositeEventArgs) Handles
QCompositeMenuItem10.ItemActivated
administracion.ShowDialog()
End Sub
Private Sub QCompositeMenuItem19_ItemActivated(sender As System.Object, e As
Qios.DevSuite.Components.QCompositeEventArgs) Handles
QCompositeMenuItem19.ItemActivated
Dim usu As New usuariosdigital
usu.ShowDialog()
usu.Dispose()
End Sub

59

Private Sub QRibbonPage1_Click(sender As Object, e As System.EventArgs) Handles


QRibbonPage1.Click

End Sub
Private Sub QCompositeMenuItem21_ItemActivated(sender As System.Object, e As
Qios.DevSuite.Components.QCompositeEventArgs) Handles
QCompositeMenuItem21.ItemActivated
Estantes.ShowDialog()
End Sub
Private Sub QCompositeMenuItem23_ItemActivated(sender As System.Object, e As
Qios.DevSuite.Components.QCompositeEventArgs) Handles
QCompositeMenuItem23.ItemActivated
categorias.ShowDialog()
End Sub
Private Sub QCompositeMenuItem22_ItemActivated(sender As System.Object, e As
Qios.DevSuite.Components.QCompositeEventArgs)
tipoinfo.ShowDialog()
End Sub
Private Sub QCompositeMenuItem24_ItemActivated(sender As System.Object, e As
Qios.DevSuite.Components.QCompositeEventArgs) Handles
QCompositeMenuItem24.ItemActivated
tipopublicacion.ShowDialog()
End Sub
Private Sub QCompositeMenuItem25_ItemActivated(sender As System.Object, e As
Qios.DevSuite.Components.QCompositeEventArgs) Handles
QCompositeMenuItem25.ItemActivated
etiquetas.ShowDialog()
End Sub
Private Sub QCompositeMenuItem11_ItemActivated(sender As System.Object, e As
Qios.DevSuite.Components.QCompositeEventArgs) Handles
QCompositeMenuItem11.ItemActivated
administracion.QTabControl1.ActivateTabPage(administracion.QTabPage2)
administracion.ShowDialog()
End Sub
Private Sub QCompositeMenuItem12_ItemActivated(sender As System.Object, e As
Qios.DevSuite.Components.QCompositeEventArgs) Handles
QCompositeMenuItem12.ItemActivated
administracion.QTabControl1.ActivateTabPage(administracion.QTabPage3)
administracion.ShowDialog()
End Sub
End Class

E. CODIGO FUENTE DE NUEVO LIBRO:


Public Class libro

60

Public accion As Integer = 0


Dim idfondo2 As String = ""
Dim idimpreso As String = ""
Dim idpublicacion As String = ""
Private Sub QComboBox5_TextChanged(sender As System.Object, e As
System.EventArgs)
End Sub
Public Sub agregarAutor(codigo As String, autor As String)
For Each celda As DataGridViewRow In Me.DataGridView1.Rows
If celda.Cells(0).Value = codigo Then
MsgBox("Autor ya esta agregado")
Exit Sub
End If
Next
Dim fila As New DataGridViewRow
fila.CreateCells(Me.DataGridView1)
fila.Cells(0).Value = codigo
fila.Cells(1).Value = autor
Me.DataGridView1.Rows.Add(fila)
End Sub

Private Sub libro_Load(sender As Object, e As System.EventArgs) Handles Me.Load


cargarDatos()

End Sub
Public Sub cargarDatos()
Me.DataGridView2.DataSource = runSQL("select idpublicacion,titulo,edicion
from publicaciones")
Me.QComboBox1.DataSource = runSQL("select * from categorias")
Me.QComboBox1.ValueMember = "idcategoria"
Me.QComboBox1.DisplayMember = "nombre"
Me.QComboBox9.DataSource = runSQL("select * from estantes")
Me.QComboBox9.ValueMember = "idestante"
Me.QComboBox9.DisplayMember = "nombre"
Me.QComboBox5.DataSource = runSQL("select * from tipopublicaciones")
Me.QComboBox5.ValueMember = "idTipoPublicacion"
Me.QComboBox5.DisplayMember = "nombre"
End Sub

Private Sub QTabControl1_ActivePageChanged(sender As System.Object, e As


Qios.DevSuite.Components.QTabPageChangeEventArgs) Handles
QTabControl1.ActivePageChanged

End Sub
Private Sub Caja5_TextChanged(sender As System.Object, e As System.EventArgs)
Handles Caja5.TextChanged
Dim gridTable As DataTable = CType(Me.DataGridView2.DataSource, DataTable)
gridTable.DefaultView.RowFilter = "[titulo] like '" & Me.Caja5.Text & "%'"
End Sub

61

Private Sub libronuevo()


End Sub
Private Sub QButton5_Click(sender As System.Object, e As System.EventArgs)
Handles QButton5.Click
If Me.QTabControl1.ActiveTabPage Is Me.QTabPage1 Then
If Me.DataGridView2.Rows.Count = 0 Then
QTabPage2.Enabled = True
Me.QTabControl1.ActivateTabPage(Me.QTabPage2)
Me.QTabPage1.Enabled = False
Else
If Me.DataGridView2.SelectedRows.Count = 1 Then
QTabPage3.Enabled = True
idpublicacion = Me.DataGridView2.CurrentRow.Cells(0).Value
Me.QTabControl1.ActivateTabPage(Me.QTabPage3)
End If
End If
Me.QTabPage1.Enabled = False
Exit Sub
End If
If Me.QTabControl1.ActiveTabPage Is Me.QTabPage2 Then
If guardarPublicacion() = True Then
idpublicacion = idpubifinal()
If guardarAutores() = True Then
Try
Dim dibujo As Image = Nothing
Dim dibujo2 As Image = Nothing
dibujo = Image.FromFile((Me.PictureBox1.ImageLocation))
dibujo2 = dibujo.GetThumbnailImage(140, 180, Nothing,
IntPtr.Zero)
dibujo2.Save("imagenes/libros/" & idpublicacion & ".jpg")
Catch ex As Exception
End Try
Me.QTabPage2.Enabled = False
QTabPage3.Enabled = True
Me.QTabControl1.ActivateTabPage(Me.QTabPage3)
Else
Exit Sub
End If
Else
Exit Sub
End If
End If
If Me.QTabControl1.ActiveTabPage Is Me.QTabPage3 Then
If nuevoLibro() Then
MsgBox("Libros guardados")
End If
End If
End Sub
Public Function ThumbnailCallback() As Boolean
Return False
End Function
Private Sub QTabPage3_Activated(sender As Object, e As System.EventArgs) Handles
QTabPage3.Activated

62

Me.QButton5.Text = "Finalizar"
Me.QButton5.Image = My.Resources.Resource1.onebit_34.ToBitmap
End Sub

Private
Dim
Dim
Dim

Function guardarPublicacion() As Boolean


res As Boolean
titulo, edicion, categoria As String
numpag, idtipo, num As Integer

titulo = Me.Caja1.Text
edicion = Me.QComboBox2.SelectedItem
categoria = QComboBox1.SelectedValue
numpag = Caja4.Text
idtipo = Me.QComboBox5.SelectedValue
num = numpublicacion(categoria, idtipo)
If titulo.Length > 0 Then
If consulta("insert into publicaciones
(titulo,numpag,edicion,idcategoria,idtipopublicacion,num) values ('" & titulo & "',"
& numpag & ",'" & edicion & "','" & categoria & "'," & idtipo & "," & num & ")")
Then
res = True
Else
MsgBox("No se pudo guardar libro")
res = False
End If
Else
MsgBox("Ingrese Titulo a la publicacion", MsgBoxStyle.Critical +
MsgBoxStyle.OkOnly, proyecto)
Caja1.Focus()
res = False
End If
Return res
End Function
Private Function guardarAutores() As Boolean
Dim res As Boolean
If Me.DataGridView1.Rows.Count > 0 Then
For Each fila As DataGridViewRow In Me.DataGridView1.Rows
Dim idpubli, idautor As String
idpubli = idpubifinal()
idautor = fila.Cells(0).Value.ToString
If consulta("insert into publiautores (idpublicacion,idautor) values
(" & idpubli & "," & idautor & ")") Then
res = True
Else
res = False
End If
Next
Else
res = True
End If
Return res
End Function
Function nuevoLibro() As Boolean
Dim res As Boolean
Dim estado, procedencia, idestante, obs As String
Dim precio As Decimal
Dim num As Integer
For Each fila As DataGridViewRow In Me.DataGridView3.Rows

63

estado = fila.Cells(0).Value
procedencia = fila.Cells(1).Value
precio = fila.Cells(2).Value
idestante = fila.Cells(3).Value
obs = fila.Cells(4).Value
num = numlibro(idpublicacion)
If consulta("insert into libro
(fechaingreso,estado,procedencia,observ,costo,idestante,idpublicacion,num) values
(CURDATE(),'" & estado & "','" & procedencia & "','" & obs & "','" & precio & "'," &
idestante & "," & idpublicacion & "," & num & ")") Then
End If
Next
Return res
End Function
Function generadorEtiqueta(idpubli As String) As String
Dim etiqueta As String
Dim tb As DataTable
If checklibro(idpubli) = True Then
tb = runSQL("select idcategoria,iniciales from publicaciones inner join
tipopublicaciones on
tipopublicaciones.idtipopublicacion=publicaciones.idtipopublicacion where
idpublicacion=" & idpubli)
Dim et1, et2 As String
et1 = tb.Rows(0).Item(0) & tb.Rows(0).Item(1)
Else
'tb = runSQL("select
idcategoria,tipopublicaciones.iniciales,tipoinformes.iniciales from publicaciones
inner join tipopublicaciones on
tipopublicaciones.idtipopublicacion=publicaciones.idtipopublicacion inner join
informes on informes.idpublicacion=publicaciones.idpublicacion inner join
tipoinformes on tipoinformes.idtipoinforme=informes.idtipoinforme where
publicaciones.idpublicacion=" & idpubli")
End If
Return etiqueta
End Function
Private Sub QButton8_Click(sender As System.Object, e As System.EventArgs)
Handles QButton8.Click
If Me.DataGridView3.SelectedRows.Count = 1 Then
Me.DataGridView3.Rows.Remove(Me.DataGridView3.CurrentRow)
End If
End Sub
Private Sub QButton7_Click(sender As System.Object, e As System.EventArgs)
Handles QButton7.Click
Dim fila As New DataGridViewRow
fila.CreateCells(Me.DataGridView3)
fila.Cells(0).Value = QComboBox7.SelectedItem
fila.Cells(1).Value = QComboBox8.SelectedItem
fila.Cells(2).Value = Caja6.Text
fila.Cells(3).Value = QComboBox9.SelectedValue
fila.Cells(4).Value = Caja7.Text
Me.DataGridView3.Rows.Add(fila)
End Sub
Private Sub QButton1_Click(sender As System.Object, e As System.EventArgs)
Handles QButton1.Click

64

Autores.ShowDialog()
agregarAutor(Autores.DataGridView1.CurrentRow.Cells(0).Value,
Autores.DataGridView1.CurrentRow.Cells(1).Value)
Autores = Nothing
End Sub
Private Sub QButton2_Click(sender As System.Object, e As System.EventArgs)
Handles QButton2.Click
Try
Me.DataGridView1.Rows.Remove(Me.DataGridView1.CurrentRow)
Catch ex As Exception
End Try
End Sub
Private Sub QButton4_Click(sender As System.Object, e As System.EventArgs)
Handles QButton4.Click
Me.OpenFileDialog1.Title = "Seleccione imagen para la publicacion"
Me.OpenFileDialog1.InitialDirectory = "Mis Imagenes"
Me.OpenFileDialog1.Filter = "Archivos de Imagenes (*.jpg)|*.jpg"
Me.OpenFileDialog1.ShowDialog()
Me.PictureBox1.ImageLocation = Me.OpenFileDialog1.FileName
End Sub
End Class

F. CODIGO FUENTE DE IMPRESIN DE ETIQUETAS:

Imports Microsoft.Reporting.WinForms
Public Class etiquetas
Private Sub etiquetas_Load(sender As System.Object, e As System.EventArgs)
Handles MyBase.Load
Dim tb As DataTable

65

tb = runSQL("select
idlibro,idcategoria,iniciales,lpad(publicaciones.num,4,'0') as
numpubli,lpad(libro.num,2,'0') as numlibro from libro inner join publicaciones on
publicaciones.idpublicacion=libro.idpublicacion inner join tipopublicaciones on
tipopublicaciones.idtipopublicacion=publicaciones.idtipopublicacion")
Me.ReportViewer1.RefreshReport()
Me.ReportViewer1.LocalReport.ReportPath = "F:\Proyecto Biblioteca\Biblioteca
Integral\Biblioteca Integral\etiquetas.rdlc"
Dim myReportDataSource = New ReportDataSource("DataSet1", tb)
ReportViewer1.LocalReport.DataSources.Add(myReportDataSource)
Me.ReportViewer1.RefreshReport()
End Sub

66

Das könnte Ihnen auch gefallen