Apuntes de Laboratorio de Aplicaciones de Redes
(Network Applications Lab Course Material)


Sistema de Prestamo Bibliotecario
  • Idea: Desarrollar un sistema de consulta y prestamo de libros utilizando paginas web interactivas y acceso a base de datos SQL en UNIX.
  • Se debe ocupar lenguaje HTML (paginas web estandar, misma interpretacion Netscape e IE), lenguaje C (para CGI), Base de Datos (mysql), Makefile (para compilaciones), UNIX (maquina elqui.dcsc.utfsm.cl)
  • Caracteristicas Principales:
    • Deben existir 2 usuarios (sistema htaccess)
      • "admin" (con password): realiza todas las operaciones posibles.
      • "biblio" (con password): usuario que realiza el prestamo de libros a los alumnos.
    • La consulta es de libre acceso
    • Se recomienda crear 4 tablas: Libros, Alumnos, Prestamos y Multas. Solo las 2 ultimas son modificables por "biblio".
    • Tabla Libro: Titulo(30), Autor(30), Ano de publicacion(4), edicion(2), Categoria(2), Categoria2(2), Editorial(20), ISBN(20), USM-ID(10).
    • Categorias: 1=Arte y Humanidades, 2=Economia y Negocios, 3=Computacion e Internet, 4=Educaction, 5=Entretencion, 6=Gobierno y Leyes, 7=Salud, 8=Noticias, 9=Deporte, 10=Geografia, 11=Ciencias, 12=Ciencias Sociales, 13=Sociedad y Cultura
    • Tabla Alumno: Apellido, Nombre, RUT (sin digito verificador), ROL USM, Domicilio, telefono1, telefono2.
    • Tabla Prestamo: USM-ID, RUT, fecha prestamo, fecha retorno
    • Tabla Multa: RUT, USM-ID, multa (en pesos).
    • Busqueda (Consulta): por todos los campos. Uso del wildcard "*". (Nota:busqueda por "tele" es distinto que por "tele*"). Puntaje adicional por "opcion" case sensitive.
    • NOTA: Tomar en cuenta que el sistema es multisesion!
    • En el momento en que el alumno retorna un libro, se calcula la multa, que podra ser cancelada en ese momento o cuando pida otro libro.
    • Un alumno solo podra pedir libros (maximo 3) por un maximo de 2 dias c/u, si y solo si, no posee multa (o deuda).
    • El Programa debe tener 3 secciones:
      • Libros:
        • Ingresar, Editar, Borrar            --> admin
        • Listar, Buscar por diversos campos (indicando si estan o no prestados) --> todos
      • Estudiantes:
        • Ingresar, Editar, Borrar            --> admin
        • Listar, Buscar por diversos campos (indicando si poseen deuda)   --> admin, biblio
      • Prestamos:
        • Ingresar, Editar, Borrar            --> admin, biblio
        • Listar y Buscar
          • los deudores                    --> admin, biblio
          • por fecha de entrega (hoy, manana, por dia)        --> todos
          • alumnos por RUT            --> admin, biblio
          • libros por USM-ID            --> todos
    • Se evaluara la facilidad que el programa provee al usuario "admin" y "biblio" cuando estos deben realizar tareas repetitivas.
  • Confeccion de Informes:
    • Leer "Pauta Conceptual para confeccion de Informes"
    • Informe Previo debe contener como minimo:
      • Resumen
      • Diagrama de Flujo (no de bloques)
      • Diseno de la Base de Datos (tablas, primary key, campos, largos, etc.) de acuerdo a las 3 formas normales.
      • Explicacion de cada programa CGI a desarrollar indicando parametros de entrada y cuales seran los comandos SQL usados (select, union, divide, etc.)
      • Funcionalidades adicionales incorporadas
      • Diseno de las paginas web (bosquejo)
      • Organizacion de la informacion en la pagina web (800x600)
      • Tiempo estimado de desarrollo
      • Bibliografia
    • Informe Final debe contener como minimo:
      • Resumen (indicar ubicacion de paginas y password de "admin" y "biblio")
      • Diagrama de Flujo Final
      • Explicacion de cada programa CGI a desarrollar indicando parametros de entrada
      • Metodo de Resolucion de la multisesion
      • Funcionalidades adicionales incorporadas
      • Diseno de las paginas web (bosquejo)
      • Organizacion de la informacion en la pagina web (800x600)
      • Tiempo final de desarrollo
      • Trabajo Futuro
      • Conclusiones y/o Comentarios
      • Bibliografia
      • Anexo 1: Listado comentado del codigo fuente de cada CGI
      • Anexo 2: Listado del Makefile ocupado.
  • Plazos:
    • Informe Previo: Miercoles 12 de Abril
    • Sesiones obligatorias: Miercoles 12/Abril, 19/Abril, 26/Abril y 3/Mayo
    • Informe Final: Lunes 8 de Mayo
  • Evaluacion:
    • Informe Previo:
      • Resumen, Objetivos y Bibliografia (15)
      • Completitud y Autocontenido (15)
      • Diagrama de Flujo (o en Bloques, segun corresponda) (10)
      • Redaccion, Ortografia y Presentacion (10)
      • Claridad Conceptual, Explicaciones y Desarrollo (40)
      • Imagenes (Pantallas), Distribucion del Espacio (10)
    • Informe Final:
      • Resumen, Conclusiones y Bibliografia (15)
      • Completitud y Autocontenido (15)
      • Diagrama de Flujo (o en Bloques, segun corresponda) (10)
      • Redaccion, Ortografia y Presentacion (10)
      • Claridad Conceptual, Explicaciones y Desarrollo (40)
      • Imagenes (Pantallas), Distribucion del Espacio (10)
    • Programa:
      • Presentacion (15)
      • Facilidad de uso (15)
      • Funcionalidad (inteligencia, rapidez, Y2K,etc) (50)
      • Codigo Fuente (Programacion, comentarios, modularidad (20)
    • NF = 0.4 IP + 0.6 IF
    • IF = 0.4 I.Escrito + 0.6 Programa
    • -10 puntos por dia de atraso
    • Entrega: Secretaria DCSC. Edificio F2 4to piso. No se aceptan "entregas" por email
    • Se evaluara: Presentacion, Claridad, Lenguaje ocupado, dinamica del Programa, Documentacion en linea, rapidez, entre otros.