P. 1
Biblioteca Virtual en PHP

Biblioteca Virtual en PHP

5.0

|Views: 12.706|Likes:
Un ejemplo básico de Biblioteca Virtual desarrollado en PHP.
Un ejemplo básico de Biblioteca Virtual desarrollado en PHP.

More info:

Published by: Augusto Galicia López on May 15, 2010
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

10/14/2014

pdf

text

original

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. 2. 3. 4. 5. LOPEZ Q. J.; Domine PHP y MySQL; Primera edición; Editorial Alfaomega. MINERA F.; Curso de Programación PHP; Colección Manuales Users; PAVÓN P. J.; Creación de un portal con PHP y MySQL; Tercera edición; Editorial Alfaomega VALADE J.; PHP & MySQL for Dummies ; Second Edition; Wiley Publishing; WELLING L. and THOMSON L; PHP & MySQL Web Development ; Second Edition; Sams Publishing

23

You're Reading a Free Preview

Descarga
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->