You are on page 1of 23

Proyecto: Biblioteca Virtual Básica

Trabajo final de un Curso de PHP

15/04/2009

Augusto Galicia López


Proyecto: Biblioteca Virtual Básica

Contenido
Proyecto: Biblioteca Virtual Básica .............................................................................................................................. 3
Problema hipotético. ........................................................................................................................................... 3
Prototipo. ............................................................................................................................................................. 3
Casos de uso................................................................................................................................................................. 5
Caso de uso (US01): Solicita ingreso o registro a la página web ............................................................................. 5
Caso de uso (US02): Hace consultas en la página web ............................................................................................ 6
Caso de uso (US03): Descarga fichas bibliográficas ................................................................................................. 7
Caso de uso (US04): Solicita compra ....................................................................................................................... 8
Caso de uso (US05): Sale de la página ..................................................................................................................... 9
Caso de uso (AD01): Da de alta registros en la base de datos ............................................................................... 10
Caso de uso (AD02): Da de baja registros de la base de datos .............................................................................. 11
Caso de uso (AD03): Modifica registros de la base de datos ................................................................................. 12
Caso de uso (SI01): Permite ingreso al sistema ..................................................................................................... 13
Caso de uso (SI02): Cierre de sesión ...................................................................................................................... 14
Diagrama de Clases. ................................................................................................................................................... 15
Diagrama de casos de uso.......................................................................................................................................... 15
Resumen de la navegación. ................................................................................................................................... 16
1. Administrador: ................................................................................................................................................... 17
2. Profesor:............................................................................................................................................................. 18
3. Estudiante: ......................................................................................................................................................... 21
Referencias principales: ............................................................................................................................................. 23

2
Proyecto: Biblioteca Virtual Básica

Proyecto: Biblioteca Virtual Básica


Problema hipotético.
Una escuela requiere poner al servicio de su comunidad un servicio básico de biblioteca especializada, para lo cual
necesita diseñar una página web que administre los recursos bibliotecarios que pondrá a disposición de dos tipos
de usuario, profesores y estudiantes. Se cuenta con un acervo de libros debidamente inventariados y registrados
en una base de datos, de donde el sistema de administración de la página web podrá publicar sus existencias y
hacer consultas a través de la red. La implementación y puesta en marcha de este servicio de biblioteca, deberá
tener las siguientes restricciones, una vez que se acceda a la página:

 Los usuarios estudiantes podrán navegar por la información, hacer consultas por cualquiera de los
siguientes campos: autor, título, tema o por alguna combinación de ellos y descargar fichas bibliográficas.
 Los usuarios profesores podrán navegar por la información, hacer consultas por cualquiera de los
siguientes campos: autor, título, tema, no necesariamente en ese orden o por alguna combinación de
ellos, descargar fichas bibliográficas y solicitar la compra de libros.
 Las altas y bajas de usuarios, serán procesadas por el sistema.
 La responsabilidad de ingresar, eliminar o modificar los registros de la base de datos será de un
administrador.
 Cuando los usuarios o el administrador abandonen la página, se terminará oficialmente su sesión de
trabajo.

Se pretende solucionar estas necesidades con la construcción de un sistema de Administración de la Biblioteca


Escolar, a través del paradigma de la POO con PHP.

Requerimientos de Hardware.

Los siguientes requerimientos de hardware, son recomendables con el fin de asegurar un adecuado servicio a la
comunidad escolar.

Red local de Computadoras PC o compatibles con procesador de velocidad mayor a 500 MHz, Memoria RAM 1
MB o mayor, Capacidad de almacenamiento en Disco Duro de 80 GB o mayor, Con dispositivo para escritura y
lectura de unidades removibles, como CDRW o memoria USB.

Prototipo.
El prototipo para el sistema fue desarrollado en localhost para probar y afinar los aspectos más relevantes de
funcionalidad y usabilidad. A continuación se describe el desarrollo:

La implementación del sistema en localhost, tuvo los siguientes requerimientos.

Software:

XAMPP (el servidor Apache y la base de datos MySQL, de preferencia versión 2.5 o posterior)

Mozilla Firefox versión 3.0 o posterior, o Internet Explorer 6.0 o posterior.

