Professional Documents
Culture Documents
2007
AGRADECIMIENTOS
Al Seor que da a da me permite abrir los ojos, a mi Padre Martin por el cario, apoyo y
posibilidad que dio de estudiar, A mi Madre Miriam por su amor y cario, a mis hermanos
(Cristian, Katherine y Martincito) y a mi polola Johanna, por su comprensin, apoyo y amor
incondicional en todo mi proceso Universitario.
NDICE
NDICE............................................................................................................................................ 3
TABLA DE ILUSTRACIONES ..................................................................................................... 7
ANEXOS ......................................................................................................................................... 1
CAPTULO I: COMIENZO DEL PROYECTO ............................................................................. 2
1.1 POR QU EL SISTEMA ...................................................................................................... 3
PROBLEMA ........................................................................................................................... 3
PROPUESTA DE SOLUCIN............................................................................................... 4
MBITO DE LA APLICACIN ........................................................................................... 7
JUSTIFICACIN DEL PROYECTO ..................................................................................... 7
1.2 POR QU ORIENTACIN A OBJETOS ............................................................................ 8
1.3 OBJETIVOS DEL PROYECTO ......................................................................................... 10
OBJETIVO GENERAL DEL PROYECTO.......................................................................... 10
OBJETIVO ESPECFICOS DEL PROYECTO ................................................................... 11
1.4 PRESENTACIN DE CAPTULOS .................................................................................. 12
CAPTULO II: MARCO TERICO............................................................................................. 14
2.1 CARACTERSTICAS DE LA OO ..................................................................................... 15
CONCEPTOS FUNDAMENTALES.................................................................................... 15
CARACTERSTICAS DE LA POO ..................................................................................... 17
BENEFICIOS DE LA ORIENTACIN A OBJETOS ............................................................. 18
2.2 PROGRAMACIN CON JAVA Y JSP ............................................................................. 19
CARACTERSTICAS........................................................................................................... 19
COMPONENTES CLAVES DE LAS JSPS........................................................................ 21
FUNCIONAMIENTOS JSP.................................................................................................. 22
VENTAJAS JSP .................................................................................................................... 22
2.3 BASE DE DATOS ORIENTADA A OBJETOS ................................................................ 23
HISTORIA DE LAS BD ORIENTADAS A OBJETOS ...................................................... 24
CRTICAS ............................................................................................................................. 24
CARACTERSTICAS........................................................................................................... 25
3
TABLA DE ILUSTRACIONES
ANEXOS
PROBLEMA
El Seminario Metropolitano Concepcin, es una casa de estudios que se dedica a la formacin de
futuros sacerdotes. Un factoe para e xito de la institucin, es la existencia de la biblioteca, cuya
finalidad consiste en la adquisicin, conservacin, estudio y exposicin de libros y documentos.
En el Seminario, existe una biblioteca exlusiva para que los seminaristas puedan realizar sus
estudios, sta posee alrededor de 11.000 libros clasificados, pero debido al tiempo que requiere
ingresar y clasificar el material, an quedan unos 40.000 ejemplares que no han sido clasificados.
Prstamos de libros y revistas: Los libros y revistas poseen una tarjeta que los identifica, es
all donde se registra el da correspondiente a la devolucin y el nombre del usuario que
solicit el material. Este proceso se hace de forma manual, siendo muy difcil el control de la
informacin, debido a esto el proceso se vuelve lento y tedioso.
PROPUESTA DE SOLUCIN
La propuesta de solucin a la problemtica de la biblioteca del Seminario, es realizar un sistema
bibliotecario orientado a objetos que realice las operaciones bsicas y adems incorpore
alternativas innovadoras para la bsqueda de los materiales existentes.
Plataforma Web: Plataforma que usarn los usuarios para realizar la bsqueda del material
existente y conocer la informacin relacionada al usuario, como prstamos vigentes y
prstamos histricos.
En la Figura 1 se muestra la interaccin del hardware con los dos programas que el sistema
proveer. La aplicacin de escritorio (para la administracin de objetos de la biblioteca) es la que
permitir al bibliotecario ingresar los libros y revistas, registrar a los usuarios y permitir los
prstamos y devoluciones mediante cdigos de barra. La aplicacin Web por su parte es la que
permitir a los usuarios realizar la bsqueda de libros y revistas, adems de conocer el detalle de
los prstamos vigentes e histricos. La comunicacin de las aplicaciones mencionadas, se
efectuar por medio de una conexin inalmbrica que iluminara todo el sector fsico de la
biblioteca, permitiendo el acceso libre de cualquier usuario a la plataforma Web.
A continuacin se presenta arquitectura del software correspondiente al del sistema.
digitales
dependen de Administracin
Catlogo de libros y revistas: Este subsistema tiene el control de los libros y revistas que
pertenecen a la biblioteca, permitiendo el ingreso y modificacin de informacin vlida para
el sistema, tambin es importante para ste subsistema el controlar la bsqueda de un libro o
revista.
Devolucin y prstamos: Subsistema que tiene por objetivo, interconectar informacin entre
los subsistemas Catlogo de libros y revistas y Administracin de usuarios para lograr
que un prstamo sea asociado a un material y a un usuario en particular. Este subsistema
tambin es el encargado de registrar la devolucin del material.
Recomendacin de bsqueda: Subsistema que tiene una estrecha relacin con Catlogo de
libros y revistas, ya que ordenar los resultados de una bsqueda de libros de acuerdo a las
recomendaciones que los mismos seminaristas han realizado.
Subsistema que solo existe en la plataforma Web.
MBITO DE LA APLICACIN
El Sistema Orientado a Objetos para Biblioteca del Seminario Concepcin, ser aplicado en la
Biblioteca existente en el Seminario, este sistema reunir informacin de: Seminaristas, Libros,
Revistas, Publicaciones digitales, prstamos y devoluciones. Est informacin ser ingresada por
medio del propio sistema, ya que no existe un sistema actual con el cual pueda interactuar.
La informacin al ser relacionada entre s, dar origen a un sistema de biblioteca, el cual
permitir el control y gestin de la informacin referente a los prstamos y devoluciones tanto de
libros y revistas, adems cada usuario podr publicar documentos digitales, enviar menajes y
retroalimentar recomendaciones para facilitar la bsqueda de los libros.
de libros que existen. El sistema permitir una bsqueda inmediata y exacta, lo que har que el
seminarista pueda encontrar realmente lo que est buscando.
Por ltimo, el proceso de prstamos y devolucin del material, deja mucho que desear, ya que
prcticamente no existe un control sobre sta informacin. El nuevo sistema permitir un control
tanto de los usuarios, como del material vinculado a los prstamos y devoluciones.
Las Tcnicas Orientadas a Objetos modifican el punto de vista de los analistas de sistemas de
informacin acerca del mundo, en vez de pensar en los procesos y su descomposicin, piensan en
Objetos y su comportamiento (Martin, y otros, 1994).
Adems, el enfoque Orientado a objetos es ambicioso: abarca todo el ciclo de vida de desarrollo
software. Cuando se examinan soluciones orientadas a objetos se debe comprobar que el mtodo
y el lenguaje, as como las herramientas de apoyo, sean aplicables al anlisis y al diseo al igual
que la implementacin y el mantenimiento (Meyer, 1998).
Estas caractersticas hacen de la Orientacin a Objetos la mejor opcin a considerar en la
implementacin del sistema de biblioteca del Seminario Metropolitano Concepcin, permitiendo
la reutilizacin del cdigo en futuras aplicaciones y una rpida ampliacin del sistema.
10
Estudio a fondo del Paradigma Orientado a Objetos, dando nfasis en las bases de datos y el
uso de UML para su documentacin.
Implementar terminales clientes que permitan atender a las consultas de usuarios, utilizando
una red local para la comunicacin con los servidores.
Realizar un diseo que permita la reutilizacin del cdigo construido, en otros proyectos.
11
13
En este segundo captulo denominado Marco terico se definen materias importantes que se
trabajaran en el proyecto. Como el ttulo lo menciona, se describirn las teoras que apoyan las
decisiones que se han tomado en este proyecto.
14
2.1 CARACTERSTICAS DE LA OO
Como ya se mencion en el objetivo, la orientacin a objetos (OO) es la principal cualidad de
este proyecto. A continuacin se describen las caractersticas de este paradigma.
Las tcnicas orientadas a objetos permite que el software se construya a partir de objetos de
comportamiento especifico. Los propios objetos se pueden construir a partir de otros, que a su
vez pueden estar pueden estar formados por otros objetos (Martin, y otros, 1994).
CONCEPTOS FUNDAMENTALES
La programacin orientada a objetos introduce nuevos conceptos que superan y amplan
conceptos antiguos ya conocidos. Entre ellos destacan los siguientes (Wikipedia POO, 2007):
Mtodo: Algoritmo asociado a un objeto (o a una clase), cuya ejecucin se desencadena tras
la recepcin de un mensaje. Desde el punto de vista del comportamiento, es lo que el objeto
puede hacer. Un mtodo puede producir un cambio en las propiedades del objeto o la
generacin de un evento con un nuevo mensaje para otro objeto del sistema.
Evento: Un suceso en el sistema (tal como una interaccin del usuario con la mquina, o un
mensaje enviado por un objeto). El sistema maneja el evento enviando el mensaje adecuado al
objeto pertinente. Tambin se puede definir como evento, a la reaccin que puede
desencadenar un objeto, es decir, la accin que genera.
Mensaje: Una comunicacin dirigida a un objeto, que le ordena que ejecute uno de sus
mtodos con ciertos parmetros asociados al evento que lo gener.
15
Estado interno: Es una propiedad invisible de los objetos, que puede ser nicamente
accedida y alterada por un mtodo del objeto, y que se utiliza para indicar distintas
situaciones posibles para el objeto (o clase de objetos).
Representacin de un objeto: Un objeto se representa por medio de una tabla o entidad que
est compuesta por sus atributos y funciones correspondientes.
Tipo: Conjunto de firma de mtodos con un nombre que lo identifica. Un tipo puede ser
definido a travs de una clase o una interface.
16
CARACTERSTICAS DE LA POO
Las caractersticas esenciales del paradigma orientado a objetos son las que se describen a
continuacin (Wikipedia POO, 2007):
Herencia: Las clases no estn aisladas, sino que se relacionan entre s, formando una
jerarqua de clasificacin. Los objetos heredan las propiedades y el comportamiento de todas
las clases a las que pertenecen. La herencia organiza y facilita el polimorfismo y el
encapsulamiento permitiendo a los objetos ser definidos y creados como tipos especializados
de objetos preexistentes.
17
Reutilizacin: Las clases estn diseadas para que se reutilicen en muchos sistemas. Para
maximizar la reutilizacin, las clases se construyen de modo que se puedan adaptar. Es
probable que las bibliotecas de clases crezcan rpidamente.
Estabilidad: Las clases diseadas para una reutilizacin repetida se vuelven estables, de la
misma manera que los microprocesadores y otros chips se hacen estables.
Diseo de mayor calidad: Los diseos suelen tener mayor calidad, puesto que se integran a
partir de componentes probados, que han sido verificados y pulidos varias veces.
Programacin ms sencilla: Los programas se unen a partir de piezas pequeas, cada una de
las cuales, en general, se pueden crear fcilmente. El programador crea un mtodo para una
clase a la vez.
Independencia del diseo: Las clases estn diseadas para ser independientes del ambiente
de plataformas, hardware y software. Utilizan solicitudes y respuestas con formato estndar.
Esto les permite ser utilizadas en mltiples sistemas operativos, controladores de base de
datos, controladores de redes, interfaces Usuario-Grficas, etc.
18
JAVA,
CARACTERSTICAS
A continuacin se listan las caractersticas principales del lenguaje de programacin JAVA
(Wikipedia Lenguaje Java):
Cdigo intermedio ms abstracto que el cdigo mquina. Habitualmente se lo trata como a un archivo binario que
contiene cdigo mquina producido por el compilador.
19
capaz de escribir un programa una vez y que pueda ejecutarse en cualquier dispositivo. Se
compila el cdigo fuente escrito en lenguaje Java, para generar un cdigo bytecode.
El recolector de basura: Un argumento en contra de lenguajes como C++, es que los
programadores se encuentran con la carga aadida de tener que administrar la memoria solicitada
dinmicamente de forma manual. En Java, este problema potencial es evitado en gran medida por
el recolector automtico de basura (automatic garbage collector). El programador determina
cundo se crean los objetos, y el entorno en tiempo de ejecucin de Java (Java runtime) es el
responsable de gestionar el ciclo de vida de los objetos. El programa u otros objetos pueden tener
localizado un objeto mediante una referencia a ste (que, desde un punto de vista de bajo nivel es
una direccin de memoria). Cuando no quedan referencias a un objeto, el recolector de basura de
Java borra el objeto, liberando as la memoria que ocupaba previniendo posibles fugas (ejemplo:
un objeto creado y nicamente usado dentro de un mtodo slo existe dentro de ste; al salir del
mtodo el objeto es eliminado).
Para la bsqueda del material de la biblioteca, es necesario un programa orientado a la
Web, que pueda ser utilizado por los usuarios del Seminario. Para efectuar la bsqueda de los
materiales es muy recomendable aprovechar las clases que se han ocupado para el programa de
administracin, por lo cual JSP es el lenguaje indicado para el programa de bsqueda del
material.
De sta forma, se dar una definicin de JSP, su funcionamiento y sus ventajas principales.
JSP,
Las JSP's permiten la utilizacin de cdigo Java mediante scripts. Adems, es posible utilizar
algunas acciones JSP predefinidas mediante etiquetas. Estas etiquetas pueden ser enriquecidas
20
Bibliotecas de marcas: Las bibliotecas de marcas son parte del mecanismo de extensin de
marcas que permite a los programadores crear marcas personalizadas. Dichas marcas
permiten a los programadores manipular el contenido de una JSP.
21
FUNCIONAMIENTOS JSP
JSP no se puede considerar un script al 100%, ya que antes de ejecutarse el Servidor de
2
Aplicaciones compila el contenido del documento JSP (script y etiquetas) y genera una clase
3
Servlet . Por lo tanto, se puede decir que aunque este proceso sea transparente para el
programador no deja de ser una tecnologa compilada. (Wikipedia JSP)
La principal ventaja de JSP frente a otros lenguajes, es que permite integrarse con clases Java
(.class), lo que permite separar en niveles las aplicaciones web, almacenando en clases java las
partes que consumen ms recursos (as como las que requieren ms seguridad) y dejando la parte
encargada de formatear el documento HTML en el archivo JSP. La idea fundamental detrs de
este criterio, es el de separar la lgica del negocio de la presentacin de la informacin.
(Wikipedia JSP)
Independientemente de la certeza de la aseveracin, Java es conocido por ser un lenguaje muy
portable (su lema publicitario reza: escrbelo una vez, crrelo donde sea) y sumado a las
capacidades de JSP se hace una combinacin muy atractiva. (Wikipedia JSP)
VENTAJAS JSP
El uso de la tecnologa JSP, tiene fuertes ventajas en las aplicaciones Web sobre otras tecnologas
como ASP, PHP, etc. Estas se mencionan a continuacin. (Natxo, 2007)
Compatibilidad con servidores: JSP sigue la filosofa de la arquitectura JAVA de "escribe una
vez ejecuta donde quieras". JSP se puede ejecutar en los sistemas operativos y servidores web
ms populares, como por ejemplo: Apache Tomcat, JSWDK, Sun Java System Web Server,
Macromedia JRun, ServletExec, etc.
Servidores Web de nueva generacin que proporcionan la lgica de negocio sobre la que se construyen las
aplicaciones.
Es un objeto que se ejecuta en un servidor o contenedor JEE, fue especialmente diseado para ofrecer contenido
dinmico desde un servidor web.
22
La ventaja Java: La tecnologa JSP usa Java como lenguaje de Script. Java es un lenguaje
muy potente y escalable, a diferencia de los lenguajes de Script. Las pginas JSP son
compilados en Servlets, por lo que actan como una puerta a todos los servicios Java de
Servidor y libreras Java para aplicaciones http. Java hace el trabajo del desarrollador ms
fcil p. e., ayuda a proteger el sistema contra las cadas.
23
CRTICAS
Comparadas con las bases de datos relacionales, las bases de datos orientadas a objetos han sido
tema de ciertas crticas:
El modelo navegacional de computacin ha sido criticado por que parece como un paso atrs en
el tiempo hacia las bases de datos de redes y jerrquicas. Sin embargo, hay aplicaciones de CAD
y de inteligencia artificial para las cuales es absolutamente esencial navegar a travs de los datos,
y para las que estructura anidada de los objetos es slo un aspecto del modelo de objetos.
24
Otra crtica comn es que el modelo de objetos an no tiene una teora matemtica coherente que
le sirva de base. Sin embargo, debe tambin sealarse que ni el lgebra ni el clculo relacional
manejan otros aspectos de la tecnologa de las bases de datos como la autorizacin, el control de
concurrencia, la recuperacin o el control de integridad. (Bertino, y otros, 1995)
CARACTERSTICAS
Hay una serie de caractersticas que las bases de datos orientadas a objetos poseen y nos permiten
conocer algunos detalles de la tecnologa.
trabajar
transparentemente con un entorno de programacin basado en objetos, sino que soportan todos
los conceptos de la tecnologa de objetos, tales como: Abstraccin, encapsulamiento, herencia y
polimorfismo, tal como se describi en el captulo 3.1
EJEMPLO DE BDOO
DB4o es un novedoso motor de base de datos orientada a objetos. Sus siglas corresponden a la
expresin "DataBase 4 (for) Objects", que a su vez es el nombre de la compaa que lo
desarrolla: db4objects, Inc.
DB4o es una solucin de persistencia ideal cuando se necesita una base transparente y fcil de
utilizar, sta se puede incorporar rpidamente en un proyecto Java o .NET sin sacrificar
desempeo. Logra acortar los tiempos de entrega de las aplicaciones de forma significativa, ya
que permite concentrarse directamente en el dominio del problema (los objetos). Adems, ofrece
caractersticas avanzadas, como soporte transparente a cambios en las versiones de los objetos
(evolucin del esquema), cero administracin (no requiere DBA) y consultas nativas.
(Lavintman, y otros, 2007)
25
UML
documentar los artefactos de los sistemas software, as como para el modelado del negocio y
otros sistemas no software [OMG01].
26
DIAGRAMAS
Un Diagrama es una representacin grfica de una coleccin de elementos de modelado, a
menudo dibujada como un grafo conexo de arcos (relaciones) y vrtices (otros elementos del
modelo). Un diagrama no es un elemento semntico, un diagrama muestra representaciones de
elementos semnticos del modelo, pero su significado no se ve afectado por la forma en que son
representados.
Un diagrama est contenido dentro de un paquete. La mayora de los diagramas de UML y
algunos smbolos complejos son grafos que contienen formas conectadas por rutas. La
informacin est sobre todo en la topologa, no en el tamao o la colocacin de los smbolos (hay
algunas excepciones como el diagrama de secuencia con un eje mtrico de tiempo). Hay tres
clases importantes de relaciones visuales: conexin (generalmente de lneas a formas de dos
dimensiones), contencin (de smbolos por formas cerradas de dos dimensiones), y adhesin
visual (un smbolo que est "cerca" de otro en un diagrama). Estas relaciones geomtricas se
reasignan a conexiones entre nodos en un grfico en la forma analizada de la notacin.
La notacin de UML est pensada para ser dibujada en superficies bidimensionales. Algunas
formas bidimensionales son proyecciones de formas tridimensionales, tales como cubos, pero
todava se representan como conos en una superficie bidimensional. (creangel UML, 2007)
27
En la Figura 4 se muestra una tabla todos los diagramas que conforman UML, adems del rea al
que pertenece, la vista y los conceptos principales.
28
Cdigo de una dimensin: Al efectuar la lectura de stos cdigos se tiene en cuenta el ancho de
las barras y los espacios entre ellas. La altura de las barras no otorga dato alguno. Slo codifican
a no ms de una docena de caracteres, y representan la clave para acceder un registro de alguna
base de datos, en la Figura 5 se muestra un ejemplo para ste tipo de cdigo.
29
Cdigos de dos dimensiones: Los datos estn codificados en la altura y longitud del smbolo, y
en stos cdigos la informacin no se reduce slo al cdigo del artculo, sino que puede
almacenar gran cantidad datos. Un cdigo del tamao de una estampilla postal, se pueden
almacenar ms de mil caracteres alfanumricos. En la Figura 6 se muestra un ejemplo.
NOMENCLATURA BSICA:
Mdulo: Es la unidad mnima o bsica de un cdigo. Las barras y espacios estn formados
por un conjunto de mdulos.
Barra: Elemento oscuro dentro del cdigo. Se hace corresponder con el valor binario 1.
Espacio: El elemento claro dentro del cdigo. Se hace corresponder con el valor binario 0.
ESTRUCTURA
Como muestra analizaremos la estructura general de un cdigo de barras lineal, sin embargo, los
conceptos se aplican tambin a los cdigos de dos dimensiones.
Cabe hacer mencin que el ancho de las barras y los espacios, as como el nmero de cada uno de
stos vara para cada simbologa.
30
1. Quiet Zone: zona libre que rodea al cdigo y permite al lector ptico distinguir entre el
cdigo y el resto de informacin contenida en el documento o en la etiqueta del producto.
2. Caracteres de inicio y terminacin: Marcas predefinidas de barras y espacios especficos
para cada simbologa. Marcan el inicio y terminacin de un cdigo.
3. Caracteres de datos: Contienen los nmeros o letras particulares del smbolo.
4. Checksum: Es una referencia incluida en el smbolo, cuyo valor es calculado de forma
matemtica con informacin de otros caracteres del mismo cdigo. Se utiliza para ejecutar un
chequeo matemtico que valida los datos del cdigo de barras. Aunque puede ser importante
en cualquier simbologa, no son requeridos en todas ellas.
31
HISTORIA.
Melvil Dewey era bibliotecario en Amherst College en Massachusetts cuando tuvo la idea de
crear un sistema de clasificacin que respondiera a las necesidades de la biblioteca del colegio.
La primera edicin del sistema decimal de Dewey con el ttulo A classification and Subject
Index for Cataloguing and Arranging the Books and Pamphlets of a Library no contena en s
ms de 921 categoras divididas en 10 clases principales del 000 al 999. Con el esquema iba un
registro de materias que contena ms de 2500 entradas. (Miksa, 1998)
La Biblioteca del Congreso de Estados Unidos es la responsable del mantenimiento y renovacin
del esquema y las tablas.
Adems del personal de la Biblioteca del Congreso, existe un consejo con representantes de
bibliotecarios y profesores de bibliotecologa. El hecho que la Biblioteca del Congreso es la
garante de la revisin del sistema hace que este sistema tenga ms aceptacin que el sistema
4
decimal universal CDU , que carece de una plataforma tan firme. (Benito, 1999)
32
PRINCIPIOS GENERALES
El sistema de clasificacin decimal Dewey realiza una divisin de las ciencias en nueve clases
principales: filosofa, religin, ciencias sociales, filologa, ciencias naturales, tcnica y ciencias
prcticas, arte, literatura e historia. Esta divisin es la que exista en el siglo XIX, y que a fines
del siglo XX no corresponde a la divisin del saber tal como lo vemos hoy, por lo que hay un
desbalance entre las disciplinas.
El sistema Dewey, ha vivido tres perodos diferentes en la visin de las ciencias. El primer
perodo, durante la vida de Dewey, en el que haba una promesa explcita de no alterar los signos
dados a una materia, para que las bibliotecas no se vieran obligadas a hacer cambios en el orden
de sus depsitos. El segundo perodo, de la edicin 14 a la 17, en la que se hicieron muchos
cambios parciales en todas las disciplinas sin considerar el resultado, y el tercer perodo, el
actual, en el que la remodelacin de una disciplina se puede hacer completa, pero dejando las
dems disciplinas intactas. (Benito, 1999).
33
BENEFICIOS
NOTACIN
El sistema de clasificacin se basa en nmeros rabes. Estos tienen la ventaja de ser casi
universales, a diferencia de las letras, que tenemos varios alfabetos, adems de otras formas de
representacin.
Dewey decidi que todas las materias deben de tener por lo menos tres decimales. Esto quiere
decir que si tenemos una materia principal con un nmero bsico de solo una o dos cifras
aadimos un cero o dos para completar. Por ejemplo usamos 200 para religin y 220 para la
Biblia. Si necesitamos ms de tres cifras separamos las cifras siguientes con un punto, por
ejemplo 224.94.
En el esquema se escriben las tres cifras primeras al comienzo de la materia respectiva, para
luego escribirlas solamente al comienzo de cada pgina. Un punto seala que las tres primeras
cifras se han suprimido, con ello se hace ms fcil la lectura. En la subsiguiente subdivisin se
deja un espacio libre por cada tres cifras con el mismo fin. (Benito, 1999)
34
35
En la Figura 8 se muestran las tecnologas que en su conjunto forman Ajax. XHTML, CSS, se
utiliza para el diseo que acompaa la informacin que visualizar el usuario. DOM para
representar los elementos de un documento estructurado (Pagina Web). XML y JSON se
encargan del formato utilizado para el retorno desde el servidor que genera la interfaz
XMLHttpRequest, todo esto mediante el lenguaje JavaScript. Por ejemplo, un usuario genera una
accin en un documento XML, el que enva una peticin al servidor Web mediante
XMLHttpRequest por medio del lenguaje JavaScript, el que recibe la peticin y mediante DOM
cambia el contenido de la pagina Web que contiene un diseo CSS.
Las tcnicas tradicionales que se ocupan para crear aplicaciones web funcionan correctamente,
pero no crea una buena sensacin al usuario. Al realizar peticiones continuas al servidor, el
usuario debe esperar a que se recargue la pgina con los cambios solicitados. Si la aplicacin
debe realizar peticiones continuas, la aplicacin web se convierte en algo ms molesto que til.
AJAX permite mejorar completamente la interaccin del usuario con la aplicacin, evitando las
recargas constantes de la pgina, ya que el intercambio de informacin con el servidor se produce
en un segundo plano.
Las aplicaciones construidas con AJAX eliminan la recarga constante de pginas mediante la
creacin de un elemento intermedio entre el usuario y el servidor. La nueva capa intermedia de
AJAX mejora la respuesta de la aplicacin, ya que el usuario nunca se encuentra con una ventana
del navegador vaca esperando la respuesta del servidor. (Prez, 2007)
37
38
Esta metodologa se ha escogido por la magnitud del proyecto, en relacin a que trabajar solo
una persona. La cual podr centrarse solo en el incremento necesario, el que no ser muy extenso
y dar el tiempo necesario tanto para su anlisis, diseo, programacin y pruebas necesarias del
incremento.
Adems, permitir tener en operacin en un corto plazo el ncleo del software, el que permitir
desde su construccin el ingreso de los datos necesarios para su utilizacin (alrededor de 6.000
libros, entre otros datos). Los que permitirn realizar mejores pruebas en los incrementos
posteriores.
39
En este tercer captulo se describe el lugar fsico en que se implementar el proyecto en cuestin,
el Seminario Metropolitano Concepcin.
Se describe, una resea histrica, los objetivos y la estructura organizacional que este posee
culminando con una definicin especfica de la biblioteca.
40
Pasaron un par de aos antes de su reapertura. En dicha ocasin funcion bajo el amparo del
colegio seglar denominado "Instituto Literario".
El colegio fue destruido por el terremoto de 1835, pero luego reabri sus puertas bajo el nombre
de "Colegio Provincial". Despus de muchos aos se sugiri el desglose del Seminario del
colegio provincial, sta separacin se realiz bajo el mandato de Monseor Hiplito Salas en
1855, dndole la forma definitiva.
El Seminario fue reabierto en 1977, en la ciudad de Concepcin para luego ser trasladado en
1981 a su actual ubicacin en la comuna de Chiguayante.
41
DIRECCIN
WEB
: http://www.seminarioconcepcion.cl
FONO
: 41-2361463.
: seminarioconcepcion@gmail.com
Distrito o territorio cristiano en que tiene y ejerce jurisdiccin eclesistica el arzobispo u obispo.
42
El Seminario Metropolitano Concepcin hoy cuenta con 41 seminaristas, los que ingresan tras
pasar por un proceso de discernimiento, que va desde plticas con algn sacerdote hasta jornadas
6
representa una comunidad que hace referencia al ao en que se encuentran del proceso de
formacin. El primer ao en que ingresan, participan de la comunidad Propedutico (ao de
nivelacin), las clases son impartidas en salas que se encuentran al interior de la institucin.
Los seminaristas, tienen tanto actividades generales, como propias de su comunidad, por ejemplo
el desayuno y la once es un momento propio de cada comunidad, y el almuerzo es una actividad
en que se renen todas las comunidades en un comedor comn.
Hoy en da el Seminario atiende a jvenes seminaristas de las dicesis de Chilln, Los ngeles y
Concepcin, para ello cada dicesis aporta con becas para que los seminaristas puedan vivir en el
Seminario y entrar en el proceso de formacin.
Encuentro en el cual sacerdotes y siclogos ayudan al joven a discernir su vocacin y ver si son aptos para entrar en
el proceso de formacin.
43
VISIN
Ser una comunidad educativa en camino: la comunidad promovida por el Obispo para ofrecer, a
quien es llamado por el Seor para el servicio apostlico, la posibilidad de revivir la experiencia
formativa que el Seor dedic a los Doce.
MISIN
Formar a pastores bajo el ejemplo de Jess Sacerdote y Buen Pastor.
OBJETIVOS ESTRATGICOS
- Remodelar las estructuras fsicas en las cuales estudian y viven los seminaristas.
- Mejora de la administracin y gestin de la Biblioteca.
- Contratacin de ms profesores para la formacin.
44
ESTRUCTURA ORGANIZACIONAL
Un Seminario Mayor, para ser regular, debe contar como mnimo con el siguiente personal
siempre elegido por el obispo:
- Un rector: Un sacerdote que rige la vida del Seminario, vela por el cumplimiento
objetivo de los estudios, hace un seguimiento en conciencia de los candidatos y presenta
reportes claros al obispo.
- Un director espiritual: Un sacerdote dispuesto a escuchar y a acompaar las inquietudes
de los estudiantes.
- Un confesor: Un sacerdote dispuesto a ejercer el sacramento de la Confesin.
45
46
DESCRIPCIN DE LA BIBLIOTECA
El Seminario de Concepcin tiene el honor de ser el colegio ms antiguo de Chile. Sus alumnos
han ocupado los puestos ms altos de la Iglesia y la Nacin, de sus aulas han salido tres
presidentes de la Repblica, Obispos, Ministros, Senadores, Diputados, etc.
Ya desde el comienzo, del Seminario cuenta con colecciones de mapas, cuadros murales y toda
clase de enseanza. Tiene una esplendida biblioteca, obsequio en gran parte del Ilustre Sr. Salas.
Adems, est suscrita a las ms importes revistas europeas.
Actualmente la biblioteca cuenta con 11.000 libros clasificados y unos 40.000 sin clasificar,
entre los que destacan libros de filosofa, teologa, historia de la iglesia, vida de santos y las
sagradas escrituras, adems de poseer la primera edicin de la Araucana, ediciones cannicas,
archivos del arzobispado, archivo fotogrfico del arzobispado, entre otras. Estos en su mayora
han sido donados y otro tanto adquiridos por cuenta propia.
La biblioteca est conformada por dos edificios, el primero (de dos pisos) posee los libros ms
usados y es donde se realiza el proceso de prstamos, bsqueda y devolucin de libros. El
segundo edificio (de tres pisos) es en donde se encuentra el resto del material mantenido por un
sistema de conservacin, que permite a los libros permanecer en buen estado, debido a que
impide que el aire hmedo penetre en ellos.
La biblioteca opera de forma totalmente manual, cada libro posee una ficha en donde se anota la
fecha de devolucin. El sistema de bsqueda es a travs de fichas catalogrficas
que se
encuentran disponibles en estantes para que cada usuario haga uso de ellas.
Tarjeta de papel o cartulina de forma rectangular y dimensiones pequeas en la que se fija de forma sintetizada el
contenido y los caracteres externos de un documento o libro.
47
CAPTULO
IV:
FACTIBILIDAD
ESTUDIO
DE
Finalmente, se entrega una conclusin de los tres estudios, en la que se determina la factibilidad
del proyecto.
48
Plataforma JAVA.
Recursos Hardware.
1 PC para Servidor
- 2 GB Memoria.
- 300 GB Disco duro.
- Tarjeta de red inalmbrica estndar IEEE 802.11g.
- Procesador 1Ghz.
2 PC para clientes.
- Procesador 500 MHz.
49
- 512 MB Memoria.
- 10 GB Disco duro.
- Tarjeta de red inalmbrica estndar IEEE 802.11g.
1 Impresora Multifuncional.
Recursos Software.
Software de diseo.
- Programa StarUML.
- Editor de Texto.
Software de Programacin.
- NetBeans IDE 5.
- Java Development Kit, entorno de desarrollo Java.
- Apache Tomcat 6.0.
- Base de Datos Bb4o.
Sistema Operativo.
- 1 Licencia Windows XP pro.
- Linux Ubuntu.
50
Recursos Humanos:
El recurso humano corresponde al alumno que desarrolla este proyecto, quin posee los
conocimientos que son necesarios, como lo es la tecnologa orientada a objetos, plataforma
JAVA y en los requerimientos de la biblioteca.
Recursos Hardware:
Ser adquirido por completo, menos el PC para el desarrollo ya que se cuenta con l. Los costos
se detallan en el estudio de factibilidad econmica.
51
Recursos Software:
El recurso software en su totalidad es software gratuito o freeware, que quiere decir, que se
distribuye sin costo, y por tiempo ilimitado; en contraposicin al shareware (en el que la meta es
lograr que usuario pague, usualmente luego de un tiempo "trial" limitado y con la finalidad de
habilitar toda la funcionalidad). A veces se incluye el cdigo fuente, pero no es lo usual. El
freeware suele incluir una licencia de uso, que permite su redistribucin pero con algunas
restricciones, como no modificar la aplicacin en s, ni venderla, y dar cuenta de su autor.
Tambin puede desautorizar el uso en una compaa con fines comerciales o en una entidad
gubernamental.
Los equipos que se proponen para el proyecto, son aptos para soportar los objetos que el sistema
necesita para operar, y en su conjunto ofrecen una fcil incorporacin de nuevos computadores en
la biblioteca, slo bastar de una tarjeta de red inalmbrica para que se conecte al sistema,
permitiendo un grado alto de escalabilidad. En caso, que el sistema requiera ser utilizado desde
otro lugar ajeno a la biblioteca, slo bastar de una conexin a internet por parte del servidor.
52
Recursos Humanos.
1 Ingeniero (e) en computacin e informtica. 3 hrs. Diarias, 5 das semanales, durante 5 meses. $
3.500 por hora.
TOTAL: $1.050.000
Recursos Hardware.
NOTA: Los siguientes valores fueron cotizados en PC Factory, a excepcin de la impresora de
cdigos de barra cotizada en Tecnologstica LTDA.
PC Servidor:
- AMD CPU Sempron 3000+ Box (AM2)
- PC-Chips M/B AMD A13G Pci-E A/V/L (AM2)
- Samsung Disco Duro Sata2 160Gb 7200 rpm
- Multimarca DDR2 1GB 533Mhz PC4200
- Monitor LCD 15" 540N S/Black Samsung
VALOR: $274.590
53
2 pc:
- AMD CPU Sempron 3000+ Box (AM2)
- PC-Chips M/B AMD A13G Pci-E A/V/L (AM2)
- Samsung Disco Duro 80Gb 7200rpm
- Multimarca DDR2 512Mb 533Mhz PC4200
- Monitor LCD 15 540N S/Black Samsung
VALOR: $224.590
VALOR: $47.000
VALOR: $250.000
VALOR: $76.800
VALOR: $49.100.
54
Recursos Software.
Software de diseo.
- Programa StarUML.
- Editor de Texto.
Software de Programacin.
- NetBeans IDE 5.
- Java Development Kit, entorno de desarrollo Java.
- Apache Tomcat 6.0.
- Base de Datos Bb4o.
Sistema Operativo.
- 1 Licencia Windows XP pro. $97.500
- Linux Ubuntu.
Costos Fijos
Costos de Mantencin.
- Luz elctrica: 330 W (aprox). Todo el sistema.
55
El valor total de todos los recursos necesarios para este nuevo sistema es de: $2.294.170, pero
teniendo en consideracin que se trata de un proyecto de titulo el valor del sistema ser de
$1.244.170 descontando los valores del recurso humano.
56
ACTIVIDAD
Horas/semanales
Material
32 hrs. semanales
3 hrs. semanales
8 hrs. semanales
Bsqueda de libros.
2 hrs. semanales
TOTAL
45 hrs. Semanales
Las actividades anteriores suman un total de 45 horas semanales y 180 horas al mes, por lo que el
costo de trabajo del bibliotecario es de: $220.694/180 hrs. =$ 1.226/hrs.
57
ACTIVIDAD
Horas/semanales
Material
12 hrs. semanales
8 hrs. semanales
Bsqueda de libros.
TOTAL
21 hrs. Semanales
Las actividades anteriores suman un total 84 hrs de trabajo al mes, por lo que nos quedan 96
horas que se pueden dedicar, por ejemplo al ingreso y clasificacin de libros lo que nos significa
un aumento en la productividad. El aumento de produccin por el mes puede quedar especificado
de la siguiente manera.
$1.226/hrs * 96/hrs = $117.696
Adems, se considera un gasto de $5.000 en luz elctrica, el costo mensual de operacin del
sistema seria de:
58
Pero si se considera que mensualmente, existe un aumento en la productividad por parte del
bibliotecario de $117.696. Se puede deducir que sistema actual traer beneficios a partir del
undcimo mes. Ya que es en este mes, donde el aumento de produccin supera los costos del
proyecto.
59
60
4.4 CONCLUSIN
Despus de realizar el estudio de factibilidad econmica, tcnica y operacional se puede concluir
que la realizacin del proyecto es factible, ya que se cuenta con el capital necesario para su
realizacin, recuperando la inversin en un tiempo de once meses para empezar a aumentar la
produccin en un 115% aproximadamente.
Adems, el recurso hardware y humano que se propone son totalmente
61
CAPTULO
ANLISIS
V:
En este captulo se definirn los objetivos del software, el alcance de este, la interfaz de
hardware, las principales actividades que la biblioteca posee mediante diagramas de actividad, los
paquetes que formarn parte de la lgica de negocio, los principales casos de uso y el diagrama
conceptual correspondiente a cada paquete.
62
El software debe ser compatible con el ingreso de datos mediante cdigo de barras.
El software deber permitir que los libros sean clasificados con la clasificacin Decimal
Dewey.
El software deber ordenar los resultados de una bsqueda (de libros) tomando en cuenta
recomendaciones de otros usuarios.
63
ALCANCES
El software permitir mantener informacin actualizada de los objetos que se manipulan en la
biblioteca del Seminario, mediante el ingreso, modificacin y bajas que se producen en el
transcurso del tiempo. Tambin permitir, al bibliotecario, ejecutar las acciones propias que el
software maneja, como lo son los prstamos y manipulaciones del material. A continuacin se
listan las funciones principales del sistema:
64
INTERFAZ DE HARDWARE
PC SERVIDOR: Ser el computador en que se ejecutarn las operaciones principales del
sistema y el que contar con la base de datos.
1Gb Memoria.
PC CLIENTES: Son los computadores asociados a bsqueda de material, stos deben contar
con una conexin a la red local.
512 MB Memoria.
ROUTER: Es el que establece conexin inalmbrica desde un Punto de Acceso, estndar IEEE
802.11g.
LECTOR DE CDIGOS DE BARRA: Permite la lectura de los cdigos para los prstamos y
devoluciones del material de la biblioteca.
Ingresar datos de
libro o revista en
formulario
REVISTA:
- Nombre.
- ISSN.
- Edicin.
- Fundacin.
- Periodo de emisin.
A notar el nmero
de registro en el
libro o revista
Es revista
La Figura 11 muestra en detalle las actividades que se realizan para llevar a cabo el registro y
66
clasificacin de los libros y revistas. El registro y clasificacin se realiza para que el material
pueda quedar al servicio de todos los usuarios de la biblioteca del Seminario Metropolitano
Concepcin. Un libro necesita de ms cuidado al momento de la clasificacin, ya que es
67
necesario clasificarlo con el Sistema de Clasificacin Decimal Dewey, para luego crear las fichas
catalogrficas que posteriormente se deben dejar en los estantes de bsqueda.
Bibliotecario
Entrega el
cdigo de
clasificacin
del libro o el
nombre
de una revista
Busca
Libro o
revista con
los
datos
entregado
s
Libro de
alta
demanda y
1 ejemplar
Es
libro
Libro de referencia
Prstamo
de libro por
1 da
Es revista
Libro de no referencia
Prestamo
de libro por
das
requeridos
Prstamo por
1 da
Anota en
ficha del libro
o revista la
fecha de
devolucin
Entrega e
indica fecha
de devolucin
En la Figura 12 se muestran las actividades necesarias para poder llevar a cabo un prstamo de
67
libro o revista. Lo ms importante que se muestra, es la decisin que se toma para un prstamo
ligado a un libro de referencia, ya existe un ejemplar y adems son de alta demanda, por lo que el
68
prstamo debe ser solo por el da, en cambio los libros de no referencia son prestados de acuerdo
a los requerimientos del usuario y el criterio del bibliotecario.
Bibliotecario
Entrega libro
o revista
Verifica fecha
de
devolucin
Hace saber
la falta al
usuario
Registra
devolucion y
deja libro en
su lugar
bibliotecario quien registra la devolucin en la ficha que pertenece al libro o revista, si este es
devuelto fuera del plazo, el bibliotecario debe informar la falta al usuario, para que ste no vuelva
a cometerla, pero no existe forma de registrar o sancionar la falta cometida al seminarista, debido
a la forma en que hoy opera la biblioteca.
BSQUEDA DE MATERIAL.
Usuari
o
Busca
material
segn
criterio
Encuentra
material
No encuentra material
No quedan
criterios
Anota
clasificacion
del libro o
revista
encontrado
La Figura 14 muestra la actividad de bsqueda del material, una tarea importante para realizar un
prstamo de un libro, ya que permite asociar el cdigo de clasificacin a un libro, sta actividad
se realiza mediante tarjetas las que se revisan hasta encontrar lo que uno desea. Los criterios que
existen son, por ttulo, autor y materia.
R19: Las devoluciones pendientes deben aparecer en la cuenta de cada usuario junto con los
prstamos histricos.
R20: Permitir envo de mensajes tanto generales como individuales a travs de la cuenta.
R21: Permitir a los usuarios del sistema actualizar sus datos personales.
R23: Permitir a los usuarios visualizar los documentos digitales de otros usuarios.
Seminarista: Usuario del sistema que utilizar la biblioteca y solicitar los prstamos del
material existente, adems de realizar bsquedas y manejar la informacin de su cuenta.
Usuario Especial: Usuario ajeno a la biblioteca que necesita espordicamente la utilizacin del
material que existe en la biblioteca del Seminario.
DIAGRAMA DE PAQUETES
System
Sistema de
mensajera
Recomendacin
de
bsqueda
Administracin de
usuarios
Catlogo libros y
revistas
Publicaciones digitales
Prstamos y
devolucin
Paquete prstamos y devolucin: Es el encargado de registrar los prstamos que realizan los
usuarios en la biblioteca, verificar las devoluciones, generar las sanciones necesarias entre
otras. Este paquete es totalmente dependiente de los paquetes catlogos libros y revistas y
administracin de usuarios.
Catlogo libros y
revistas
Actualiza
r libros
Dar Baja
Material
<<extend>>
<<extend>>
<<extend>>
Bibliotecario
<<extend>
>
Actualizar
Revistas
Dar Alta
Material
<<extend>>
Seminarista
Recomendacin
de
bsqueda::Ver
recomendacin
<<extend>
>
Busqued
a libros
y
revistas
observar el caso de uso ACTUALIZAR LIBROS en el que se tiene la opcin de ingresar un libro,
modificar un libro y adems de extender a los casos de uso DAR BAJA MATERIAL y DAR
ALTA MATERIAL que a su vez son extendidos por ACTUALIZAR REVISTAS el que tiene la
opcin de Ingresar y Modificar revista. Para realizar la bsqueda del material existe BSQUEDA
LIBROS Y REVISTAS, el que extiende el caso de uso VER RECOMENDACIN del paquete
recomendacin de bsqueda.
: Bibliotecario.
Propsito
Tipo
: Primario y esencial.
Referencias cruzadas
Descripcin
El bibliotecario, cuando desea actualizar un libro debe poseer una cierta cantidad de
informacin que el sistema le solicitar, sta ser an mayor al momento de hacer ingreso de
material, el bibliotecario contar con las siguientes opciones:
- Ingresar Libro.
- Modificar Libro.
- Dar Baja Libro.
- Dar Alta Libro.
de
uso
cuando
el
corresponda
la
eleccin
del
bibliotecario.
- Ingresar libro: Deriva a la seccin
ingresar libro.
- Modificar libro: Deriva a la seccin
modificar libro.
- Dar Baja material: Deriva al caso de
uso extendido dar baja material.
- Dar Alta material: Deriva al caso de
uso extendido dar alta material.
CURSOS ALTERNOS
Registro
anterior
Autor
principal
CURSOS ALTERNOS.
tem 2: Ingresa un ttulo de libro que ya existe en el sistema. Da a conocer al bibliotecario la
existencia de otro libro con el mismo ttulo, l decide si ingresar una copia, ocupar la informacin
del libro que existe para el nuevo libro o ingresar el libro con el mismo ttulo.
tem 2: En las listas no existe el valor que se desea ingresar para: Tipo / Serie / Editorial /
Ediciones. El usuario debe ingresar al sistema el valor para posteriormente escogerlo.
tem 4: La clasificacin que el usuario ingres ya existe en el sistema. Informa al usuario y no
permite el ingreso del libro.
: Bibliotecario.
Propsito
Tipo
: Primario y esencial.
Referencias cruzadas
Descripcin
de
uso
cuando
el
CURSOS ALTERNOS
tem 1: El bibliotecario ingresa un cdigo invlido. Se indica error y muestra nuevamente opcin
de ingreso del cdigo.
tem 2: El cdigo ingresado no existe en el sistema. Se indica error y muestra nuevamente opcin
de ingreso del cdigo.
: Bibliotecario.
Propsito
Tipo
: Primario y esencial.
Referencias cruzadas
Descripcin
Un libro o revista despus de ser dado de baja, puede nuevamente quedar activo en el
sistema, para ello el bibliotecario deber ingresar el cdigo de registro del material, con el
cual el libro o revista automticamente volver a estar a disposicin de los usuarios.
de
uso
cuando
el
CURSOS ALTERNOS
tem 1: El bibliotecario ingresa un cdigo invlido. Se indica error y muestra nuevamente opcin
de ingreso del cdigo.
tem 2: El cdigo ingresado no existe dentro del material que se encuentra de baja. Se indica
error y muestra nuevamente opcin de ingreso del cdigo.
tem 3: Ingresa respuesta negativa. El sistema cancela el proceso.
: Bibliotecario.
Propsito
Tipo
: Primario y esencial.
Referencias cruzadas
Descripcin
El bibliotecario, cuando desea actualizar una revista debe manejar una cierta cantidad de
informacin que el sistema le solicitar, dependiendo de la accin que el bibliotecario
seleccione. Las opciones se listan a continuacin.
Ingresar Revista.
Modificar Revista.
de
uso
cuando
el
corresponda
la
eleccin
del
bibliotecario.
- Ingresar revista: Deriva a la seccin
ingresar revista.
- Modificar revista: Deriva a la seccin
modificar revista.
- Dar Baja material: Deriva al caso de
uso extendido dar baja material.
- Dar Alta material: Deriva al caso de
uso extendido dar alta material.
CURSOS ALTERNOS
Si existe una revista que no est ingresada en el sistema, el bibliotecario debe tomar la
informacin necesaria para ingresarla y dejarla disponible a los usuarios de la biblioteca del
Seminario. El bibliotecario deber seleccionar el ttulo de la revista a la cual desea ingresar
un nuevo nmero, en caso que la revista que desea seleccionar no exista en el sistema, deber
ingresar algunos datos adicionales.
DATOS REVISTA: Periodicidad (Fecha de edicin y caducacin) / nmero / volumen / ao
/ contenido.
DATOS ADICIONALES NUEVA REVISTA: Nombre / fecha fundacin / Periodicidad
(cantidad de das) / ISSN.
CURSOS ALTERNOS.
tem 1: La revista que desea seleccionar no existe. En ese instante debe ingresar los datos
adicionales nueva revista, para posteriormente seleccionar la revista en el tem 1.
tem 4: Ingreso incorrecto segn formato. Se indica error y no permite crear la revista hasta que
ingrese los valores correctos.
tem 5: El contenido de la revista no existe en la lista. Debe ingresarlo para posteriormente ser
elegido.
: Bibliotecario, Seminarista.
Propsito
Tipo
: Primario y esencial.
Referencias cruzadas
: Requerimiento R18.
Descripcin
de
uso
cuando
el
CURSOS ALTERNOS
tem 3: Enva formulario sin escribir nada. Indica error.
tem 5: No se encuentran coincidencias, se indica que no hubo xito en la bsqueda.
MODELO CONCEPTUAL
Materia
LibroAutor
+Autor
0..*
0..*
+Materi
a
1
+Revist
a
Editoria
l
0..*
0..*
+Nombre:
String
+Libr
o
Serie
+Nombre:
String
0..*
+Libr
o
+AnoPublicacion:
Integer
+CantPaginas:
Integer
+Ancho: Integer
+Largo: Integer
+ISBN: String
0..*
+FechaInicio: Fecha
+FechaTermino: Fecha
+Numero: String
+Volumen: String
+Annio: String
1
+Copia
+Copia
1
1 +Titulo: String
+PaisEdicion:
String
+Tip
o
0..1
Baja
+FechaB:
Fecha
+Serie
+Nombre: String
+Diasprestamo:
Integer
CopiaRevist
a
+Editorial
0..1
+Nombre:
String
+Nombre: String
+FechaFundacion: String
+Periodicidad: Integer
+ISSN: String
+Nombres: String
+Apellidos: String
+FechaNac: Fecha
+FechaMuerte:
Fecha
+Nacionalidad:
String
0..*
LibroMateri
a
Edicione
s
Revista
Autor
+Nombre:
String
0..*
0..*
CopiaNumero
+Edicion: String
+Volumen: String
+Edicion
+Tomo: String
es
+Clasificacion:
String
+AutorPrin: Autor
+MasAut: Boolean
+Notas: String
CopiaContenido
0..*
+Contenido
1
Contenid
o
+Nombre:
String
1
0..* +Copia
CopiaLibro
Integer
1
Fecha
+Registr
+Registro
o
1
1
RegistroMaterial
+Registro
Estado
+Registro:
0..*+Estad
o
+FechaRegistro:
+Nombre: String
1
1
+Tipo: String
Administracin de
usuarios
Actualiza
r
usuario
especial
<<extend>
>
Dar baja
Usuario
<<extend>>
Bibliotecari
o
<<extend>>
Actualiza
r
usuario
<<extend>>
<<extend>>
Busqued
a de
usuarios
Actualizar
cuenta
person
al
<<extend>
>
Dar
Alta
usuari
o
<<extend>
>
<<extend>>
Prestamos y
devolucion::Revis
ar
prestamo
s
vigentes
Prestamos
y
devolucion::Revi
sar historial
Seminarista
: Bibliotecario.
Propsito
Tipo
: Primario y esencial.
Referencias cruzadas
Descripcin
Para poder actualizar una cuenta de usuario, el bibliotecario deber en primera instancia
elegir qu tipo de usuario desea actualizar, ya sea seminarista o bibliotecario para luego
tener la opcin de crear, modificar, dar de baja y dar de alta al usuario que desee.
de
uso
cuando
el
corresponda
la
eleccin
del
bibliotecario.
- Ingresar usuario: Deriva a la seccin
ingresar usuario.
- Modificar
Usuario:
Deriva
a la
CURSOS ALTERNOS.
Para crear un usuario, el bibliotecario debe en primera instancia indicar el tipo de usuario que
desea ingresar, estos pueden ser seminarista y bibliotecario, adems debe tener en su poder
una serie de datos que deben ser ingresados en el sistema para crear la cuenta, la informacin
asociada a cada usuario se lista a continuacin.
PARA SEMINARISTA: Nombres / Apellidos / RUT / Fecha de Nacimiento / Telfono /
Celular / Parroquia / Dicesis / Ao de ingreso / Curso
PARA BIBLIOTECARIO: Nombres / Apellidos / RUT / Fecha de Nacimiento / Telfono
en
pantalla
el
formulario
CURSOS ALTERNOS.
tem 3: El RUT ya existe en el sistema. Indica que el usuario que desea ingresar ya est en el
sistema.
: Bibliotecario.
Propsito
Tipo
: Primario y esencial.
Referencias cruzadas
Descripcin
Si por alguna razn un usuario del sistema, ya sea seminarista, bibliotecario o un usuario
especial, debe perder su condicin de usuario, el bibliotecario deber ingresar que tipo de
usuario es el que se desea dar de baja, luego ingresar el RUT, y por ltimo indicar cul es la
razn de la baja.
de
uso
cuando
el
especial)
luego
el
RUT
correspondiente al usuario.
Busca al usuario y muestra formulario en
pantalla para ingresar las razones de baja.
Indica razones de baja y enva el formulario.
Registra la baja.
CURSOS ALTERNOS
tem 1: El bibliotecario ingresa un RUT invlido. Se indica error y muestra nuevamente opcin
de ingreso de RUT.
tem 1: El bibliotecario ingresa el RUT asociado a su cuenta. Indica error y no permite la baja.
tem 2: El RUT ingresado no existe en el sistema. Se indica error y muestra nuevamente opcin
de ingreso de RUT.
tem 2: El RUT ingresado ya se encuentra de baja. Se indica error y cancela el proceso.
MODELO CONCEPTUAL
BajaUsuari
o
Person
a
+FechaBaja: Fecha
+Razn: String
+Persona
1
0...*
0...*
EstadoUsuar
io
+Nombres: String
+Apellidos: String
+Direccin: String
+Telfono: Integer
+Celular: Integer
+Rut: RUT
+Clave: String
UsuarioEspeci
al
+Estad
o
+Nombre:
String
+LugarDeTrabajo:
String
Alumno
Bibliotecari
o
+Aoingreso: Integer
+FechaNacimiento:
Fecha
+FechaNacimiento:
Fecha
0...*
0...*
1
Curso
+Nombre:
String
+Curs
o
Diocesis
+Nombre:
String
+Direccion:
1+
Colegio
+Nombre: String
+Direccin:
String
+Telfono:
0..*
Prstamos y
devolucin
Prstamo
s
a
usuarios
especiale
s
Prstamo
s de
material
Devoluci
n de
material
Bibliotecar
io
Revisar
historia
l
Alumno
Revisar
prstamo
s
vigentes
: Bibliotecario.
Propsito
Tipo
: Primario y esencial.
Referencias cruzadas
: Requerimiento R13
Descripcin
El bibliotecario, una vez que recibe una peticin de prstamo por parte del seminarista, lo
ingresa al sistema identificndolo con su RUT. Luego, el seminarista le indica el cdigo de
clasificacin del libro o revista, para que este lo busque en los estantes y lo registre con el
cdigo de barras, y as registrar el prstamo. Los das de prstamo corresponden a los
siguientes criterios.
Libro de referencia (Libros ms solicitados): 1 da de prstamo.
Libro de No referencia: 1 mes de prstamo.
Revista: 1 da de prstamo.
Es importante mencionar que todo prstamo debe quedar con la opcin de cambiar la fecha
de devolucin, segn el criterio del bibliotecario.
de
uso
cuando
el
CURSOS ALTERNOS
tem 1: Ingreso del RUT errneo o inexistente. El sistema indica error y muestra nuevamente la
opcin de ingresar el RUT del seminarista.
tem 2: La verificacin indica que el usuario no puede realizar prstamo. Se cancela el prstamo
en curso y se indica la fecha en que el usuario estar en condicin regular.
tem 3: Se ingresa cdigo inexistente, El sistema indica error, queda a la espera de otro cdigo...
tem 4: Si el bibliotecario desea cambiar la fecha de devolucin que el sistema genera, puede
hacer el cambio.
: Bibliotecario.
Propsito
Tipo
: Primario y esencial.
Referencias cruzadas
: Requerimiento R14
Descripcin
Para concretar una devolucin, se debe ingresar el cdigo del libro, y en caso de que el libro
se entregue fuera de la fecha establecida, el usuario vinculado al libro quedar suspendido de
realizar prstamos por los das equivalentes a los das de atraso, es decir, por cada da de
atraso se suspende un da de la posibilidad de realizar prstamos. La suspensin del usuario
se manifestar por el estado en que se mantendr, INACTIVO.
de
uso
cuando
el
CURSOS ALTERNOS
tem 1: Se ingresa un cdigo que no pertenece a un prstamo. Se indica error, y se cancela el
proceso.
tem 2: El libro devuelto se entrega fuera del plazo de entrega. Se indica error y se genera
sancin de acuerdo a los das de atraso indicando en pantalla.
: Seminarista, Bibliotecario.
Propsito
Tipo
: Secundario y esencial.
Referencias cruzadas
: Requerimiento R13.
Descripcin
Un usuario puede revisar todos los prstamos vigentes que mantiene en la biblioteca. Estos
aparecern en una lista indicando la fecha de prstamo y la fecha tope en que debera ser
devuelto el material.
Un bibliotecario tambin puede revisar los prstamos vigentes de un usuario, cuando est
actualizando sus datos.
de
uso
cuando
el
vigentes,
en
el
caso
del
CURSOS ALTERNOS
tem 3: El usuario no posee prstamos vigentes. Indica que no posee prstamos vigentes.
MODELO CONCEPTUAL
Catlogo libros y
revistas:
RegistroMaterial
Administracin de
usuarios:
Bibliotecario
+Registro: Integer
+FechaRegistro: Fecha
+Tipo: String
+FechaNacimiento:
Fecha
+Registro
0...
*
+Bibliotecar
io
0..*
Prstam
o
+FechaPrestamo:
Fecha
+FechaDevolucion:
Fecha
+FechaRealDevolucion:
Fecha
+EstadoPrestamo:
String
PrestamoNorm
al
0...*
Atras
o
PrestamoEspeci
al
+Sancin:
Fecha
+Estado:
String
10..
*
1
+Seminaris
ta
Administracin de
usuarios:
UsuarioEspecial
Administracin de
usuarios: Alumno
+Ao ingreso: Integer
+FechaNacimiento:
Fecha
+UsuarioEspecial
0..1
AtrasoNormal
0..1
+LugarDeTrabajo: String
AtrasoEspecial
Publicaciones digitales
Administra
r
documento
s digitales
Bsqueda
documento
s digitales
Alumno
Descargar
documento
s digitales
MODELO CONCEPTUAL
DocumentoDigit
al
+Titulo: String
+Descripcion:
String
+Ubicacion: String
+Extension: String
+FechaSubido:
Fecha
+Pertenece
0..*
Administracin de
usuarios::Seminaris
ta
+Ao ingreso: Integer
+FechaNacimiento:
Fecha
Sistema de
mensajera
Bibliotecario
<<extend>
Eliminar >
Mensajes
Visualiza
r
mensaje
s
Envia
r
Mensaje
s
Alumno
MODELO CONCEPTUAL
Administracin de
usuarios:
Bibliotecario
Administracin de
usuarios:
Seminarista
+FechaNacimiento:
Fecha
+RecibeB
0...1
0...1
+Emite
B
0..1
+EmiteS
0...
1
+Recibe
S
0...*
0...*
Mensaj
e
0...*
+Asunto: String
+Cuerpo: String
+FechaEmision:
Fecha
+Leido: Boolean
0...*
Recomendacin de bsqueda
Ver
recomendaci
n
Alumno
Retroaliment
ar
recomendaci
n
MODELO CONCEPTUAL
Catlogo libros
y revistas:
Libro
Administracin de
usuarios:
Seminarista
+Ao ingreso:
Integer
+FechaNacimiento:
Fecha
0...*
Recomendacion
+Fecha: String
+Comentario:
String
+Nota:
Integer
0...
*
+Titulo: String
+PaisEdicion: String
+CiudadEdicion: String
+AnoPublicacion: Integer
+CantPaginas: Integer
+Ancho: Integer
+Largo: Integer
+ISBN: String
+Indice: String
+Edicion: String
1
+Volumen:
String
+Tomo: String
+Clasificacion: String
+AutorPrin: Autor
+MasAut: Boolean
+Notas: String
El diseo orientado a objetos transforma el modelo de anlisis, en un modelo de diseo que sirve
como anteproyecto para la construccin de software. (Pressman, 2002).
La capa cliente corresponde a las interfaces con las que interacta el cliente, en este caso una
interfaz Web y otra de escritorio.
La capa de presentacin prepara datos para su envo a la capa de cliente y procesa solicitudes
desde la capa de cliente para su envo a la capa lgica de negocios, como lo hace JSP y los
componentes Swing.
La capa de persistencia permite que los objetos perduren en el tiempo, a cargo de DB4o.
OBSERVACIONES
Slo se presentar el diseo de los principales eventos que pertenecen a los paquetes
esenciales del sistema, como lo son: catlogo de libros y revistas, administracin de
usuarios y prstamos y devolucin.
Los mtodos que realizan la modificacin de datos no sern presentados ya que estos slo
modifican los atributos internos de los objetos. Los mtodos que se encargan de realizar las
consultas a la base de datos tampoco sern presentadas, debido a que sta tarea es realizada
por la capa de persistencia y no por la aplicacin como tal.
CONSIDERACIONES GENERALES
Para mostrar una instancia de una clase en un diagrama de interaccin, se utiliza el smbolo
grfico de una clase, esto es el rectngulo, pero con el nombre subrayado. (Opcin A, Figura 29)
Se puede utilizar un nombre para identificar de manera nica la instancia. Obsrvese que los :
preceden el nombre de la clase. (Opcin B, Figura 29)
Si los mensajes son enviados a las propias clases, en lugar de una instancia, para invocar a
mtodos estticos se utiliza un rectngulo de clase cuyo nombre no est subrayado, pero para
efectos del proyecto, debido a que no se cuenta con esa opcin en la herramienta CASE, el
nombre de la clase estar subrayada pero con StereoType <<Clase>>. (Opcin C, Figura 29)
:
C la se
O bj :
C la se
A)
Instancia
<<Clase>
>
:
C lase
B) instancia
nombrada
C) clase
En la mayora de las clases, existen mtodos comunes, por ejemplo por cada propiedad que existe
se aprecian los mtodos get (extraer) y set (cambiar) seguido del nombre de la propiedad o
atributo (ver Figura 30).
N o mb re s d e a t rib
utos
C la s e Ej e m p lo
+ A t r ib u t o _ 1
+ A t r ib u t o _ 2
+ g e t A t r ib u t o _ 1 ()
+ g e t A t r ib u t o _ 2 ()
+ s e t A t r ib u t o _ 1 ()
+ s e t A t r ib u t o _ 2 ()
Lo s m t o d o s d e le
c t u r a y e s c r it u r a
Tambin, en las clases existe el mtodo setBD() que es encargado de persistir (guardar) en la base
de datos el objeto que lo est invocando, es decir, este mtodo tambin llama a los mtodos que
proporciona la base de datos para que pueda ingresar el objeto.
En DB4o (motor de base de datos orientada a objetos utilizada en el proyecto) la forma de
Entonces lo que hace el mtodo setBD es guardar en la base de datos el Objeto que lo est
invocando, es decir realiza un cliente.set(this).
2:
setBD()
C ont rolad
or
1:
MensajeGuardarObjeto()
Obj : Clase
3:
set(Obj)
Ba seDeDa
t os
En los diagramas, la base de datos ser representada por el objeto BaseDeDatos, sobre el cual se
realizarn las consultas necesarias mediante el mtodo Consulta(atributo), donde atributo es la
propiedad por la cual est consultando como se muestra en la Figura 33.
C ont rolad
or
1 : ListObj :=
mensajeConsulta(nombre)
<<Clase>
>
:
C lase
2 : ListObj := Consulta(nombre)
: BaseDe Dat os
Es necesario, dejar en claro que este objeto (BaseDeDatos) y el mtodo Consulta no estn
implementados (No existe), ya que esto es parte del funcionamiento interno de la base de datos y
es slo una manera de dar a entender el funcionamiento del cdigo como se muestra en la Figura
33. La forma en que se realiza una consulta en la base de datos es mediante una serie de mtodos
que se dan a entender en la Figura 34.
En la Figura 34 se aprecia cmo se consulta a la base de datos por todos los libros que tengan un
determinado ttulo, a este mtodo se le enva el parmetro de bsqueda (tit) y la conexin
realizada a la base de datos (cliente). En la lnea 293 se crea un objeto query asociado a la
conexin cliente, el cual luego con el mtodo constrain se indica que la bsqueda se realizar a
los objetos pertenecientes a la clase Libro, posteriormente se desciende mediante el mtodo
descend a travs del atributo Titulo, el que debe coincidir con tit mediante el mtodo constrain.
Finalmente se realiza la consulta con execute, el que retorna una lista tipo ObjectSet con todos
los objetos tipo Libro que coincidieron con el ttulo.
2: lib:=
BuscarPorClasificacion ()
6: setBD
()
C ont rolad
or
1: copia:= crearCopia
(clasif)
<<Clase>
>
: Libro
4: rm:= RegistroMaterial ()
3: lib:= Consulta
(clasif)
5: copLib:= CopiaLibro (lib, rm)
Ba seDeDa t os
copLib: Copia
Libro
<<create>
>
1: lib:= ingresarLibro
()
C ont rolador
Libro
<<create>>
4 [libAux=Null] : rm := RegistroMaterial(tipo)
lib:
<<create>>
5 [libAux=Null] : copLib :=
CopiaLibro(lib,rm)
2 : libAux :=
BuscarPorClasificacion(clasif)
6 : setBD()
3 : libAux :=
Consulta(clasif)
BaseDeDat os
<<Clase>
>
:
Libro
copLib : CopiaLibro
Si de 3 (Consulta) se retorna
Null existe = false, si revAux !
= null existe = true
2 : existe := isExiste(nom)
1 : rev := ingresarRevista(nom, fechFund,period,ISSN)
C ontrola d
or
<<Clase>
>
:
Rev ista
3 : revAux := Consulta(nom)
Ba seDeDa t
os
5 [existe=False] : setBD()
rev : Revista
<<create>>
4 : copNum := CopiaNumero(copRev,rm)
1 : copNum := crearCopiaNumero(rev,num)
Cont rolado
r
<<Clase>
>
: C opia
2 : copRev :=
consulta(rev,num)
5:
setBD()
Ba seDeDat os
copNum : C opia
Numero
3 : rm := RegistroMaterial(tipo)
8 : setBD()
<<Clase>>
: C opia
Numero
rm : Regist roMaterial
<<create>
>
6 : RegistroMaterial(tipo)
7 : copNum :=
CopiaNumero(copRev,rm)
1 : crearCopiaRevista(fechInicio,fechTerm,num,vol,
anio,rev)
C ontrolad
<<Clase>
or
>
:
CopiaRevist
a
Tipo = "R" de
Revista
3 : copRevAux := Consulta(rev,num)
Ba seDe
Datos
2 : copRevAux :=
existeNumero(rev,num)
5:
setBD()
copRev :
CopiaRevista
<<create>
>
4 [copRevAux=Null] : copRev := CopiaRevista(fechInicio, fechTerm, num, vol, anio, rev)
7 : setBD()
<<create>>
6 [estaBaja=False] :
Baja(rm,razon)
: Baja
C ontrolad 1 : darBajaMaterial(reg,razon)
or
2 : rm :=
buscarPorRegistro(reg)
<<Clase>
>
:
Regist roMaterial
4 [estaBaja=False] :
setInactivo()
BaseDeDa
tos
3 : estaBaja := isBaja()
5 : setBD()
rm : RegistroMaterial
sem : Seminarista
2 : existe := isExisteRutBD(rut)
3 : auxSem :=
Consulta(rut) BaseDeDat os
<<Clase>>
: S e m i n a ri s t a
Controlad
or
1:
darBaja(razon)
<<create>
>
2:
BajaUsuario(sem,razon)
:
BajaUsuario
sem : Seminarista
4 : estado := Consulta(est)
BaseDeDat os
5 : setBD()
Desde la base de
datos se obtiene el
estado de BAJA
C ontrolaro
r
rm :
RegistroMat erial
Modifica estado de
PrestamoNormal a
TERMINADO
C ont rolaro
r
1 : setDevolucion()
<<create>>
5 [dias>0] :
AtrasoNormal(FechaSancion,pres)
6:
:
setBD()
A t rasoNormal
2 : dias := diasAtraso()
pres :
Prest amoNor
mal
3 [dias>0] : setSuspender(dias)
4:
setBD()
sem :
Seminarista
se suspende al
seminarista asociado
al prestamo
en caso de atraso
M ateria
Ediciones
+Nombre: String
+Nombre: String
+crearMateria ():
Materia
+buscar (): Materia
+setBD ()
+Buscar ()
+setBD ():
Ediciones
+Crear ():
Ediciones
1
+Ediciones
0...1
+Materia 0...*
Autor
L
ibroAutor
+Nombres: String
+Apellidos: String
+FechaNac: Fecha
+FechaMuerte:
Fecha
+Nacionalidad:
String
+Cutter: String
LibroMateria
+ingresarLibroMateria ():
LibroMateria
+setListBD (listMateria: List, lib:
Libro)
+setBD ()
Libro
0...*
+Libr
o
1
+Tip
o
+Nombre: String
+Diasprestamo: Integer
Serie
+Tipo (: Tipo)
+BuscarPorNombre (nom:
String): List
+setBD ()
+Nombre:
String
C opiaLibro
+Buscar ():
Serie
+setBD ()
+ Crear ():
Serie
0..+* Registro
+Nombre: String
+Crear (): Editorial
+Buscar (): Editorial
+setBD ()
C ontenid
o
0..*
1
Estado
+Copi
a
+Nombre:
String
C opiaNumero
1
Revista
+Nombre: String
+FechaFundacion:
String
+Periodicidad:
Integer
+IS SN: S tring
C opiaContenid
o
+Estado ():
Estado
+setBD ()
+Buscar ():
+Registr
Estado
o
+ingresarRevista ():
Revista
+isExiste (): boolean
+setBD ()
+modifica ()
Baja
Editorial
0...1
+Estad
o
+PaisEdicion: String
+CiudadEdicion: String
+AnoPublicacion: Integer
+CantPaginas: Integer
+Ancho: Integer
+Largo: Integer
+IS BN : S tring
+Indice: String
+Edicion: String
+Volumen: String
+Tomo: String
+Clasificacion: String
+AutorPrin: Autor
+MasAut: Boolean
+Notas: String
0..*
0...
*
+Registro: Integer
+FechaRegistro: F echa
+Tipo: String
0...*
+S erie
RegistroMateria
l
+RegistroMaterial
(RegistroMaterial)
+darBajaMaterial ()
+isBaja (es: boolean)
+setInactivo ()
+darAltaMaterial ()
+buscarPorRegistro (reg: Integer):
RegistroMaterial
+setActivo ()
+Editorial
+Titulo:
String
0...*
T ipo
0...*
+Autor
0..*
1
+Copia
CopiaRevista
+FechaInicio: F echa
+FechaTermino: F echa
+Numero: String
+Volumen: String
+Annio: String
+FechaB: F
echa
+Razon:
String
+Baja (): Baja
+setBD ()
+Nombre: String
+Contenido ():
Contenido
+setBD ()
+Buscar (): Contenido
+CopiaContenido ():
CopiaContenido
+setBD ()
0...*
1
0..*
1 +Contenido
Person
a
BajaUsuari
o
+Persona
1
+FechaBaja: Fecha
+Razon: String
0...*
+BajaUsuario():
BajaUsuario
+setBD ()
+Nombres: String
+Apellidos: String
+Direccion:
String
+Telefono:
Integer
+Celular: Integer
+Dni: DNI
+Clave: String
+Estad
o
0...
*
EstadoUsuari
o
+Nombre: String
+EstadoUsuario(): EstadoUsuario
+isExisteBD(): boolean
+setBD()
+getBD(): EstadoUsuario
+Persona():
Persona
+isExisteBD ()
+setBD ()
+getBD ():
Persona
Bibliotecario
+FechaNacimiento: Fecha
UsuarioEspeci
al
+crearBiblioteacario(): Bibliotecario
+isExisteRutBD (): boolean
+setBD ()
Alumno
1
0...*
Curso
+Nombre: String
+LugarDeTrabajo: String
+Ao ingreso:
Integer
+Curs
o
+FechaNacimiento:
Fecha
0...
*
+Cole
Colegio
Diocesi
s
+Nombre: String
+Direccion:
String
+Telefono:
Integer
+crearColegio (): Colegio
+isExiste (): boolean
+setBD ()
+Nombre: String
+Direccion: String
0..*
+crearDiocesis(): Diocesis
+isExisteNombreBD(): boolean
+setBD()
Prestam
o
Catlogo libros y
revistas::RegistroMate
rial
0..*
+Registro
+Registro: Integer
+FechaRegistro: Fecha
+Tipo: String
+FechaPrestamo: Fecha
+FechaDevolucion: Fecha
+FechaRealDevolucion:
Fecha
+EstadoPrestamo: String
Administracin
de
usuarios::Biblioteca
rio
0..*
1
+Prestamo(): Prestamo
+setDevolucion()
PrestamoNorm
al
+PrestamoNormal():
PrestamoNormal
+setBD()
+setDevolucion()
0..*
+Bibliotecario
Atraso
+Sancion:
Fecha
+Estado:
String
+Atraso():
Atraso
+setVigente()
+setCumplido(
)
+isVigente():
boolean
+setBD(
)
+FechaNacimiento: Fecha
PrestamoEspeci
al
+PrestamoEspecial():
PrestamoEspecial
+isAtrasosVigentes(): boolean
+setBD()
0..*
+Seminaris
ta
+UsuarioEspecial
Administracin de
usuarios::Seminari
sta
Administracin de
usuarios::UsuarioEspe
cial
+LugarDeTrabajo: String
0..1
0..1
AtrasoNorm
al
+AtrasoNormal(): AtrasoNormal
+setBD()
+cumplioSancion(sem: Seminarista):
boolean
AtrasoEspeci
al
+AtrasoEspecial(): AtrasoEspecial
+setBD()
+cumplioSancion(usEs: UsuarioEspecial): boolean
DocumentoDigital
+Titulo: String
+Descripcion: String
+Ubicacion: String
+Extension: String
+FechaSubido: Fecha
+Tamao: Integer
+Pertenece
0..*
Administracin
de
usuarios::Seminari
+Ao ingreso: Integer
+FechaNacimiento:
Fecha
+DocumentoDigital():
DocumentoDigital
+getDocumentos(): List
+busquedaTitulos(tit: String): List
+busquedaDescripcion(des:
+Emite
B
0..*
0..1
+RecibeB
Mensaj
e
0..*
+Asunto: String
+Cuerpo: String
+FechaEmision: Fecha
+Leido: Boolean
Administracin de
usuarios::Biblioteca
rio
+FechaNacimiento:
Fecha
+Emite
S
0..*
+Mensaje(): Mensaje
+setBD()
+getMensajes(sem:
Seminarista): List
0..1
0..1
Administracin de
usuarios::Seminari
sta
0..*
Catlogo libros
y
revistas::Libro
Administracin de
usuarios::Seminari
sta
+Ao ingreso: Integer
+FechaNacimiento:
Fecha
1
+Seminarista
0..*
0..*
Recomacion
+Titulo: String
+PaisEdicion: String
+CiudadEdicion: String
+AnoPublicacion: Integer
+CantPaginas: Integer
+Libro +Ancho: Integer
+Largo: Integer
1
+ISBN: String
+Indice: String
+Edicion: String
+Volumen: String
+Tomo: String
+Fecha: String
+Comentario: String
+Nota: Integer
+Clasificacion: String
+AutorPrin: Autor
+MasAut: Boolean
+Notas: String
Libros
- Crear libro
- Modificar libro
- Buscar libro
- Dar baja material
- Dar alta material
Revistas
- Crear revista
- Modificar revista
- Modificar nmero
- Buscar revista
- Dar baja material
- Dar alta material
Usuarios
- Seminarista
-
Ingresar seminarista
Modificar seminarista
Como bibliotecario
- Bibliotecario
-
Ingresar bibliotecario
Modificar datos
Cambiar clave
- Usuario especial
-
- Buscar Usuario
Prstamos
- Seminarista
-
Ingresar prstamo
Devolucin
- Usuarios especiales
-
Ingresar prstamo
Devolucin
APLICACIN DE WEB
Bsqueda de libros
- Por ttulo
- Por Autor
- Por Materia
- Por editorial
- Por ediciones
- Serie
- ISBN
Revistas
- Por nombre
- Por ISSN
- Por Fecha
- Por Contenido
- Por Nmero
Prstamos vigentes
Prstamos histricos
Configurar cuenta
Mensajera
- Ver mensajes
- Enviar mensajes
-
Seminarista
Bibliotecario
Curso
Todos
Documentos
- Crear documento
- Eliminar documento
- Modificar documento
- Buscar documento
Titulo
Descripcin
Recomendacin
- Recomendar
142
143
144
145
CAPITULO
VII:
IMPLEMENTACIN
DETALLES
DE
146
En primera instancia, en un objeto no se puede declarar un atributo como Primary Key, por lo que
si existe algn atributo de un objeto que deba ser nico, debe ser tratado mediante mtodos, en
otras palabras, se debe implementar la funcionalidad de impedir el ingreso de un atributo que ya
est en la base de datos.
Cmo se hace con una base de datos en modo cliente-servidor?
La pregunta anterior hace mencin a la posibilidad, que dos clientes ingresen al mismo tiempo el
mismo valor para un atributo identificador, por ejemplo el RUT, o en el caso de los libros y
revistas, el cdigo de registro. Para aquello, DB4O provee semforos, los que permiten bloquear
las operaciones riesgosas, es decir, si dos usuario solicitan un semforo con un nombre
determinado, el segundo al momento de solicitarlo mediante el mtodo para aquello, le retornar
false, indicando que otro usuario pidi un semforo antes y no lo ha devuelto.
A continuacin se describe el cdigo utilizado para aquello.
147
En la Figura 41se puede observar que si dos usuarios piden el semforo de nombre semaforo
(cliente.ext().setSemaphore(semforo,2))), al segundo usuario le retornar falso y como en el
ciclo while existe una negacin, esperar 2 milisegundos antes de preguntar nuevamente por el
semforo, es decir, el usuario podr pasar el ciclo while una vez se devuelva el semforo
(cliente.ext().releaseSemaphore(semaforo)).
De sta forma, se controlan los ingresos de atributos que son identificadores dentro del objeto.
148
Sistema de mensajera.
Recomendacin de bsqueda.
Configuracin de cuenta.
Todas las opciones mencionadas anteriormente han sido implementadas mediante la tecnologa
Ajax, esto permite que la interfaz principal se mantenga intacta mientras se realiza la recarga solo
del contenido que solicita. A continuacin, se dar a conocer un ejemplo de cmo se realiza la
recarga (funciones en JavaScript).
149
150
En la imagen anterior se aprecia la funcin encargada de crear el objeto Ajax, que nos permitir
mantener la comunicacin asncrona con el servidor.
151
JButton
JList
JTextArea
JTextField
JTable
JOptionPane
JDialog
JFrame
JTABLE
Es relevante hacer mencin que el componente JTable no fue utilizado por defecto, es decir no
tiene las propiedades definidas que la biblioteca proporciona, ya que la tabla por defecto puede
ser editada (modificar el texto que aparece en las celdas), y en el sistema aquello no tiene
utilidad, por lo cual fue reescrito un mtodo. El mtodo que fue reescrito fue:
152
En la Figura 44 se aprecia el mtodo que fue reescrito en una clase que hereda las propiedades de
DefaultTableModel (Clase que se asocia al modelo de tabla). Este mtodo se encarga de retornar
si las celdas son editables o no. Para que el componente JTable se encargue de aquello, esa es la
razn de los parmetros que se le entregan, row y column, pero en este caso puntual ninguna fila
y columna se podr editar, es decir, no importa la celda que se le entregue por parmetro, el
mtodo siempre retornar false.
Al ser reescrita sta propiedad, la herramienta CASE tambin nos hace saber que el mtodo est
sobrescribiendo al mtodo del padre. Luego, sta nueva clase ser asociada como modelo al
componente JTable.
JDIALOG y JFRAME
Al comenzar la programacin de de la interfaz grfica, lo primero que se hace es la creacin de
ventanas, para este caso JFrame, la herramienta CASE proporciona una serie de utilidades para
que la creacin de ventanas se pueda realizar con un entorno grfico.
Hay alguna restriccin al momento de crear ventanas?
En el transcurso del proyecto, est pregunta fue tomando el peso que en un comienzo se debi
tener, el sistema estaba repleto de ventanas tipo JFrame, adems cada vez que se llamaba a una
ventana se construa nuevamente, es decir,
recolector de basura de java tendr la misin de liberar memoria (ya que se pierde referencia al
objeto). Entonces, antes de implementar cualquier parte del software es necesario recurrir a la
literatura y a la experiencia que han tenido otros programadores que ya han pasado por aquello.
Luego de esto, se debi reconstruir prcticamente todo, pero sta vez con nuevos criterios que
han hecho que la aplicacin pueda ser utilizada con mayor calidad.
En toda la aplicacin debe existir solo un contenedor JFrame como ventana principal. Como
ventanas secundarias se utiliza el componente JDialog.
153
Las
ventanas
secundarias
al
momento
de
cerrarlas
solo
quedarn
ocultas
nuevamente por defecto, es decir elimina todos los contenidos en las cajas de texto, deja la
ventana en la posicin inicial, etc.
Al iniciar el programa, cargar en memoria todas las ventanas que el sistema necesita, lo que
proporciona mayor rapidez al momento de su ejecucin (basta con crear las ventanas al inicio
del programa).
154
Una vez obtenida la impresora, existe la interrogante, cmo imprimir los cdigos de barra?,
nuevamente existen varias opciones, entre ellas estn:
utilizar bibliotecas para JAVA como barbecue-1.5-beta1, las que producen imgenes de
cdigos de barra.
La ltima opcin es la ms eficiente y compleja, pero para este proyecto es indispensable que el
mismo software genere las etiquetas de clasificacin y las etiquetas de cdigos de barra, por lo
cual, adquirir otra aplicacin es descartada en primer instancia, luego se ha decidido la impresin
a travs del lenguaje que provee la impresora.
155
Para imprimir una etiqueta, se crea un archivo temporal, por ejemplo archivo.txt en l se
encuentran los comandos que son enviados al puerto de la impresora (LPT1) con los comandos
de sistema, por ejemplo, copy cdigo.txt LPT1
156
Comando B:
Descripcin: similar al comando A pero en TEXTO se indica el cdigo de barras.
Comando P:
Descripcin: Indica la cantidad de copias que se deben imprimir.
157
En este octavo captulo, se desarrollar un plan de pruebas para detectar posibles errores que el
software pueda presentar en su funcionamiento. Tambin se nombra cual es la puesta en marcha
que tendr el sistema y una pequea descripcin de cmo capacitar a los usuarios del software.
158
Una vez que se han implementados todos los incrementos, se realizan las pruebas de integracin,
las que deben asegurar el funcionamiento de los casos de usos que establecieron en el captulo de
anlisis.
En este plan, solo se contemplan pruebas de validacin, es decir, se verificar que el software
cumple con los requisitos del anlisis.
Tambin es de importancia mencionar, que el software deber operar para varios clientes al
mismo tiempo y podran realizar las mismas o distintas operaciones, por lo que el control de la
concurrencia tambin est presente en el control de errores.
A continuacin se listarn los casos de pruebas, para los posibles errores que pudiesen perjudicar
severamente el funcionamiento del sistema, y solo se abarcan
los
Adems en las entradas solo se reflejan los atributos que pueden generar dao y en el mismo
orden en que se muestran los casos de prueba deben ser comprobados.
159
CASO DE PRUEBA 1:
Paquete: Catlogo libros y revistas.
Caso de uso: Actualizar Libro, seccin: Ingresar Libro.
Atributos de entrada: (ttulo, autor, clasificacin, materia):
Entradas: LIBRO NUEVO, NUEVO AUTOR, 123.4/C22AUTOR/2008, INFORMTICA.
Resultado esperado:
El libro se ingresa sin problemas.
Entradas: NUEVO LIBRO, AUTOR, 123.4/C22AUTOR/2007, .
Resultado esperado:
No debe permitir el ingreso del libro, ya que no est asociado a una materia.
Entradas: , NUEVO AUTOR, 123.4/C22AUTOR/2008, FILOSOFA.
Resultado esperado:
No debe permitir el ingreso del libro, ya que clasificacin ya existe en el sistema y adems no posee
ttulo.
160
CASO DE PRUEBA 2:
Paquete: Catlogo libros y revistas.
Caso de uso: Actualizar Libro, seccin: Modificar Libro.
Atributos de entrada: ( Registro a modificar, Titulo, autor, clasificacin, materia):
Entradas: 0, NUEVO LIBRO, AUTOR, 123.6/C22AUTOR/2008, INFORMTICA.
Resultado esperado:
Permitir el ingreso del libro.
Entradas: 1, , SIN AUTOR, 123.4/C22AUTOR/2008, INFORMTICA. .
Resultado esperado:
No permitir el ingreso, porque no contiene ttulo.
No permitir el ingreso por que la clasificacin cambiada ya existe.
No permitir ingreso por que el libro no se ha asociado a ninguna materia.
161
CASO DE PRUEBA 3:
Paquete: Catlogo libros y revistas.
Caso de uso: Dar baja material.
Atributos de entrada: (registro):
Entradas: 0.
Resultado esperado:
Permitir la baja del material.
Entradas: 1.
Resultado esperado:
Permitir la baja del material.
Entradas: 0.
Resultado esperado:
No permitir la baja del material, porque este ya est de baja.
162
CASO DE PRUEBA 4:
Paquete: Catlogo libros y revistas.
Caso de uso: Actualizar Revistas, seccin: Ingresar Revista.
Atributos de entrada: (nombre, nmero, contenido).
Entradas: NUESTRA IGLESIA, 1, ORDENACIN SACERDOTAL.
Resultado esperado:
Permitir el ingreso de la revista.
Entradas: NUESTRA IGLESIA, 1, NAVIDAD.
Resultado esperado:
No permitir el ingreso de la revista, ya que el nmero ya existe.
Entradas: JOVEN CATLICO, , ORDENACIN SACERDOTAL.
Resultado esperado:
No permitir el ingreso, ya que esta no posee nmero.
163
CASO DE PRUEBA 5:
Paquete: Administracin de usuarios.
Caso de uso: Actualizar Usuario, seccin: Ingresar usuario.
Atributos de entrada: (nombre, Rut, curso):
Entradas: JORGE, 22.222.222-2, PRIMERO DE FILOSOFA.
Resultado esperado:
Permitir el ingreso del seminarista.
Entradas: DANIEL, 33.333.333-3, SEGUNDO DE TEOLOGA.
Resultado esperado:
Permitir el ingreso del seminarista.
Entradas: CAMILO, 22.222.222-2, SEGUNDO DE FILOSOFA.
Resultado esperado:
No permitir el ingreso ya que el Rut ya existe en el sistema.
Entradas: , 44.4444.4444-4, SEGUNDO DE FILOSOFA.
Resultado esperado:
No permitir el ingreso ya que no posee nombre.
164
CASO DE PRUEBA 6:
Paquete: Administracin de usuarios.
Caso de uso: Actualizar Usuario, seccin: Modificar usuario.
Atributos de entrada: (Rut a modificar, nombre, curso, ):
Entradas: 22.222.222-2, , PRIMERO DE FILOSOFA.
Resultado esperado:
No permitir la modificacin, ya que este no posee nombre.
165
CASO DE PRUEBA 7:
Paquete: Prstamos y devolucin.
Caso de uso: Prstamos de material.
Atributos de entrada: (registro, Rut seminarista):
Entradas: 0, 22.222.222-2
Resultado esperado:
Permitir el prstamo del material.
Entradas: 1, 22.222.222-2
Resultado esperado:
Permitir el prstamo del material.
Entradas: 0, 33.333.333-3
Resultado esperado:
No permitir el prstamo del material ya que ste est prestado.
166
CASO DE PRUEBA 8:
Paquete: Prstamos y devolucin.
Caso de uso: Devolucin del material.
Atributos de entrada: (registro):
Entradas: 0.
Resultado esperado:
Devolucin exitosa.
Entradas: 1.
Resultado esperado:
Devolucin exitosa.
Entradas: 0.
Resultado esperado:
No se puede realizar devolucin ya que el material no se encuentra en prstamo.
167
En el caso puntual del proyecto en cuestin, existe un sistema manual para la biblioteca que se ha
utilizado durante bastante tiempo, lo que ha significado un arduo trabajo de ingreso y
clasificacin de material.
Sera inapropiado, por no decirlo injusto que la clasificacin e ingreso existente del material se
perdiera para dar paso al nuevo sistema computacional, sin embargo un software no est libre de
errores y es necesario mantener el sistema antiguo, por lo menos hasta que el sistema logre
estabilidad. La estabilidad para ste software est contemplada entre tres a seis meses.
En primera instancia, el bibliotecario o quien sea designado para aquello deber poblar la base de
datos con al menos 200 libros y la totalidad de los usuarios.
Luego corresponde la marcha blanca, tiempo en la cual estarn trabajando los dos sistemas al
mismo tiempo. Por consiguiente, si ocurre algn error en el software, el sistema anterior no
tendr ningn problema y podr seguir funcionando hasta que el software sea reparado.
168
Desde la puesta en marcha hacia adelante se contempla un respaldo de la base de datos mediante
discos DVD, al menos una vez cada tres meses, la base de datos es un archivo que podr ser
copiado sin ningn problema.
169
Capacitacin Bibliotecario.
Actividad prctica en la cual el Bibliotecario realice al menos una prueba por cada
funcionalidad.
Actividad prctica en la que se explica cmo instalar el software en otro computador y dejarlo
activo para su uso.
170
Capacitacin Seminaristas.
Actividad prctica en la cual se explica a grandes rasgos las funcionalidades del software de
escritorio.
171
CONCLUSIONES
172
Al dar termino a este proyecto, se puede afirmar con satisfaccin que lo escrito en la literatura
acerca del paradigma orientado a objetos, se hace vida en quien realiz el anlisis, diseo e
implementacin descritos en este libro, lo ms acertado es lo que nos dice Martin en el primer
captulo, pero esto no sera tan tajante, a menos que el paradigma se utilice en todo el ciclo del
proyecto, como nos menciona Meyer.
Las Tcnicas Orientadas a Objetos modifican el punto de vista de los analistas de sistemas de
informacin acerca del mundo, en vez de pensar en los procesos y su descomposicin, piensan en
Objetos y su comportamiento (Martin, y otros, 1994).
El enfoque Orientado a objetos es ambicioso: abarca todo el ciclo de vida de desarrollo
software. Cuando se examinan soluciones orientadas a objetos se debe comprobar que el mtodo
y el lenguaje, as como las herramientas de apoyo, sean aplicables al anlisis y al diseo al igual
que la implementacin y el mantenimiento (Meyer, 1998)
Al desarrollar un proyecto con el paradigma orientado a objetos en todas sus etapas, ya desde las
primeras conversaciones con los usuarios, se comienzan a percibir objetos!, que sern las piezas
fundamentales del software, ya que estos interactan de manera sorprendente con otros objetos,
como si estos comenzaran a tener vida, con comportamientos y estados propios. Adems al
trabajar con una base de datos del mismo paradigma, los objetos persisten sin tener que realizar
transformaciones a bases de datos relacionales, manteniendo las caractersticas del paradigma.
Algo interesante de rescatar es la importancia que tiene el realizar un buen anlisis, ya que las
palabras muchas veces se malentienden o tal vez se dijo aquello que realmente no era, entonces
un anlisis exhaustivo al comienzo, permitir el desarrollo del proyecto con mas confiabilidad y
seguridad, logrando un buen trmino.
173
Otro punto interesante, es la eleccin de una herramientas CASE apropiada para utilizarla en un
proyecto determinado, ya que estas al ser bien utilizadas proporcionan en gran medida el xito
del proyecto.
Tambin, es importante resaltar que se cumplieron con todos los objetivos planteados al inicio de
este proyecto, lo que se ve reflejado a los largo de este libro y en el aprendizaje logrado.
Para finalizar, no se puede dejar de mencionar el descubrimiento por parte de quien realiza este
proyecto la potencia de un Lenguaje como JAVA ya que permite una gran cantidad de cosas, la
ms interesante es la capacidad para reutilizar la lgica de negocio en ambas aplicaciones que se
desarrollaron, tanto en la aplicacin de escritorio, como en la aplicacin Web, en sta ltima,
gracias a la tecnologa JSP se logr la utilizacin del cdigo implementado en la primera
aplicacin, logrando una coherencia y unin de estos dos software para lograr un gran Sistema de
Biblioteca como lo plantea este Proyecto.
174
BIBLIOGRAFA
175
2007,
NetBeans.
NetBeans.
[En
lnea]
[Citado
el:
18
de
Agosto
de
2007.]
http://www.netbeans.org/index_es.html.
Benito, Miguel. 1999. Manual de aprendizaje de la Clasificacin Decimal Universal y breve
introduccin a la Clasificacin Decimal de Dewey. s.l. : Taranco, 1999.
Bertino, Elisa y Martino, Lorenzo. 1995. Sistemas de bases de datos orientadas a objetos.
Madrid : Addison wesley, 1995.
creangel UML. 2007. creangel. [En lnea] 2007. [Citado el: 12 de septiembre de 2007.]
http://www.creangel.com/uml/diagramas.php.
Deitel, Harvey. 2004. Como programar en JAVA. Mexico : Pearson, 2004.
Larman, Craig. 2003. UML y Patrones. Madrid : Pearson, 2003.
Lavintman, Alan y Viscuso, German. 2007. db4o: una alternativa a la persistencia . s.l. :
www.db4o.com, 2007.
Martin, James y Odell, James. 1994. Analisis y Diseo Orientado a Objetos. Mexico : Prentice
Hall, 1994.
Meyer, Bertrand. 1998. Construccion de Software Orientada a Objetos (Segunda edicion).
Espaa : Prentice Hall, 1998.
Miksa, Francis L. 1998. The DDC, The universe of knowledge and the post-modern library. s.l. :
Forest press, 1998.
Natxo, Mendez. 2007. DesarrolloWeb. [En lnea] 2007. [Citado el: 1 de Agosto de 2007.]
http://www.desarrolloweb.com/articulos/832.php.
Paredes, Juan de Dios Btz. Desarrollo Orientado a Objetos con UML.
Prez, Javier Eguluz. 2007. Introduccin a AJAX. 2007.
Pressman. 2002. Ingeniera del Software Un enfoque Prctico. s.l. : McGraw Hill., 2002.
Sabater, Juan Carlos. 2007. ciberhabitat. [En lnea] 2007. [Citado el: 11 de Octubre de 2007.]
http://ciberhabitat.gob.mx/comercio/cbarras/index.html.
176
Agosto de 2007.]
http://es.wikipedia.org/wiki/Java_(Sun).
Wikipedia JSP, 2007. Wikipedia. [En lnea] [Citado el: 28 de Agosto de 2007.]
http://es.wikipedia.org/wiki/Java_Server_Pages.
Wikipedia Lenguaje Java, 2007. Wikipedia. [En lnea] [Citado el: 20 de Agosto de 2007.]
http://es.wikipedia.org/wiki/Lenguaje_de_programacin_Java.
Wikipedia POO. 2007. Wikipedia. [En lnea] 2007. [Citado el: 12 de Septiembre de 2007.]
http://es.wikipedia.org/wiki/Programacin_orientada_a_objetos.
177
ANEXO 1
MANUAL DE USUARIO DEL SISTEMA BIBLIOTECARIO
178
INTRODUCCIN
En ste tutorial del sistema Bibliotecario de la Biblioteca del Seminario Metropolitano
Concepcin, se plasma de forma grfica e interesante la forma en que se debe utilizar el sistema
bibliotecario. Al leer el tutorial se aprender desde el ingreso al sistema, hasta las operaciones
que requieren conocimiento en bibliotecas.
Este tutorial est diseado de forma que el entendimiento sea ms fcil para el usuario. A
continuacin se describe los smbolos que aparecern a lo largo del tutorial.
Solo Bibliotecario: Cuando aparezca ste smbolo, significa que para
realizar la operacin se necesitan conocimientos de biblioteca. Como por
ejemplo, el cmo clasificar un Libro, el ingreso de una revista, etc.
El tutorial, en general, muestra todas las pantallas que el sistema le arrojar y describe las
acciones importantes a travs de nmeros que identifican en la pantalla los que se describir, por
lo general son botones o cajas de texto para anotar los atributos que el sistema requiere.
179
Cuando exista un error en el sistema, este lo har saber al usuario mediante dos formas, la
primera es dentro de la misma pantalla (debajo de la pantalla) con un mensaje en rojo, la segunda
forma es mediante un mensaje que saldr por sobr la pantalla, a la que ser necesario dar al
botn aceptar para indicarle al sistema que ya ha ledo la informacin.
En la figura anterior se ve un mensaje de error tras haber presionado el botn Entrar sin haber
ingresado el Rut. Luego podr nuevamente ingresar el Rut, sin indicarle al sistema que ha ledo el
mensaje.
En la figura anterior se muestra un mensaje que es necesario que el usuario lo lea y para ello le
indica explcitamente al sistema que lo ha ledo mediante el botn Aceptar.
180
INICIO
Al iniciar el sistema de biblioteca del Seminario Metropolitano Concepcin lo primero que
podremos observar, es la pantalla de inicio, esta se presenta a continuacin.
1.- Indica el progreso de carga del software, en caso de que este no se moviera por un tiempo
prolongado, se hace necesario la reiniciacin del sistema operativo, ya que lo ms seguro, es que
el problema provenga de all.
181
IDENTIFICARSE
Pantalla de identificacin para el bibliotecario.
RUT: El formato de entrada puede ser XX.XXX.XXX-X o XXXXXXXX-X,
es decir, con o sin puntos.
182
PANTALLA PRINCIPAL
Pantalla principal del sistema, en la que el usuario tendr el acceso a todas las opciones
mediante los mens respectivos, adems como actividad principal, en esta pantalla se
gestionarn los prstamos y devoluciones a los seminaristas.
1.- Men principal, en la que tendr todas las opciones que el sistema posee, estas opciones se
describen posteriormente.
2.- Accesos rpidos a las principales opciones del sistema, estas sern descritas ms adelante.
3.- Seccin en la cual se realizan los prstamos del material de la biblioteca a los seminaristas.
4.- Seccin para realizar la devolucin del material de un seminarista.
183
PRESTAMOS
1.- Marco dedicado al identificar al seminarista que desea realizar un prstamo en el sistema.
1.1.- Campo en la cual se deber ingresar el RUT del seminarista, luego de ser ingresado el
sistema proporcionar la informacin asociada a los dems campos del marco.
2.- Marco dedicado a la identificacin del material (libro o revista) que se prestara al seminarista
ingresado.
2.1.- Campo en la que se ingresa el nmero de registro del material que se desea prestar, este
puede ser pistoleado por el lector de cdigos de barra o ingresado por teclado, luego el sistema
proporcionar la informacin del material.
2.2.- Campo en la cual, por defecto, se indicar la fecha de devolucin del material, este podr ser
cambiado al instante por el bibliotecario, para dar una mayor flexibilidad del servicio.
3.- Botn, en la cual se le indica al sistema que realice el prstamo del material al seminarista
indicado.
184
DEVOLUCIN
1.- Campo en la cual se ingresa el cdigo de registro del material que se est devolviendo a la
biblioteca, este puede ser pistoleado con el lector de cdigos de barra o ingresado directamente
por teclado.
185
SECCIN LIBROS
Tipo: Indica a que tipo pertenece el libro que se est ingresando, existen dos:
Referencia, que significa que el libro es de alta demanda y adems existen
copias limitadas y No referencia lo cual no son libros muy codiciados y
existen ms de una copia.
Registro anterior: Este atributo es ingresado con el fin de convivir con el
sistema anterior, este corresponde al registro con que el libro haba sido
186
187
1.- Botn que permite el ingreso de una copia de un libro que ya fue ingresado anteriormente,
luego se debe identificar el libro con la clasificacin para asignarle una copia.
2.- Lista en la que aparecen los tipos de libros, sobre el cual se determina la cantidad de das que
ser prestado el material.
3.- Botn que permite ingresar un autor, si es que este no est en el sistema.
4.- Botones que permiten el ingreso de una nueva editorial, ediciones y serie respectivamente
5.- Permite ingresar cualquier observacin acerca del libro.
6.- Permite dar paso a la segunda etapa del ingreso de un libro.
188
189
1.- Lista que contendr todos los autores registrados en el sistema, ordenados alfabticamente,
estos se pueden elegir con el mouse o tecleando la primera letra correspondiente al autor, adems
la eleccin podr variar con los botones de flechas que el teclado posea.
2.- Lista que contendr los autores secundarios del libro que se est ingresando.
3.- Botones de desplazamiento de autores de una lista a otra, es decir, si se encuentra un autor en
la lista de autores generales del sistema (1) podr ser movida a la lista de autores secundarios del
libro mediantes los botones de acuerdo a la trayectoria que estos indican.
4.- Botn que permite ingresar un nuevo autor en el caso que no exista en las listas.
5.- Igual que el punto (1) pero esta vez no se tratarn autores, sino materias.
6.- Igual que el punto (2) pero esta vez no se trataran los autores secundarios, sino las materias
que correspondan al libro, estas materias pueden tambin ser palabras claves que sirvan para
efectuar las bsquedas.
7.- Igual al punto (3) pero esta vez es para mover las materias de una lista a otra.
8.- Botn que permite el ingreso de una nueva materia, es decir, ingresar una materia que no
existe en el sistema.
9.- Botn que informa al sistema que ya puede registrar el libro.
190
191
1.- Permite ingresar la clasificacin del libro, al que desea ingresar una copia.
2.- Botn que permite cancelar el proceso de ingreso de copia.
3.- Botn que inicia la bsqueda del libro asociado a la clasificacin, de modo que se muestre en
pantalla los resultados de la bsqueda para luego ingresar la copia.
192
1.- Permite el ingreso del nmero de registro que posea el libro en el sistema anterior.
2.- Botn que cancela el proceso del ingreso de una copia.
3.- Botn que informa al sistema que ingrese una copia de un libro.
193
194
INGRESAR AUTOR
F. nacimiento: El sistema no permitir el ingreso de un autor que presente
una pecha de nacimiento igual o mayor a la fecha de muerte.
F. muerte: El sistema no permitir el ingreso de un autor que presente una
fecha de muerte igual o menor que la fecha de nacimiento.
Cutter: El sistema no permitir el ingreso de un autor con el mismo cdigo
cutter que otro autor ingresado con anterioridad.
195
INGRESAR EDITORIAL
Ingrese Editorial: El sistema no permitir el ingreso de una editorial que ya
ha sido ingresada en el sistema.
INGRESAR SERIE
Ingresar serie: El sistema no permitir el ingreso de una serie que ya existe
en el sistema.
INGRESAR EDICIONES
Ingrese Ediciones: El sistema no permitir en ingreso de ediciones que ya
existan en el sistema.
197
198
1.- Se selecciona si el libro a modificar ser identificado mediante el cdigo de registro o por su
clasificacin.
2.- Podr ingresar la clasificacin o cdigo de registro segn corresponda.
3.- Botn que cancelar el proceso de modificacin.
4.- Botn que inicia la bsqueda de la informacin asociada a la clasificacin o cdigo de
registro, para comenzar a modificar los atributos que se estimen conveniente.
199
200
201
BUSCAR LIBRO
El proceso de bsqueda de libros se puede realizar por medio de varios criterios y estos sern
buscados dentro de todos los libros que existen en el sistema, la palabra puede ser exacta o
puede ser una palabra contenida en otra (teo esta contenida en teologa)
1.- Criterios con las cuales se pueden realizar las bsquedas de los libros en el sistema.
2.- Permite ingresar las palabras que sern asociadas a las bsquedas de acuerdo al criterio que se
escogi en (1).
3.- Botn que da inicio a la bsqueda de los libros.
4.- Tabla en la que aparecern las coincidencias de la bsqueda realizada.
5.- Botn que permite modificar un libro, si es que este se ha seleccionado explcitamente con el
mouse, una vez que el botn se ha presionado se inicia la modificacin del libro desde la pantalla
2 de modificacin, obviando la pantalla de identificacin del libro.
202
6.- Botn que permite ver toda la informacin de un libro que se ha seleccionado con el mouse.
203
MS INFORMACIN
204
1.- Permite que se identifique el libro que se est dando de baja, este puede ser pistoleado por el
lector de cdigos de barra o ingresado por teclado.
2.- Lista en la cual se encuentran las razones para dar de baja un material.
3.- Botn que informa al sistema que inicie la baja del libro.
205
1.- Permite que se identifique el libro que se est dando de alta, este puede ser pistoleado por el
lector de cdigos de barra o ingresado mediante el teclado.
2.- Botn que informa al sistema que de inicio al alta del material.
206
SECCIN REVISTAS
INGRESO DE REVISTA
Para poder ingresar una revista al sistema, el bibliotecario deber proveer la
informacin que el sistema le solicite. Adems de ste proceso se desprenden
acciones como: Agregar nueva revista, Agregar copia de un nmero y
agregar contenido.
Nmero: El sistema no permitir el ingreso de una revista de con el mismo
nmero y nombre, esta deber ser una copia de numero de revista.
Desde: El sistema no permitir que una periodicidad comience con una fecha
mayor a la del trmino.
Hasta: El sistema no permitir que la periodicidad termine con una fecha
menor a la del inicio.
Contenido: El sistema no permitir el ingreso de una revista si esta no tiene
algn contenido que se le asocie.
207
1.- Botn que da inicio al proceso de agregar una nueva revista, es decir, una revista a la cual
jams se le ha asociado un nmero de revista y el nombre no aparece en el sistema.
2.- Botn que da inicio al proceso de agregar una copia de revista, es decir, agregar el nmero de
una revista en particular ms de una vez.
3.- Lista de la cual despliegan todas las revistas que estn ingresadas en el sistema, a fin de
asociarle un nuevo nmero.
4.- Lista en la cual se encuentran todos los contenidos existentes en el sistema, estos aparecen
ordenados alfabticamente y se pueden elegir mediante mouse, teclado (flechas o mediante la
primera letra del contenido). Estos contenidos no estn asociados al nmero que se est
ingresando pero se puede asociar.
5.- Botones que permiten desplazar de un lado a otro el contenido de una revista, es decir, el
contenido puede pasar a formar parte del nmero que se est ingresando.
208
6.- Lista de todos los contenidos que se estn asociando al nmero de revista que se est
ingresando.
7.- Botn que permite el ingreso de un contenido que no existe en el sistema.
8.- Botn que informa al sistema que ingrese la revista.
209
210
211
AGREGAR CONTENIDO
Ingrese Contenido: El sistema no permitir en ingreso de un contenido que
ya existan en el sistema.
212
1.- Lista de la cual despliegan la formas de identificacin del a revista que se desea modificar.
2.- Permite el ingreso de la revista que se desea modificar (por ttulo o cdigo de registro).
3.- Botn que da inicio a la bsqueda de la revista que se desea modificar.
213
214
1.- Lista en la que aparecen los nombres de todas las revistas que han sido ingresadas en el
sistema.
2.- Permite el ingreso del nmero asociado a la revista que se desea modificar.
3.- Botn que inicia la bsqueda del nmero de la revista que se desea modificar.
215
216
BUSCAR REVISTA
El proceso de bsqueda de una revista se puede realizar por medio de varios criterios y estos
sern buscados dentro de todas las revistas que existan en el sistema, la palabra puede ser
exacta o contenida dentro de otra (teo esta contenida en teologa).
1.- Botn que da inicio a la bsqueda de las revistas segn las concordancias que se encuentren
respecto a los atributos que se ingresaron.
2.- Botn que permite ver la informacin de una revista que se seleccion en la tabla de
resultados.
3.- Botn que permite ver la informacin del nmero que se selecciono de la tabla de resultados.
4.- Botn que permite la modificacin de la revista previamente seleccionada de la tabla de
resultados.
5.- Botn que permite la modificacin del nmero de una revista previamente seleccionada de la
tabla de resultados.
6- Tabla de resultados que arrojo la bsqueda de revistas.
7.- Botn que indica al sistema, que ya se realiz lo que se necesitaba.
217
218
219
USUARIOS
SEMINARISTAS
INGRESAR SEMINARISTA
Para poder ingresar un seminarista, el bibliotecario deber proveer la informacin que el
sistema le solicite. Adems de este proceso se desprenden acciones como: Ingresar Curso e
Ingresar Parroquia.
RUT: El sistema no permitir el ingreso de un seminarista al que se le asocie
un Rut que ya existe en el sistema.
220
221
AGREGAR CURSO
Ingrese Curso: El sistema no permitir el ingreso de un curso que ya exista
222
AGREGAR PARROQUIA
Nombre: El sistema no permitir el ingreso de un nombre de parroquia que
ya exista.
223
AGREGAR DICESIS
Nombre: El sistema no permitir el ingreso de un nombre de diocesis que ya
exista.
224
225
1.- Lista en la cual se encuentran los estados que puede tomar el seminarista. (REGULAR,
SUSPENDIDO)
2.- Opcin para reiniciar la clave del seminarista, esta ser reiniciada con el RUT en formato
xx.xxxx.xxx-x.
3.- Botn que indica al sistema que puede modificar al usuario.
226
COMO BIBLIOTECARIO
Un seminarista puede ejercer funciones de bibliotecario. Para ello se debe ingresar como
bibliotecario identificndolo con su RUT.
RUT: El RUT debe existir previamente en el sistema.
1.- Botn que indica al sistema que puede ingresar al seminarista como bibliotecario.
227
1.- Lista en donde se podr indicar la razn de porque se est dando de baja al seminarista.
2.- Botn que indica al sistema que puede efectuar la baja.
228
1.- Botn que indica que se puede efectuar el alta del seminarista que se encuentra de baja.
229
BIBLIOTECARIOS
INGRESAR BIBLIOTECARIO
Para poder ingresar un nuevo bibliotecario, un bibliotecario existente deber proveer la
informacin que el sistema le solicite para que este pueda tener acceso a todas las funciones que
el sistema provee.
RUT: El sistema no permitir el ingreso de un Bibliotecario con el mismo
RUT que otro Bibliotecario. Adems si se digita el RUT de un seminarista
este no podr ser ingresado, deber hacerlo desde la opcin Usuarios ->
Seminaristas -> como Bibliotecario de modo que se utilice la misma
informacin del seminarista.
230
1.- Botn que indica al sistema que puede modificar los datos.
231
CAMBIAR CLAVE
Si un bibliotecario desea cambiar su clave, deber ingresar la clave actual para posteriormente
ingresar la nueva clave que desee.
232
1.- Lista que contiene las funciones por el cual un bibliotecario podra ser dado de baja.
2.- Botn que indica al sistema que ya puede realizar la baja.
233
234
USUARIOS ESPECIALES
1.- Botn que indica al sistema que puede realizar el ingreso del usuario especial
235
1.- Permite ingresar el Rut asociado al usuario especial que se desea modificar.
2.- Botn que indica al sistema que busque el usuario asociado al Rut ingresado, Para modificar
sus datos.
236
1.- Lista en la que se encuentran los estados que puede tomar un usuario especial.
2.- Permite reiniciar la clave asociada al usuario especial.
4.- Botn que indica al sistema que puede modificar los datos del usuario.
237
Lista en la que se encuentran las razones por las que se puede dar de baja un usuario especial.
Botn que indica al sistema que puede realizar la Baja.
238
1.- Botn que indica al sistema que puede dar de alta al usuario asociado al Rut que se ingres.
239
BUSCAR USUARIO
Si se necesita la informacin de un usuario para realizar alguna actividad y no se cuenta con el
Rut, este podr ser buscado por medio del nombre y/o apellido. Luego que el sistema arroje los
resultados, estos podrn ser seleccionados con el fin de modificar o ver toda la informacin
asociada al seminarista, bibliotecario y usuario especial.
1.- Opcin que puede ser marcada a fin que en la bsqueda se incluyan todos los seminaristas.
2.- Opcin que puede ser marcada a fin que en la bsqueda se incluyan todos los bibliotecarios.
3.- Opcin que puede ser marcada a fin que en la bsqueda se incluyan todos los usuarios
especiales.
4.- Botn que indica al sistema que puede realizar la bsqueda de los usuarios de acuerdo a los
criterios que se hayan ingresado.
5.- Botn que permite ver la informacin asociada al usuario que se ha seleccionado con el mouse
de la tabla de resultados.
240
6.- Botn que inicia el proceso de modificacin de un usuario seleccionado con el mouse de la
tabla de resultados.
7.- Sector donde se ubica la tabla de resultados que arrojar la bsqueda de usuarios.
8.- Botn que indica al sistema que el proceso de bsqueda ha terminado.
241
1.- Botn que indica al sistema que la informacin del seminarista ya fue utilizada por lo tanto la
ventana puede ser cerrada.
1.- Botn que indica al sistema que la informacin del bibliotecario ya fue utilizada por lo tanto
la ventana puede ser cerrada.
242
1.- Botn que indica al sistema que la informacin del usuario especial ya fue utilizada por lo
tanto la ventana puede ser cerrada.
243
PRESTAMOS
245
1.- Permite identificar el material que se est devolviendo, puede ser ingresado por teclado o
ledo por el lector de cdigos de barra.
2.- Botn que le indica al sistema que puede comenzar con la devolucin.
246
INFORMES
Para la generacin de informes, bastar con escoger desde el men el informe que desea
generar. Luego si es pertinente el sistema le solicitar algunos datos como rangos de fecha etc.
Para luego apreciar en pantalla la informacin que solicit, los informes podrn ser generados
en archivos PDF para luego ser impresos. A continuacin se describe un ejemplo del informe
Atrasos de seminaristas.
247
248
ANEXO 2
CASOS DE USO Y DIAGRAMAS CONCEPTUALES DE
TODO EL SISTEMA
249
INTRODUCCIN
En este documento se da a conocer todos los casos de uso del sistema bibliotecario perteneciente
al proyecto Sistema Orientado a Objetos para Biblioteca del Seminario Concepcin. Los casos de
uso son separados por los seis paquetes que contiene el sistema, los que adems contienen su
diagrama conceptual.
250
DIAGRAMA DE PAQUETES
System
Sistema de
mensajera
Recomendacin
de
bsqueda
Administracin de
usuarios
Catlogo libros y
revistas
Publicaciones digitales
Prstamos y
devolucin
251
Actualiza
r libros
Dar Baja
Material
<<extend>>
<<extend>>
Bibl
iotecario
<<extend>
>
Actualizar
Revistas
<<extend>>
Dar Alta
Material
<<extend>>
Seminarista
Recomendacin
de
bsqueda::Ver
recomendacin
<<extend>
>
Busqued
a libros
y
revistas
observar el caso de uso ACTUALIZAR LIBROS en el que se tiene la opcin de ingresar un libro,
modificar un libro y adems de extender a los casos de uso DAR BAJA MATERIAL y DAR
ALTA MATERIAL que a su vez son extendidos por ACTUALIZAR REVISTAS el que tiene la
252
opcin de Ingresar y Modificar revista. Para realizar la bsqueda del material existe BSQUEDA
253
LIBROS Y REVISTAS, el que extiende el caso de uso VER RECOMENDACIN del paquete
recomendacin de bsqueda.
: Bibliotecario.
Propsito
Tipo
: Primario y esencial.
Referencias cruzadas
Descripcin
El bibliotecario, cuando desea actualizar un libro debe poseer una cierta cantidad de
informacin que el sistema le solicitar, esta ser an mayor al momento de hacer ingreso de
material, el bibliotecario contar con las siguientes opciones:
Ingresar Libro.
Modificar Libro.
de
uso
cuando
el
corresponda
la
eleccin
del
bibliotecario.
- Ingresar libro: Deriva a la seccin
ingresar libro.
- Modificar libro: Deriva a la seccin
modificar libro.
- Dar Baja material: Deriva al caso de
uso extendido dar baja material.
- Dar Alta material: Deriva al caso de
uso extendido dar alta material.
CURSOS ALTERNOS
Registro
anterior
Autor
principal
etiqueta
de cdigos
de barra
perteneciente al libro
Selecciona opcin para imprimir etiqueta de
cdigos de barra.
Ordena a la impresora que imprima la
etiqueta de cdigos de barra.
CURSOS ALTERNOS.
tem 2: Ingresa un ttulo de libro que ya existe en el sistema. Da a conocer al bibliotecario la
existencia de otro libro con el mismo ttulo, l decide si ingresar una copia, ocupar la informacin
del libro que existe para el nuevo libro o ingresar el libro con el mismo ttulo.
tem 2: En las listas no existe el valor que se desea ingresar para: Tipo / Serie / Editorial /
Ediciones. El usuario debe ingresar al sistema el valor para posteriormente escogerlo.
tem 4: La clasificacin que el usuario ingres ya existe en el sistema. Informa al usuario y no
permite el ingreso del libro.
CURSOS ALTERNOS
tem 2: El cdigo de clasificacin o cdigo de registro ingresado no existe en el sistema. Se
indica error y muestra nuevamente opcin de ingreso de los datos.
: Bibliotecario.
Propsito
Tipo
: Primario y esencial.
Referencias cruzadas
Descripcin
de
uso
cuando
el
CURSOS ALTERNOS
tem 1: El bibliotecario ingresa un cdigo invlido. Se indica error y muestra nuevamente opcin
de ingreso del cdigo.
tem 2: El cdigo ingresado no existe en el sistema. Se indica error y muestra nuevamente opcin
de ingreso del cdigo.
: Bibliotecario.
Propsito
Tipo
: Primario y esencial.
Referencias cruzadas
Descripcin
Un libro o revista despus de ser dado de baja, puede nuevamente quedar activo en el
sistema, para ello el bibliotecario deber ingresar el cdigo de registro del material, con el
cual el libro o revista automticamente volver a estar a disposicin de los usuarios.
de
uso
cuando
el
CURSOS ALTERNOS
tem 1: El bibliotecario ingresa un cdigo invlido. Se indica error y muestra nuevamente opcin
de ingreso del cdigo.
tem 2: El cdigo ingresado no existe dentro del material que se encuentra de baja. Se indica
error y muestra nuevamente opcin de ingreso del cdigo.
tem 3: Ingresa respuesta negativa. El sistema cancela el proceso.
: Bibliotecario.
Propsito
Tipo
: Primario y esencial.
Referencias cruzadas
Descripcin
El bibliotecario, cuando desea actualizar una revista debe manejar una cierta cantidad de
informacin que el sistema le solicitar, dependiendo de la accin que el bibliotecario
seleccione. Las opciones se listan a continuacin.
- Ingresar Revista.
- Modificar Revista.
- Dar Baja Revista.
- Dar Alta Revista.
de
uso
cuando
el
corresponda
la
eleccin
del
bibliotecario.
- Ingresar revista: Deriva a la seccin
ingresar revista.
- Modificar revista: Deriva a la seccin
modificar revista.
- Dar Baja material: Deriva al caso de
uso extendido dar baja material.
- Dar Alta material: Deriva al caso de
uso extendido dar alta material.
CURSOS ALTERNOS
Si existe una revista que no est ingresada en el sistema, el bibliotecario debe tomar la
informacin necesaria para ingresarla y dejarla disponible a los usuarios de la biblioteca del
seminario. El bibliotecario deber seleccionar el ttulo de la revista a la cual desea ingresar
un nuevo nmero, en caso que la revista que desea seleccionar no exista en el sistema, deber
ingresar algunos datos adicionales.
DATOS REVISTA: Periodicidad (Fecha de edicin y caducacin) / nmero / volumen / ao
/ contenido.
DATOS ADICIONALES NUEVA REVISTA: Nombre / fecha fundacin / Periodicidad
(cantidad de das) / ISSN.
CURSOS ALTERNOS.
tem 1: La revista que desea seleccionar no existe. En ese instante debe ingresar los datos
adicionales nueva revista, para posteriormente seleccionar la revista en el tem 1.
tem 4: Ingreso incorrecto segn formato. Se indica error y no permite crear la revista hasta que
ingrese los valores correctos.
tem 5: El contenido de la revista no existe en la lista. Debe ingresarlo para posteriormente ser
elegido.
tem 5: La revista posee ms de un contenido. El bibliotecario debe indicar al sistema el ingreso
de otro contenido para posteriormente pasar del tem 6 al tem 5.
Si por equivocacin, se ingresan datos errneos de una revista, o se desea ingresar nueva
informacin perteneciente al material, se deber identificar la revista con el nmero de
registro o el nombre de la revista. En caso de ingresar el nmero de registro de una revista se
podrn modificar los datos propios del nmero, en el caso de seleccionar el nombre de la
revista, se modificaran los datos generales. A continuacin se nombran los datos que se
pueden modificar en cada caso:
DATOS NUMERO: Periodicidad (Fecha de edicin y caducacin) / nmero / volumen / ao
/ contenido.
DATOS REVISTA: fecha fundacin / Periodicidad (cantidad de das) / ISSN.
CURSOS ALTERNOS
tem 2: El cdigo de registro o el nombre ingresado no existe. Indica error y muestra nuevamente
opcin de ingreso de datos.
: Bibliotecario, Seminarista.
Propsito
Tipo
: Primario y esencial.
Referencias cruzadas
: Requerimiento R18.
Descripcin
de
uso
cuando
el
CURSOS ALTERNOS
tem 3: Enva formulario sin escribir nada. Indica error.
tem 5: No se encuentran coincidencias, se indica que no hubo xito en la bsqueda.
MODELO CONCEPTUAL
Materi
a
LibroAutor
+Nombre:
String
+Autor
0..*
0..*
+Materia
0..*
LibroMateria
Autor
+Nombre: String
+FechaFundacion:
String
+Periodicidad: Integer
+ISSN: String
1
+Revist
a
Editoria
l
0..*
+Nombre:
String
+Libr
o
Serie
+Nombre: String
0..*
CopiaRevista
+FechaInicio: Fecha
+FechaTermino:
Fecha
+Numero: String
+Volumen: String
+Annio: String
Copia+
1
1
+Copia
+Editorial
1
1
0..*
0..1
Libro
+Libr
o
+Serie
+Titulo: String
+PaisEdicion: String
0..* +CiudadEdicion:
String
+AnoPublicacion:
Integer
+CantPaginas:
Integer
Tipo
+Nombre:
String
0..*
+Diasprestamo: Integer
+Tipo
0..*
0..1
+Nombre:
String
CopiaLibro
CopiaNumero
0..*
+Contenido
1
Contenid
o
+Registr
o
+Nombre:
String
1
+Registr RegistroMateria
l
o
1
0..*
0..*
CopiaContenid
o
+Ancho:
Integer
+Largo:
Integer
+ISBN: String
+Indice: String
+Edicion: String
1
0..* +Copi
a
Baja
0..*
+Volumen: String
+Tomo: String
+Clasificacion: String
+AutorPrin:
Autor
+MasAut:
Boolean
+Notas: String
+Ediciones
Edicione
s
+FechaB:
Fecha
+Razon:
String
Revista
+Nombres: String
1 +Apellidos: String
+FechaNac: Fecha
+FechaMuerte:
Fecha
+Nacionalidad:
String
1
1
+Registro: Integer
+FechaRegistro:
Fecha
+Tipo: String
+Registr
o
+Estado
Estado
0..*
1
+Nombre: String
<<extend>
>
Dar baja
Usuario
<<extend>
>
Bibliotecar
io
<<extend>>
Actualiza
r
usuario
<<extend>>
<<extend>>
<<extend>
>
<<extend>>
Busqued
a de
usuarios
Dar
Alta
usuari
o
<<extend>>
Actualiz
ar
cuenta
personal
Prestamos y
devolucion::Revis
ar
prestamo
s
vigentes
Prestamos
y
devolucion::Revi
sar historial
Seminarista
: Bibliotecario.
Propsito
Tipo
: Primario y esencial.
Referencias cruzadas
Descripcin
Para poder actualizar una cuenta de usuario, el bibliotecario deber en primera instancia
elegir qu tipo de usuario desea actualizar, ya sea seminarista o bibliotecario para luego
tener la opcin de crear, modificar, dar de baja y dar de alta al usuario que desee.
de
uso
cuando
el
corresponda
la
eleccin
del
bibliotecario.
- Ingresar usuario: Deriva a la seccin
ingresar usuario.
- Modificar
Usuario:
Deriva
a la
CURSOS ALTERNOS.
Para crear un usuario, el bibliotecario debe en primera instancia indicar el tipo de usuario que
desea ingresar, estos pueden ser seminarista y bibliotecario, adems debe tener en su poder
una serie de datos que deben ser ingresados en el sistema para crear la cuenta, la informacin
asociada a cada usuario se lista a continuacin.
PARA SEMINARISTA: Nombres / Apellidos / RUT / Fecha de Nacimiento / Telfono /
Celular / Parroquia / Dicesis / Ao de ingreso / Curso
PARA BIBLIOTECARIO: Nombres / Apellidos / RUT / Fecha de Nacimiento / Telfono
en
pantalla
el
formulario
CURSOS ALTERNOS.
tem 3: El RUT ya existe en el sistema. Indica que el usuario que desea ingresar ya esta en el
sistema.
CURSOS ALTERNOS
tem 1: El bibliotecario ingresa un RUT invlido. Se indica error y muestra nuevamente opcin
de ingreso de RUT.
tem 2: El RUT ingresado no existe en el sistema. Se indica error y muestra nuevamente opcin
de ingreso de RUT.
: Bibliotecario.
Propsito
Tipo
: Primario y esencial.
Referencias cruzadas
Descripcin
Si por alguna razn un usuario del sistema, ya sea seminarista, bibliotecario o un usuario
especial, debe perder su condicin de usuario, el bibliotecario deber ingresar que tipo de
usuario es el que se desea dar de baja, luego ingresar el RUT, y por ltimo indicar cual es la
razn de la baja.
de
uso
cuando
el
especial)
luego
el
RUT
correspondiente al usuario.
Busca al usuario y muestra formulario en
pantalla para ingresar las razones de baja.
Indica razones de baja y enva el formulario.
Registra la baja.
CURSOS ALTERNOS
tem 1: El bibliotecario ingresa un RUT invlido. Se indica error y muestra nuevamente opcin
de ingreso de RUT.
tem 1: El bibliotecario ingresa el RUT asociado a su cuenta. Indica error y no permite la baja.
tem 2: El RUT ingresado no existe en el sistema. Se indica error y muestra nuevamente opcin
de ingreso de RUT.
tem 2: El RUT ingresado ya se encuentra de baja. Se indica error y cancela el proceso.
: Bibliotecario.
Propsito
Tipo
: Primario y esencial.
Referencias cruzadas
Descripcin
de
uso
cuando
el
y posteriormente el RUT
correspondiente al usuario.
Busca al usuario y vuelve a preguntar si
desea dar alta.
Ingresa respuesta positiva a dar el alta al
usuario.
Registra el alta.
CURSOS ALTERNOS
tem 1: El bibliotecario ingresa un RUT invlido. Se indica error y muestra nuevamente opcin
de ingreso de RUT.
tem 2: El RUT ingresado no existe en el sistema. Se indica error y muestra nuevamente opcin
de ingreso de RUT.
tem 3: Ingresa respuesta negativa. El sistema cancela el proceso.
: Bibliotecario.
Propsito
Tipo
: Secundario y esencial.
Referencias cruzadas
: Requerimiento R16.
Descripcin
de
uso
cuando
el
corresponda
la
eleccin
del
bibliotecario.
- Ingresar usuario externo: Deriva a la
seccin ingresar usuario externo.
- Modificar usuario externo: Deriva a
CURSOS ALTERNOS
Si una persona ajena al seminario desea hacer uso del sistema bibliotecario, deber poseer
una cuenta de usuario externo en la que el bibliotecario deber ingresar los siguientes
datos:
DATOS USUARIOS ESPECIALES: Nombres / Apellidos / RUT / Direccin / Telfono /
Lugar de trabajo o estudio
CURSOS ALTERNOS.
tem 2: Ingreso incorrecto segn formato. Se indica error y no permite crear la cuenta de usuario
externo.
CURSOS ALTERNOS
tem 1: El bibliotecario ingresa un RUT invlido. Se indica error y muestra nuevamente opcin
de ingreso de RUT.
tem 2: El RUT ingresado no existe en el sistema. Se indica error y muestra nuevamente opcin
de ingreso de RUT.
: Seminarista.
Propsito
Tipo
: Secundario y esencial.
Referencias cruzadas
: Requerimiento R21.
Descripcin
CURSOS ALTERNOS
tem 2: Ingreso incorrecto segn tipo de dato. Se indica error y no permite modificacin de la
cuenta.
: Bibliotecario
Propsito
Tipo
: Secundario y esencial.
Referencias cruzadas
Descripcin
en
pantalla
encontradas.
Selecciona usuario a visualizar.
CURSOS ALTERNOS
tem 3: No se encontraron coincidencias, se indica y vuelve a tem 1.
las
coincidencias
MODELO CONCEPTUAL
Person
a
BajaUsuari
o
0..*
+FechaBaja:
Fecha
+Razon: String
+Persona
1
+Nombres:
String
+Apellidos:
String
+Direccion:
String
+Telefono:
Integer
+Celular:
Integer
+Rut: RUT
+Clave: String
0..*
+Estad EstadoUsuario
o
+Nombre: String
1
UsuarioEspeci
al
Bibliotecari
o
+FechaNacimiento:
Fecha
Curs
o
Seminarist
a
0..*
+Nombre: String
+LugarDeTrabajo:
String
+Curso
0..*
Parroqui
a
+Nombre:
String
+Direccion:
String
+Telefono:
Integer
Diocesi
s
+Parr
o
0..*
+Nombre:
String
+Direccion: String
Prstamos
de
material
Bibliotecari
o
Devoluci
n de
material
Revisar
historia
l
Seminarist
a
Revisar
prstamo
s
vigentes
: Bibliotecario.
Propsito
Tipo
: Secundario y esencial.
Referencias cruzadas
: Requerimiento R16.
Descripcin
Si un usuario externo posee una cuenta, se le podr realizar prestamos de material, pero
estos sern solo por el da, sea de referencia o no, este tendr que ser devuelto antes del
trmino de la jornada, a no ser que el bibliotecario indique lo contrario. Para realizar el
prstamo, el bibliotecario debe ingresar el RUT del usuario interesado, luego deber verificar
que la informacin existente en el sistema contine vigente y realizar el prstamo.
de
uso
cuando
el
que
la
informacin
que
est
CURSOS ALTERNOS
tem 1: Ingreso del RUT errneo o inexistente, El sistema indica error y muestra nuevamente la
opcin de ingresar el RUT del seminarista.
tem 2: La verificacin indica que el usuario externo no existe, Se cancela el prstamo en curso.
tem 3: La informacin registrada no est vigente. El bibliotecario primero debe modificar la
informacin del usuario para que permanezca actualizada.
tem 4: Se ingresa un cdigo inexistente, El sistema indica error y queda a la espera de
cancelacin del Bibliotecario o ingreso de un nuevo cdigo.
tem 5: Si el bibliotecario desea cambiar la fecha de devolucin que el sistema genera, puede
hacer el cambio.
: Bibliotecario.
Propsito
Tipo
: Primario y esencial.
Referencias cruzadas
: Requerimiento R13
Descripcin
El bibliotecario, una vez que recibe una peticin de prstamo por parte del seminarista, lo
ingresa al sistema identificndolo con su RUT. Luego, el seminarista le indica el cdigo de
clasificacin del libro o revista, para que este lo busque en los estantes y lo registre con el
cdigo de barras, y as registrar el prstamo. Los prestamos de los libros sern segn
correspondan a los siguientes criterios:
- Libro de referencia (Libros ms solicitados): 1 da de prstamo.
- Libro de No referencia: 1 mes de prstamo.
- Revista: 1 da de prstamo.
Es importante mencionar que todo prstamo debe quedar con la opcin de cambiar la fecha
de devolucin, segn el criterio del bibliotecario.
de
uso
cuando
el
CURSOS ALTERNOS
tem 1: Ingreso del RUT errneo o inexistente, El sistema indica error y muestra nuevamente la
opcin de ingresar el RUT del seminarista.
tem 2: La verificacin indica que el usuario no puede realizar prstamo, Se cancela el prstamo
en curso y se indica la fecha en que el usuario estar en condicin regular.
tem 3: Se ingresa cdigo inexistente, El sistema indica error, queda a la espera de otro cdigo
tem 4: Si el bibliotecario desea cambiar la fecha de devolucin que el sistema genera, puede
hacer el cambio.
: Bibliotecario.
Propsito
Tipo
: Primario y esencial.
Referencias cruzadas
: Requerimiento R14
Descripcin
Para concretar una devolucin, se debe ingresar el cdigo del libro, y en caso de que el libro
se entregue fuera de la fecha establecida, el usuario vinculado al libro quedar suspendido de
realizar prstamos por los das equivalentes a los das de atraso, es decir, por cada da de
atraso se suspende un da de la posibilidad de realizar prestamos. La suspensin del usuario
se manifestar por el estado en que se mantendr, INACTIVO.
de
uso
cuando
el
CURSOS ALTERNOS
tem 1: Se ingresa un cdigo que no pertenece a un prstamo. Se indica error, y se cancela el
proceso.
tem 2: El libro devuelto se entrega fuera del plazo de entrega. Se indica error y se genera
sancin de acuerdo a los das de atraso indicando en pantalla.
: Seminarista, Bibliotecario.
Propsito
Tipo
: Secundario y esencial.
Referencias cruzadas
: Requerimiento R13.
Descripcin
Un usuario puede revisar todos los prstamos que ha realizado en la biblioteca, adems de
aparecer el listado de libros o revistas que pertenecen a los prstamos, aparecern todas las
suspensiones asociadas.
Un bibliotecario tambin puede revisar el historial de un usuario, cuando est actualizando
sus datos.
de
uso
cuando
el
CURSOS ALTERNOS
tem 3: El usuario no posee prstamos histricos. Indica que no posee prstamos histricos.
: Seminarista, Bibliotecario.
Propsito
Tipo
: Secundario y esencial.
Referencias cruzadas
: Requerimiento R13.
Descripcin
Un usuario puede revisar todos los prstamos vigentes que mantiene en la biblioteca. Estos
aparecern en una lista indicando la fecha de prstamo y la fecha tope en que debera ser
devuelto el material.
Un bibliotecario tambin puede revisar los prstamos vigentes de un usuario, cuando est
actualizando sus datos.
de
uso
cuando
el
vigentes,
en
el
caso
del
CURSOS ALTERNOS
tem 3: El usuario no posee prstamos vigentes. Indica que no posee prstamos vigentes.
MODELO CONCEPTUAL
Prestamo
Catlogo libros y
revistas::RegistroMate
1
0..*
rial
+Registro: Integer
+Registro
+FechaRegistro: Fecha
+Tipo: String
+FechaPrestamo: Fecha
+FechaDevolucion: Fecha
+FechaRealDevolucion:
Fecha
+EstadoPrestamo: String
Atras
o
PrestamoNorm
al
0..*
0..*
Administracin de
usuarios::Biblioteca
rio
1
+FechaNacimiento:
Fecha
+Bibliotecario
PrestamoEspecial
+Sancion:
Fecha
+Estado:
String
1 0..*
1
+Seminarista
Administracin
de
usuarios::Seminari
sta
+Ao ingreso: Integer
+FechaNacimiento:
Fecha
1
0..1
0..1
AtrasoNormal
AtrasoEspecial
+UsuarioEspecial
Administracin de
usuarios::UsuarioEspe
cial
+LugarDeTrabajo: String
Publicaciones digitales
Administra
r
documento
s digitales
Busqueda
documento
s digitales
Seminarista
Descargar
documento
s digitales
eliminar
archivo
y modificar
propiedades.
Luego
se aprecia BSQUEDA
: Seminarista.
Propsito
Tipo
: Secundario y esencial.
Referencias cruzadas
: Requerimiento R22.
Descripcin
la
que
desea
para
agregar archivo.
- Eliminar archivo: Deriva a la seccin
eliminar archivo
- Modificar propiedades: Deriva a la
seccin Modificar propiedades.
CURSOS ALTERNOS
Un seminarista, puede almacenar en su cuenta archivos de texto para que estos sean
visualizados por los dems usuarios. El Seminarista debe examinar en el computador el
archivo a subir o indicar la ruta, para posteriormente indicarle un titulo y una descripcin que
sern enviadas al sistema para vincularlas a la cuenta.
INFORMACIN ARCHIVO: Titulo del archivo / Descripcin del archivo
CURSOS ALTERNOS
CURSOS ALTERNOS
la
informacin
que
estime
CURSOS ALTERNOS
: Seminarista.
Propsito
Tipo
: Secundario y esencial.
Referencias cruzadas
: Requerimiento R23
Descripcin
de
uso
cuando
el
CURSOS ALTERNOS
tem 2: El archivo que se escoge en pantalla est daado o no existe. Se indica error y se cancela
el proceso.
: Seminarista.
Propsito
Tipo
: Secundario y esencial.
Referencias cruzadas
Descripcin
de
uso
selecciona
el
cuando
criterio
el
de
los
links
de
los
archivos
CURSOS ALTERNOS
tem 1: Enva formulario sin escribir nada. Indica error.
tem 3: No se encuentran coincidencias, se indica que no hubo xito en la bsqueda.
MODELO CONCEPTUAL
DocumentoDigital
+Titulo: String
+Descripcion: String
+Ubicacion: String
+Extension: String
+FechaSubido: Fecha
+Tamao: Integer
+Pertenece
0..*
Administracin
de
usuarios::Seminari
+Ao ingreso: Integer
+FechaNacimiento:
Fecha
Sistema de
mensajeria
Bibliotecario
<<extend>
Eliminar >
Mensajes
Visualiza
r
mensaje
s
Envia
r
Mensaje
s
Seminarista
: Seminarista, Bibliotecario.
Propsito
Tipo
: Secundario y esencial.
Referencias cruzadas
: Requerimiento R20.
Descripcin
En caso que un seminarista o bibliotecario desee revisar si le han enviado mensajes, debe ver
en su cuenta, en la cual aparecern todos los mensajes incluyendo los que ya han sido vistos.
El usuario primero debe seleccionar el mensaje que desea ver, ya que aparecer una lista con
los asuntos, el emisor, y la fecha de emisin, para luego tener acceso al cuerpo del mensaje.
de
uso
cuando
el
CURSOS ALTERNOS
: Seminarista, Bibliotecario.
Propsito
Tipo
: Secundario y esencial.
Referencias cruzadas
: Requerimiento R20.
Descripcin
Un usuario si lo desea, puede eliminar un mensaje de su cuenta, ya sea para liberar espacio o
para tener los mensajes de forma ms ordenada. El mensaje a eliminar primero debe ser
seleccionado, luego el sistema preguntar al usuario si est seguro de la eliminacin y una
vez que el usuario de una respuesta positiva, el sistema eliminara el mensaje.
de
uso
cuando
el
CURSOS ALTERNOS
tem 3: Responde negativamente, el sistema cancela la eliminacin.
: Seminarista, Bibliotecario.
Propsito
: Enviar un mensaje.
Tipo
: Secundario y esencial.
Referencias cruzadas
: Requerimiento R20.
Descripcin
Un usuario puede enviar un mensaje a otro usuario, a un curso o a todos los usuarios de la
biblioteca. Los cursos se mencionan a continuacin:
CURSOS: Propedutico / 2 Filosofa / 3 Filosofa / 1 Teologa / 2 Teologa / 3 Teologa
/ 4 Teologa.
El usuario primero debe ingresar el o los destinatarios, escribir un asunto, luego escribir el
cuerpo del mansaje y enviar el mensaje.
da
uso
cuando
el
CURSOS ALTERNOS
tem 4: No ha seleccionado destinatarios, asunto o cuerpo del mensaje. Indica error y en caso de
que existan destinatarios da posibilidad de enviar de todas formas.
MODELO CONCEPTUAL
Administracin de
usuarios::Seminari
sta
Administracin de
usuarios::Biblioteca
rio
+FechaNacimiento:
Fecha
0..1
+RecibeB
0..1
+EmiteB
0..*
+Asunto: String
+Cuerpo: String
+FechaEmision:
Fecha
+Leido: Boolean
0..*
0..1
+Recibe
S
Recomendacin de bsqueda
Ver
recomendaci
n
Seminarista
Retroaliment
ar
recomendaci
n
arroja
el
sistema,
para
ello
cada
seminarista
puede
RETROALIMENTAR
RECOMENDACIN para que la experiencia de leer un material sea de utilidad para otros.
: Seminarista.
Propsito
Tipo
: Secundario y esencial
Referencias cruzadas
: Requerimiento R18.
Descripcin
Un seminarista, cuando est buscando un libro en el sistema, aparecer una lista con todo el
material que ha coincidido con la bsqueda, pero cada material estar asociado a un
promedio (1 a 10) y adems el usuario podr apreciar los comentarios que han escrito sus
pares que ya han ledo el libro, las opiniones estarn ordenadas por fecha, de la ms reciente
a la menos reciente, pero al comienzo aparecer el comentario del usuario que puso la mejor
y peor nota.
de
uso
cuando
el
CURSOS ALTERNOS
tem 1: No existen promedios asociados. Solo muestra informacin del libro.
: Seminarista.
Propsito
: Retroalimentar recomendaciones.
Tipo
: Secundario y esencial.
Referencias cruzadas
: Requerimiento R20.
Descripcin
Cuando un seminarista ha ledo un libro, es muy recomendable que este deje su opinin y
una nota hacia el material (de 1 a 10) para que otros usuarios puedan apreciarla.
Esta recomendacin puede realizarse desde la cuenta de cada seminarista, en donde aparece
el historial de los prestamos que ha realizado, por cada prstamo el seminarista puede realizar
slo una recomendacin y no puede recomendar un libro si han pasado 30 das desde que ha
realizado el prstamo.
de
uso
comienza
cuando
el
una
correspondiente.
nota
el
comentario
CURSOS ALTERNOS
tem 3: El seminarista no escribe nota o comentario. Sistema indica permitiendo la continuacin
de este en caso que falte el comentario.
MODELO CONCEPTUAL
Catlogo libros
y
revistas::Libro
Administracin de
usuarios::Seminari
sta
+Ao ingreso: Integer
+FechaNacimiento:
Fecha
1
+Seminarista
0..*
0..*
Recomacion
+Titulo: String
+PaisEdicion: String
+CiudadEdicion: String
+AnoPublicacion: Integer
+CantPaginas: Integer
+Libro +Ancho: Integer
+Largo: Integer
1
+ISBN: String
+Indice: String
+Edicion: String
+Volumen: String
+Tomo: String
+Fecha: String
+Comentario: String
+Nota: Integer
+Clasificacion: String
+AutorPrin: Autor
+MasAut: Boolean
+Notas: String
ANEXO 3
DOCUMENTO DE APOYO DB4O
INTRODUCCIN
El presente documento de apoyo, intentar apoyar la decisin de implementar el proyecto
Sistema Orientado a Objetos para Biblioteca del Seminario Metropolitano Concepcin con el
motor de base de datos orientado a objetos Db4o. Adems se dar nfasis en cul es la
importancia de realizar el proyecto con una base de datos con tecnologa a objetos.
BD ORIENTADA A OBJETOS.
Una base de datos tradicional solo almacena datos, sin procesarlos, de modo que resulten
independientes de los procedimientos. Los datos son accesibles a diferentes usuarios, con
diversos propsitos. Por lo contrario, una base de datos orientada a objetos almacena objetos
junto con los mtodos propios de su comportamiento.
DE RELACIONAL A OBJETOS
8
Figura 60: Forma en que se guardan los objetos en una base de datos relacional
Por lo contrario, una base de datos orientada a objetos toma cada objeto y lo guarda con su estado
actual (Figura 61), sin importar lo complejo que ste sea, encontrando la persistencia ideal
cuando se necesita una base de datos transparente y fcil de utilizar. Esto hace que se pueda
incorporar rpidamente en un proyecto sin sacrificar desempeo (Lavintman, y otros, 2007).
Es la capacidad que tienen los objetos de conservar su estado e identidad entre distintas ejecuciones del programa
que los cre o de otros programas que accedan a ellos.
Figura 61: Forma en que se guardan los Objetos en una base de datos Orientada a Objetos
tecnologa de objetos:
Polimorfismo: permite a los objetos responder de forma distinta a un mismo mensaje (por
ejemplo implementando un mtodo de otra manera). Se soportan distintas versiones de
los objetos. (Viscuso, 2007)
QUE ES Db4o
DB4o es un novedoso motor de base de datos orientada a objetos. Sus siglas corresponden a la
expresin "DataBase 4 (for) Objects", que a su vez es el nombre de la compaa que lo
desarrolla: db4objects, Inc.
DB4o es una solucin de persistencia ideal cuando se necesita una base transparente y fcil de
utilizar, para incorporar rpidamente en un proyecto Java o .NET sin sacrificar desempeo. Logra
acortar los tiempos de entrega de nuestras aplicaciones de forma significativa, ya que permite
concentrarnos directamente en el dominio del problema (nuestros objetos). Adems, ofrece
caractersticas avanzadas, como soporte transparente a cambios en las versiones de los objetos
(evolucin del esquema), cero administracin (no requiere DBA) y consultas nativas.
(Lavintman, y otros, 2007)
El motor de la base de datos de db4o consiste en un solo archivo .jar. Esto es todo lo
que usted tiene para programar.
INSTALACIN
Es necesario mencionar que la base de datos Db4o est creada para los lenguajes de
programacin JAVA y .NET, en este caso la instalacin estar definida solo para JAVA.
La instalacin de Db4o es extremadamente sencilla, este motor es un archivo .jar, es decir, una
librera de Java, por lo que es necesario agregarla al CLASSPATH o simplemente al trabajar un
proyecto asignarla como librera.
CARACTERSTICAS DE DB40
El motor de base de objetos Db4o permite cubrir (y exceder) los siguientes requerimientos.
Consumo mnimo de recursos: db4o est diseado para ser embebido en clientes u otros
componentes de software, de manera totalmente invisible para el usuario final. Es por eso que
viene como una librera fcil de incorporar, con un tamao que ronda los 400 Kb. Como el motor
corre en el mismo proceso de la aplicacin, el usuario cuenta con control completo sobre la
9
10
del desempeo
sobre todo el sistema. Si la aplicacin est corriendo, la base tambin lo est, sin excepcin. Y
an ms importante, db4o es extremadamente flexible a la hora de actualizar una base existente
con un modelo de objetos que ha cambiado. Siempre asume que no hay un administrador de base
de datos y, por lo tanto, permite a la aplicacin cambiar del modelo viejo al modelo nuevo de
modo transparente.
Alto rendimiento: El rendimiento de db4o es equiparable al de los mejores sistemas de bases de
datos tradicionales. Los benchmarks que se muestran a continuacin indican el desempeo de
db4o comparado con el de una base de datos SQL corriendo en una mquina de escritorio:
Tabla 1: Tabla que muestra el desempeo de db4o comparado con el de una base de datos SQL
de escritorio
10
Fcil implementacin: Slo hay que agregar la librera nica de db4o (.jar o .dll) al entorno de
desarrollo, abrir el archivo de base de datos y almacenar cualquier objeto (sin importar su
complejidad) con una sola lnea de cdigo. Por ejemplo, en Java:
public void guardar(Objeto obj){
ObjectContainer db = Db4o.openFile(Objetos.yap);
db.set(obj);
db.commit();
db.close();
}
Esta facilidad de uso sin precedentes se traduce en una reduccin drstica de los tiempos de
desarrollo. Se elimina efectivamente todo el trabajo de disear, implementar y mantener el
esquema de base de datos, ya que el propio modelo de objetos conforma este esquema.
Portabilidad: Pocas bases de datos embebibles corren de manera nativa en tantas plataformas
orientadas a objetos como db4o. sta permite desarrollar aplicaciones para desplegar en varias
plataformas (por ejemplo, en PDAs) o en combinaciones heterogneas de clientes Windows y
servidores Java. Este motor soporta desde el JDK 1.1.x de Java hasta el 5.0, y es soportado en
Java EE y Java SE.
Tambin es compatible con todas las plataformas .NET, el Compact Framework y Mono;
y soporta todos los lenguajes .NET administrados, como C#, VB.NET, ASP.NET, Boo y
Managed C++.
11
Confiabilidad: Finalmente, db4o soporta todas las caractersticas ACID . Mltiples usuarios
simultneos de una base db4o son efectivamente aislados, y sus operaciones son serializadas de
forma transparente por la librera. Las transacciones se terminan con los mtodos commit() y
rollback() de la clase ObjectContainer. Y en caso de que el sistema se caiga durante una
actualizacin de la base de datos, cuando el ObjectContainer de db4o es reabierto, se completan
de forma correcta todas las transacciones interrumpidas. (Lavintman, y otros, 2007)
ALGUNOS EJEMPLOS.
Ya se mencion que el motor de base de datos es una librera .jar, y la base de datos es un archivo
que tiene extensin .yap, tomemos por ejemplo una base de datos de nombre based.yap. En
ella se almacenaran todos los objetos que necesiten de persistencia.
ObjectContainer db=Db4o.openFile(based.yap) ;
try{
}
finally{
db.close() ;
}
Para cerrar la base de datos se utiliz el mtodo db.close(). El objeto db de tipo ObjectContainer
contiene el archivo based.yap que fue abierto por el mtodo Db4o.openFile().
Para guardar un objeto primero se necesita que la base de datos se encuentre abierta. En el
siguiente ejemplo se tomar el Objeto obj que ser guardado con el mtodo db.set().
Objeto obj=new Objeto() ;
Db.set(obj) ;
Para recuperar objetos, se debe crear un objeto con las propiedades por defecto y aquellas que
queremos que sean idnticas se deben ingresar con sus respectivos mtodos o mediante el
constructor, por ejemplo, si se quiere recuperar objetos personas que contengan como nombre
Alejandro, se debe ingresar slo aquel atributo, pero los dems se deben dejar por defecto. Para
recuperar todos los objetos de nombre Alejandro se utiliza el mtodo db.get().
Persona obj = new Persona("Alejandro", null, nulll);
ObjectSet result=db.get(obj) ;
11
While(result.hasNext())
{ System.out.println(result.next()
);
}
Al recuperar objetos se almacenan en un objeto de tipo ObjectSet los que pueden ser manipulados
por sus mtodos, consideremos el objeto result de tipo ObjectSet, utilizamos el mtodo
result.hasNext() que comprueba si existe otro objeto o no, con resultNext() extraemos el siguiente
objeto que se recupera.
CONCLUSIN
Db4o es la base de datos de cdigo libre ideal para el proyecto Sistema orientado a Objetos para
Biblioteca del Seminario Metropolitano Concepcin, ya que contiene las propiedades de la
Tecnologa Orientada a Objetos, que es lo que busca el proyecto. Adems, es una base de datos
que cumple con los requerimientos de ser bajo en consumo de recursos y poseer un alto
rendimiento. En definitiva, con Db4o logramos lo que estamos buscando, PERSISTENCIA.
BIBLIOGRAFA
Lavintman, Alan y Viscuso, German. 2007. db4o: una alternativa a la persistencia . s.l. :
www.db4o.com, 2007.
Martin, James y Odell, James. 1994. Analisis y diseo orientado a objetos. s.l. : Prentice Hall,
1994.
Viscuso, German. 2007. Bases de Objetos. s.l. : www.db4o.com, 2007.
ANEXO 4
DOCUMENTO DE APOYO JSP
INTRODUCCIN
El presente documento de apoyo, relacionado a la tecnologa JSP, intentar apoyar la decisin de
implementar con JSP el proyecto Sistema Orientado a Objetos para Biblioteca del Seminario
Metropolitano Concepcin. Adems se dar nfasis en dar una definicin clara a JSP con el fin
de controlar de mejor forma esta tecnologa.
QUE ES JSP.
JSP (Java Server Pages) es una Tecnologa Java que permite generar contenido dinmico para
web, en forma de documentos HTML, XML o de otro tipo.
Las JSP's permiten la utilizacin de cdigo Java mediante scripts. Adems es posible utilizar
algunas acciones JSP predefinidas mediante etiquetas. Estas etiquetas pueden ser enriquecidas
mediante la utilizacin de Libreras de Etiquetas (TagLibs o Tag Libraries) externas e incluso
personalizadas.
Tecnologa JAVA.
La tecnologa Java se cre como una herramienta de programacin en una pequea operacin
secreta y annima denominada "the Green Project" en Sun Microsystems en el ao 1991.
El lenguaje de programacin Java ha sido totalmente mejorado, ampliado y probado por una
comunidad activa de unos cuatro millones de desarrolladores de software.
La tecnologa Java, una tecnologa madura, extremadamente eficaz y sorprendentemente verstil,
se ha convertido en un recurso inestimable ya que permite a los desarrolladores:
(Java, 2007)
ARQUITECTURA JSP
Desde el punto de vista de la arquitectura, podramos situar esta tecnologa como una capa
superior a las Servlets dentro de nuestra aplicacin, ya que extiende la Especificacin Servlet 2.1.
Ambas tecnologas fueron desarrolladas originalmente por Sun Microsystem.
El funcionamiento general de la tecnologa JSP es que el Servidor de Aplicaciones interpreta el
cdigo contenido en la pgina JSP para construir un Servlet, cuya salida ser un documento
esttico (tpicamente HTML) que se presentar en la pantalla del Navegador del usuario.
Que es un SERVLET
Los Servlets son componentes del servidor. Estos componentes pueden ser ejecutados en
cualquier plataforma o en cualquier servidor, debido a la tecnologa Java que se usa para
implementarlos. Los Servlets incrementan la funcionalidad de una aplicacin web. Se cargan de
forma dinmica por el entorno de ejecucin Java del servidor cuando se necesitan. Cuando se
recibe una peticin del cliente, el contenedor/servidor web inicia el servlet requerido. El Servlet
procesa la peticin del cliente y enva la respuesta de vuelta al contenedor/servidor, que es
enrutada al cliente (Allamaraju, 2000)
FUNCIONAMIENTO JSP
JSP no se puede considerar un script al 100%, ya que antes de ejecutarse el Servidor de
Aplicaciones compila el contenido del documento JSP (script y etiquetas) y genera una clase
Servlet. Por lo tanto, se puede decir que aunque este proceso sea transparente para el
programador no deja de ser una tecnologa compilada.
La principal ventaja de JSP frente a otros lenguajes, es que permite integrarse con clases Java
(.class), lo que permite separar en niveles las aplicaciones web, almacenando en clases java las
partes que consumen ms recursos (as como las que requieren ms seguridad) y dejando la parte
encargada de formatear el documento HTML en el archivo JSP. La idea fundamental detrs de
este criterio, es el de separar la lgica del negocio de la presentacin de la informacin.
VENTAJAS JSP
El uso de la tecnologa JSP, tiene fuertes ventajas en las aplicaciones Web sobre otras tecnologas
como ASP, PHP, etc. estas se mencionan a continuacin. (Mendez)
TAGS: Los desarrolladores pueden crear nuevos tags y no depender tanto de los scripts.
La ventaja Java: La tecnologa JSP usa Java como lenguaje de Script. Java es un lenguaje
muy potente y escalable que los lenguajes de Script. Las pginas JSP son compilados en
Servlets por lo que actan como una puerta a todos los servicios Java de Servidor y libreras
Java para aplicaciones http. Java hace el trabajo del desarrollador ms fcil p. e. ayuda a
proteger el sistema contra las "cadas, tambin ayuda en el manejo de la memoria protegiendo
contra fallos de memoria y el duro trabajo de buscar los fallos de prdida de punteros de
memoria que pueden hacer mas lento el funcionamiento de una aplicacin.
- Los lenguajes de Script estn bien para pequeas aplicaciones, pero no encajan bien para
aplicaciones grandes.
- Java es un lenguaje estructurado y es ms fcil de construir y mantenimientos grandes
como aplicaciones modulares.
- La tecnologa JSP hace mayor nfasis en los componentes que en los Scripts, esto hace
que sea ms fcil revisar el contenido sin que afecte a la lgica o revisar la lgica sin
cambiar el contenido.
CONCLUSIN
Al indagar en el uso de JSP para el proyecto en cuestin, podemos afirmar que el uso de esta
tecnologa nos permite manipular las clases del Lenguaje Orientado a Objetos (JAVA). Por lo
tanto, el ncleo del sistema o la parte ms importante que requiere de un diseo acabado por la
complejidad puede ser implementada en JAVA y por otra parte la interfaz con el usuario la
podemos manejar con JSP. Adems, JSP provee fuertes ventajas sobre otras tecnologas de
programacin Web, por lo que el uso de ella es apropiada para este proyecto, cabe recordar que lo
que se busca es el manejo de la Tecnologa Orientada a Objetos al 100%.
En efecto, el uso de una base de datos orientada a objetos es mejor que interacte directamente
con un lenguaje de programacin que se caracterice por ser orientado a objetos. JAVA es una
tecnologa apropiada, por lo tanto el uso de Java Server Pages nos permitir tener una interfaz
Web apropiada con el usuario.
BIBLIOGRAFA
Allamaraju. 2000. Professional Java Server Programming J2EE Edition. s.l. : Wrox Press,
2000.}
Java.
2007.
Java.
[En
lnea]
2007.
[Citado
el:
30
de
Julio
de
2007.]
el: 1
de
Agosto
de
2007.]
http://www.java.com/es/about/.
Mendez,
Natxo.
DesarrolloWeb.
[En
lnea]
http://www.desarrolloweb.com/articulos/832.php.
[Citado
ANEXO 5
DOCUMENTO DE APOYO NETBEANS
INTRODUCCIN
El presente documento de apoyo, intentar apoyar la decisin de implementar el proyecto
Sistema Orientado a Objetos para Biblioteca del Seminario Metropolitano Concepcin con la
herramienta de desarrollo para aplicaciones NetBeans.
QUE ES NETBEANS.
NetBeans es un proyecto de cdigo abierto de gran xito con una gran base de usuarios, una
comunidad en constante crecimiento. Sun MicroSystems fund el proyecto de cdigo abierto
NetBeans en junio 2000 y contina siendo el patrocinador principal de los proyectos.
El NetBeans IDE es un entorno de desarrollo - una herramienta para programadores pensada para
escribir, compilar, depurar y ejecutar programas. Est escrito en Java - pero puede servir para
cualquier otro lenguaje de programacin. Existe adems un nmero importante de mdulos para
extender el IDE NetBeans. El IDE NetBeans es un producto libre y gratuito sin restricciones de
uso. (NetBeans)
HISTORIA
NetBeans comenz como un proyecto estudiantil en Repblica Checa (originalmente llamado
Xelfi), en 1996 bajo la tutora de la Facultad de Matemticas y Fsica en la Universidad de
Charles en Praga. La meta era escribir un entorno integrado de desarrollo (IDE) para Java
parecida a la de Delphi. Xelfi fue el primer entorno integrado de desarrollo escrito en Java, con su
primer pre-release en 1997.
Xelfi fue un proyecto divertido para trabajar, ya que las IDEs escritas en Java eran un territorio
desconocido en esa poca. El proyecto atrajo suficiente inters, por lo que los estudiantes,
despus de graduarse, decidieron que lo podan convertir en un proyecto comercial. Prestando
espacios web de amigos y familiares, formaron una compaa alrededor de esto. Casi todos ellos
siguen trabajando en NetBeans. (Wikipedia)
PLATAFORMA NETBEANS
Durante el desarrollo del NetBeans IDE ocurri una cosa interesante. La gente empez a
construir aplicaciones usando el NetBeans core runtime con sus propios plug-ins, de hecho, esto
se convirti en un mercado bastante grande.
La Plataforma NetBeans es una base modular y extensible usada como una estructura de
integracin para crear aplicaciones de escritorio grandes. Empresas independientes asociadas,
especializadas en desarrollo de software, proporcionan extensiones adicionales que se integran
fcilmente en la plataforma y que pueden tambin utilizarse para desarrollar sus propias
herramientas y soluciones.
El editor: Disponible como una extensin de la plataforma, las aplicaciones generadas con
NetBeans pueden usar el Editor de NetBeans, un conjunto de herramientas avanzadas y
extensibles para generar editores personalizados.
INSTALACIN
EN WINDOWS
1. Despus de haber bajado el instalador, dar doble clic sobre el icono para iniciar el instalador.
2. Despus aparecer el Acuerdo de Licenciamiento (License Agreement), acptelo y de clic en
Siguiente (Next).
3. Especificar un directorio vaco donde instalar Netbeans IDE 5.5. Dar clic en Siguiente (Next).
4. Selecciones el JDK que se quiere usar junto con el NetBeans IDE de la lista de seleccin si
hay ms de uno. Dar clic en Siguiente (Next).
5. Verifique que el directorio de instalacin es el correcto y que se cuenta con espacio suficiente
en el sistema para la instalacin.
6. De clic en Siguiente (Next) para iniciar la instalacin. (Wikipedia)
EN LINUX
1. Navegue hacia el directorio que contiene el instalador.
2. Si es necesario, cambie los permisos del instalador para hacerlo ejecutable escribiendo lo
siguiente en la lnea de comando (netbeans_installer es el nombre del instalador de NetBeans
que se baj): $ chmod +x netbeans_installer
3. Ejecute el instalador escribiendo lo siguiente en la lnea de comando (De nuevo,
netbeans_installer es el nombre del instalador de NetBeans que se baj)): $
./netbeans_installer
4. Despus aparecer el Acuerdo de Licenciamiento (License Agreement), acptelo y de clic en
Siguiente (Next).
5. Especificar un directorio vaco donde instalar Netbeans IDE 5.5. Dar clic en Siguiente (Next).
6. Selecciones el JDK que se quiere usar junto con el NetBeans IDE de la lista de seleccin si
hay ms de uno. Dar clic en Siguiente (Next).
7. Verifique que el directorio de instalacin es el correcto y que se cuenta con espacio suficiente
en el sistema para la instalacin.
8. De clic en Siguiente (Next) para iniciar la instalacin. (Wikipedia)
CONCLUSIN
NetBeans es la herramienta que se necesita para desarrollar el proyecto Sistema Orientado a
Objetos para Seminario Metropolitano Concepcin, por sus variadas funcionalidades y ventajas
como por ejemplo la gran cantidad de componentes que incluye, la facilidad de uso y el soporte
de la tecnologa JAVA en su totalidad (editor, compilacin, edicin grafica) adems de
proporcionar el soporte a JSP. En definitiva sta herramienta es apropiada para la programacin
Orientada a Objetos que es lo que busca el proyecto.
BIBLIOGRAFA
NetBeans.
NetBeans.
[En
lnea]
[Citado
el:
18
de
Agosto
de
2007.]
de
2007.]
de
2007.]
http://www.netbeans.org/index_es.html.
Sun.
Sun
Microsystems.
[En
lnea]
[Citado
el:
18
de
Agosto
http://www.sun.com/emrkt/innercircle/newsletter/spain/0207spain_feature.html.
Wikipedia.
Wikipedia.
[En
lnea]
[Citado
http://es.wikipedia.org/wiki/NetBeans#NetBeans_IDE.
el:
17
de
Agosto