3
Proyecto: Biblioteca Virtual Básica

Sistema Operativo Windows XP Service Pack 2, Windows Vista Service Pack 1 o el nuevo Windows 7 (la instalación
se probó en la versión de 32 bits).

Adobe Reader cualquier versión, aunque es preferible la versión 8.0

Hardware:

Computadora PC con disco duro con al menos 1 GB de espacio disponible.

Procedimiento

El proyecto se encuentra en un archivo comprimido .ZIP o .RAR, mismo que contiene los correspondientes
archivos .php, .txt, .pdf, .gif, .jpg, .png necesarios para la instalación. Después de haber instalado y comprobado la
funcionalidad de XAMPP, se creó una base de datos en MySQL, con la herramienta phpMyAdmin con el nombre
basedatos, en la cual se crearon las tablas que se mencionan en los adjuntos del proyecto (se puede solicitar la
carpeta ZIP a la dirección quimicacecsur2008@gmail.com). Después de los preparativos mencionados, se instaló
la carpeta Biblioteca PHP, en el subdirectorio C:\xampp\htdocs\ y se empezó a probar el sistema, para ello, con el
servidor Apache y MySQL funcionando, se abre algún navegador, (Mozilla Firefox, o Internet Explorer) y se teclea
en la barra de direcciones la cadena http://localhost/BibliotecaPHP, con la que el navegador deberá desplegar la
pantalla de ingreso que se muestra en el apartado Resumen de la navegación.

4
Proyecto: Biblioteca Virtual Básica

Casos de uso
Usuario (profesor o estudiante):

Caso de uso (US01): Solicita ingreso o registro a la página web


Caso de uso: Solicita ingreso o registro a la página.
Descripción: Usuario acude al Sistema para solicitar ingreso o registro a la página web
Actor Principal: Usuario
Personal involucrado e intereses:
El sistema funciona cuando un usuario solicita ingreso o registro a la página.
El caso de uso termina con el ingreso del usuario a la página web.
Precondiciones:
Usuario debe solicitar registro en el Sistema.

Garantías de éxito (postcondiciones):


Usuario se ha registrado a la página web.
Escenario principal de éxito (o flujo básico):
1. Usuario trata de acceder a la página web
2. Sistema le solicita su tipo de usuario y clave de acceso
3. En caso de no tenerlos, Sistema le ofrece registro para acceder a la página.
4. Sistema le requiere nombre, correo electrónico, tipo de usuario y clave de acceso.
5. Usuario ingresa nombre, correo electrónico, tipo de usuario y clave de acceso
6. Sistema crea un registro con nombre, tipo de usuario y clave de acceso del usuario y le permite,
al usuario, el acceso a la página.
7. Termina el caso de uso
Extensiones (o flujos alternativos):
1. Usuario no está registrado en el Sistema.
2. Sistema le ofrece registro al usuario.
3. Termina el flujo alternativo
Requisitos especiales:
No aplican.
Lista de tecnología y variaciones de datos:
No aplican.
Frecuencia:
Este caso de uso se empleará permanentemente durante el horario de servicio.
Temas abiertos:
No aplican.

5
Proyecto: Biblioteca Virtual Básica

Caso de uso (US02): Hace consultas en la página web


Caso de uso: Hace consultas en la página web
Descripción: Usuario acude al Sistema para hacer consultas en la página web
Actor Principal: Usuario
Personal involucrado e intereses:
El sistema funciona cuando un usuario, ingresado en la página, solicita hacer consultas en la página.
El caso de uso termina con la petición de consulta del usuario atendida por el sistema a través de la página
web.
Precondiciones:
Usuario debe haber ingresado a la página.
Usuario ha completado con éxito ingreso al sistema.

Garantías de éxito (postcondiciones):


Usuario ha satisfecho su petición de consulta en la página web.
Escenario principal de éxito (o flujo básico):
1. Usuario ha ingresado a la página web
2. Sistema le ofrece los servicios de la biblioteca a través de los campos (Autor, Título o Tema) de un
formulario.
3. Usuario ingresa su petición de consulta, por nombre, autor, tema, o por cualquier combinación
de ellos.
4. En caso de que haya coincidencia de la base con la información solicitada, se le muestra el
resultado en una tabla.
5. Termina el caso de uso
Extensiones (o flujos alternativos):
1. Usuario no hace consultas.
2. Sistema le ofrece a usuario el menú de opciones.
3. Termina el flujo alternativo
Requisitos especiales:
No aplican.
Lista de tecnología y variaciones de datos:
No aplican.
Frecuencia:
Este caso de uso se empleará permanentemente durante el horario de servicio.
Temas abiertos:
No aplican.

6
Proyecto: Biblioteca Virtual Básica

Caso de uso (US03): Descarga fichas bibliográficas


Caso de uso: Descarga fichas bibliográficas
Descripción: Usuario acude al Sistema para descargar fichas bibliográficas de la página web
Actor Principal: Usuario
Personal involucrado e intereses:
El sistema funciona cuando un usuario, ingresado en la página, solicita descargar fichas de la página.
El caso de uso termina con la petición de descargas del usuario atendida por el sistema a través de la
página web.
Precondiciones:
Usuario debe haber ingresado a la página.
Usuario ha completado con éxito ingreso al sistema.

Garantías de éxito (postcondiciones):


Usuario ha satisfecho su petición de consulta en la página web.
Escenario principal de éxito (o flujo básico):
1. Usuario ha ingresado a la página web
2. Sistema le ofrece el servicio de descarga de fichas de la biblioteca a través de los campos (Autor,
Título o Tema) de un formulario.
3. Usuario ingresa su petición de descarga, por nombre, autor, tema, o por cualquier combinación
de ellos.
4. En caso de que haya coincidencia de la base con la información solicitada, se descarga la ficha
solicitada.
5. Termina el caso de uso
Extensiones (o flujos alternativos):
1. Usuario no solicita descargas.
2. Sistema le ofrece a usuario el menú de opciones.
3. Termina el flujo alternativo
Requisitos especiales:
No aplican.
Lista de tecnología y variaciones de datos:
No aplican.
Frecuencia:
Este caso de uso se empleará permanentemente durante el horario de servicio.
Temas abiertos:
No aplican.

7
Proyecto: Biblioteca Virtual Básica

Caso de uso (US04): Solicita compra


Caso de uso: Solicita compra
Descripción: Usuario (profesor) solicita compra para el acervo
Actor Principal: Usuario tipo profesor
Personal involucrado e intereses:
El sistema funciona cuando un usuario con rol de profesor, ingresado en la página, solicita la compra de un
título para el acervo.
El caso de uso termina con el aviso del sistema de que la solicitud ha sido aceptada.
Precondiciones:
Usuario debe haber ingresado a la página.
Usuario ha completado con éxito ingreso al sistema.

Garantías de éxito (postcondiciones):


Usuario ha recibido el aviso de que su solicitud ha sido aceptada.
Escenario principal de éxito (o flujo básico):
1. Usuario ha ingresado a la página web
2. Usuario ingresa datos a un formulario (Título, autor y tema).
3. Usuario solicita la compra.
4. Sistema atiende la petición y agrega los datos a un archivo de texto.
5. Sistema envía un mensaje de aceptación al usuario.
6. Termina el caso de uso
Extensiones (o flujos alternativos):
1. Usuario ingresa datos incompletos.
2. Sistema le vuelve a solicitar los datos al usuario.
3. Termina el flujo alternativo
Requisitos especiales:
No aplican.
Lista de tecnología y variaciones de datos:
No aplican.
Frecuencia:
Este caso de uso se empleará permanentemente durante el horario de servicio.
Temas abiertos:
No aplican.

8
Proyecto: Biblioteca Virtual Básica

Caso de uso (US05): Sale de la página


Caso de uso: Sale de la página web
Descripción: Usuario sale de la página web
Actor Principal: Usuario
Personal involucrado e intereses:
El sistema funciona cuando un usuario, ingresado en la página, solicita la salida de la página.
El caso de uso termina con la salida del usuario de la página web.
Precondiciones:
Usuario debe haber ingresado a la página.
Usuario ha completado con éxito ingreso al sistema.

Garantías de éxito (postcondiciones):


Usuario ha satisfecho su petición de consulta en la página web.
Escenario principal de éxito (o flujo básico):
7. Usuario ha ingresado a la página web
8. Sistema le ofrece la salida a través de un botón.
9. Usuario ingresa su petición de salida.
10. Sistema atiende la petición de salida.
11. Termina el caso de uso
Extensiones (o flujos alternativos):
4. Usuario no solicita salida.
5. Sistema le ofrece a usuario el menú de opciones.
6. Termina el flujo alternativo
Requisitos especiales:
No aplican.
Lista de tecnología y variaciones de datos:
No aplican.
Frecuencia:
Este caso de uso se empleará permanentemente durante el horario de servicio.
Temas abiertos:
No aplican.

9
Proyecto: Biblioteca Virtual Básica

Administrador:

Caso de uso (AD01): Da de alta registros en la base de datos


Caso de uso: Administrador da de alta un registro en la base de datos
Descripción: Administrador realiza trabajos de mantenimiento de la base de datos
Actor Principal: Administrador
Personal involucrado e intereses:
El Administrador procesa y resuelve la conveniencia de agregar registros al sistema.
El caso de uso termina con el ingreso de nuevos registros a la base de datos.
Precondiciones:
El sistema debe tener nuevos registros (solicitudes de compra) por agregar.

Garantías de éxito (postcondiciones):


Los registros obsoletos quedan eliminados de la base de datos.
Escenario principal de éxito (o flujo básico):
1. Administrador efectúa labores rutinarias de mantenimiento de la base de datos
2. Administrador detecta registros pendientes de agregar a la base de datos.
3. Administrador procede a ingresar los registros nuevos.
4. Administrador se asegura que la información quede realmente ingresada.
5. Termina el caso de uso
Extensiones (o flujos alternativos):
1. No aplica
Requisitos especiales:
No aplican.
Lista de tecnología y variaciones de datos:
No aplican.
Frecuencia:
Este caso de uso se empleará permanentemente durante el horario de servicio.
Temas abiertos:
No aplican.

10
Proyecto: Biblioteca Virtual Básica

Caso de uso (AD02): Da de baja registros de la base de datos


Caso de uso: Administrador da de baja un registro en la base de datos
Descripción: Administrador realiza trabajos de mantenimiento de la base de datos
Actor Principal: Administrador
Personal involucrado e intereses:
El Administrador procesa y resuelve la conveniencia de eliminar registros obsoletos.
El caso de uso termina con la eliminación de los registros obsoletos.
Precondiciones:
La base de datos debe contener registros obsoletos.

Garantías de éxito (postcondiciones):


Los registros obsoletos quedan eliminados de la base de datos.
Escenario principal de éxito (o flujo básico):
6. Administrador efectúa labores rutinarias de mantenimiento de la base de datos
7. Administrador detecta registros obsoletos en la base de datos.
8. Administrador procede a eliminar los registros obsoletos.
9. Administrador se asegura que la información sea realmente obsoleta
10. Administrador elimina permanentemente la información del sistema.
11. Termina el caso de uso
Extensiones (o flujos alternativos):
2. No aplica
Requisitos especiales:
No aplican.
Lista de tecnología y variaciones de datos:
No aplican.
Frecuencia:
Este caso de uso se empleará permanentemente durante el horario de servicio.
Temas abiertos:
No aplican.

11
Proyecto: Biblioteca Virtual Básica

Caso de uso (AD03): Modifica registros de la base de datos


Caso de uso: Administrador modifica registros de la base de datos.
Descripción: Administrador realiza trabajos de mantenimiento de la base de datos.
Actor Principal: Administrador
Personal involucrado e intereses:
El Administrador procesa y resuelve la necesidad de modificar registros de la base de datos.
El caso de uso termina con la modificación de los registros de la base de datos.
Precondiciones:
La base de datos debe contener registros pendientes de actualización.

Garantías de éxito (postcondiciones):


Usuario ha sido registrado en la página web.
Escenario principal de éxito (o flujo básico):
1. Administrador accede a la página web.
2. Administrador efectúa labores rutinarias de mantenimiento de la base de datos
3. Administrador detecta registros pendientes de actualizar en la base de datos.
4. Administrador procede a modificar los registros pendientes de actualizar.
5. Administrador se asegura que la información sea realmente la actualizada.
6. Administrador modifica la información del sistema.
7. Termina el caso de uso
Extensiones (o flujos alternativos):
1. No aplica
Requisitos especiales:
No aplican.
Lista de tecnología y variaciones de datos:
No aplican.
Frecuencia:
Este caso de uso se empleará permanentemente durante el horario de servicio.
Temas abiertos:
No aplican.

12
Proyecto: Biblioteca Virtual Básica

Caso de uso (SI01): Permite ingreso al sistema


Caso de uso: Permite ingreso al sistema.
Descripción: Sistema atiende solicitud de un usuario y le permite el ingreso a la página.
Actor Principal: Sistema, usuario
Personal involucrado e intereses:
El usuario solicita el acceso a la página web.
El caso de uso termina con el acceso del usuario a la página web.
Precondiciones:
El usuario debe estar registrado en el sistema.

Garantías de éxito (postcondiciones):


Usuario ha sido registrado en el sistema.
Escenario principal de éxito (o flujo básico):
8. Usuario trata de acceder a la página web.
9. Usuario ingresa su tipo de usuario y su contraseña
10. En caso de que tales datos existan en el sistema, se le permite el acceso al usuario.
11. En caso contrario, se le ofrece registro al usuario.
12. Termina el caso de uso
Extensiones (o flujos alternativos):
2. No aplica
Requisitos especiales:
No aplican.
Lista de tecnología y variaciones de datos:
No aplican.
Frecuencia:
Este caso de uso se empleará permanentemente durante el horario de servicio.
Temas abiertos:
No aplican.

13
Proyecto: Biblioteca Virtual Básica

Caso de uso (SI02): Cierre de sesión


Caso de uso: Cierre de sesión.
Descripción: Sistema atiende solicitud de un usuario y su sesión de la página.
Actor Principal: Sistema, usuario
Personal involucrado e intereses:
El usuario solicita el cierre de sesión a la página web.
El caso de uso termina con la salida del usuario de la página web.
Precondiciones:
El usuario debe estar registrado en el sistema.

Garantías de éxito (postcondiciones):


Usuario ha sido registrado en el sistema.
Escenario principal de éxito (o flujo básico):
13. Usuario solicita el cierre de sesión de la página web.
14. Sistema comprueba que la sesión esté abierta
15. En caso de que la condición exista, se cierra la sesión del usuario.
16. En caso contrario, se le ofrece ingreso al usuario.
17. Termina el caso de uso
Extensiones (o flujos alternativos):
3. No aplica
Requisitos especiales:
No aplican.
Lista de tecnología y variaciones de datos:
No aplican.
Frecuencia:
Este caso de uso se empleará permanentemente durante el horario de servicio.
Temas abiertos:
No aplican.

14
Proyecto: Biblioteca Virtual Básica

Diagrama de Clases.

Diagrama de casos de uso

15
Proyecto: Biblioteca Virtual Básica

Resumen de la navegación.
El inicio de la página es "Index.php", a donde se llega con la dirección:

"http://localhost/BibliotecaPHP".

La pantalla de inicio es la que se muestra a continuación:

Si el visitante desea registrarse, deberá hacer click en el botón etiquetado como “Nuevo usuario”, con lo que se
accede a la pantalla de registro, a través de “NuevoUsuario.php”:

Nota: Por el momento, este registro está a sólo un usuario. Es la parte más débil del proyecto.

El registro se maneja con “RegistroNuevoUsuario.php” y después de registrarse, se le pide al usuario que regrese
a la página principal.

16
Proyecto: Biblioteca Virtual Básica

En caso de que alguno de los datos no sea válido se despliega un mensaje de error y se vuelven a pedir.

Después de pasar la comprobación de datos, por medio de “Comprobar.php”, (tipo de usuario, usuario y clave de
acceso), según el tipo de usuario, el flujo se diversifica en:

1. Administrador:
En el script "Usarbasedatos.php", se ingresa con "localhost", "root" y "password" y se tiene la posibilidad de
acceder a las "Consultas" de MySQL, a través de un "Text Area", que hace las veces de una terminal de comandos.

17
Proyecto: Biblioteca Virtual Básica

Los comandos que se aceptan son aquellos válidos y acordes con el nivel de privilegios de que disponga el
"Administrador" en MySQL. Algunos ejemplos se listan a continuación:

 show databases

 show tables

 select [*][Nombre(s)_de_campo_válido(s)] from Base_de_Datos [where][Campo][…]

 insert into(Nombre(s)_de_campo_válido(s)values(Valores_En_El_Orden_de_los_campos

 delete …

 drop …

Ejemplo de consulta de Administrador:

2. Profesor:
En el script "consultaProfesores.php", se presenta una lista desplegable con las diversas opciones de este usuario.

18
Proyecto: Biblioteca Virtual Básica

Todas Las "Consultas" se gestionan con el script "ConsultaOpcionesProfesores.php", donde el flujo por Autor
conduce a "ConsultaLibrosAutor.php" por medio del cual, se lee la base de datos y en la pantalla se muestra, con
fines didácticos la correspondiente consulta MySQL, así como sus resultados.

Las "Consultas" por Tema se hacen con "ConsultaLibrosTema.php", a través del cual se accede a la base de datos,
nuevamente, en la pantalla se muestra con fines didácticos la correspondiente consulta MySQL.

19
Proyecto: Biblioteca Virtual Básica

Las "Consultas" por Editorial, se gestionan con "ConsultaLibrosEditorial.php", por medio del cual se accede a la
base de datos, también en este caso, en la pantalla se muestra la correspondiente consulta MySQL.

La opción Solicitar Compra se resuelve con "SolicitarCompra.php", este script, genera el archivo de texto
"Compra.txt", en el que se van agregando las peticiones del usuario. También, se muestra con fines didácticos el
contenido del archivo recién escrito.

Finalmente, la opción “Descargar Fichas”, conduce a “ConsultaOpcionesProfesor.php”, en el cual se gestiona una


muestra de la ficha solicitada, descargable en formato PDF

20
Proyecto: Biblioteca Virtual Básica

3. Estudiante:
En "ConsultaOpcionesEstudiante.php", se presenta una lista desplegable con las diversas opciones de este
usuario.

Todas Las "Consultas" se gestionan a través de "ConsultaOpcionesEstudiante.php", a través de dicho código el


flujo por Autor conduce a "ConsultaLibrosAutor.php" por medio del cual, se lee la base de datos y en la pantalla
se muestra, con fines didácticos la correspondiente consulta MySQL, así como sus resultados.

21
Proyecto: Biblioteca Virtual Básica

Las "Consultas" por Tema se hacen con "ConsultaLibrosTema.php", por el cual se accede a la base de datos,
nuevamente, en la pantalla se muestra con fines didácticos la correspondiente consulta MySQL.

Las "Consultas" por Editorial, se hacen utilizando "ConsultaLibrosEditorial.php", por medio del cual se accede a la
base de datos, también en este caso, en la pantalla se muestra la correspondiente consulta MySQL.

22
Proyecto: Biblioteca Virtual Básica

Finalmente, la opción “Descargar Fichas”, conduce a “ConsultaLibros.php”, en el cual se gestiona una muestra de
la ficha solicitada, descargable en formato PDF

Finalmente, las únicas opciones de salida, que se pueden observar en los desplegables de “Consulta de
Profesores” o “Consulta de Estudiantes”, no están implementadas totalmente, pues en el código PHP, solamente
se indica la instrucción exit(), que resulta insuficiente para cualquier aplicación. Por lo tanto, la salida se tiene que
hacer saliendo del navegador, o reingresando a la página de inicio con la dirección del principio:

http://localhost/BibliotecaPHP

Referencias principales:

1. LOPEZ Q. J.; Domine PHP y MySQL; Primera edición; Editorial Alfaomega.


2. MINERA F.; Curso de Programación PHP; Colección Manuales Users;
3. PAVÓN P. J.; Creación de un portal con PHP y MySQL; Tercera edición; Editorial Alfaomega
4. VALADE J.; PHP & MySQL for Dummies ; Second Edition; Wiley Publishing;
5. WELLING L. and THOMSON L; PHP & MySQL Web Development ; Second Edition; Sams
Publishing

23