119
UNIVERSIDAD CARLOS III DE MADRID ESCUELA POLITÉCNICA SUPERIOR Ingeniería técnica de telecomunicación: Telemática PROYECTO FIN DE CARRERA DISEÑO Y DESARROLLO DE UNA APLICACIÓN WEB PARA GESTIÓN DOCENTE Autor: Luis Álvarez Álvarez Tutores: Raúl Arrabales Moreno, Juan M. Alonso Weber Leganés Abril de 2009

PFC Luis Alvarez Alvarez

Embed Size (px)

DESCRIPTION

ninguno

Citation preview

  • UNIVERSIDAD CARLOS III DE MADRIDESCUELA POLITCNICA SUPERIOR

    Ingeniera tcnica de telecomunicacin: TelemticaPROYECTO FIN DE CARRERA

    DISEO Y DESARROLLO DE UNA APLICACIN WEB PARA GESTIN DOCENTE

    Autor: Luis lvarez lvarezTutores: Ral Arrabales Moreno, Juan M. Alonso Weber

    LegansAbril de 2009

  • MOTIVACINDETERMINACIN DEL ALCANCE DEL SISTEMAIDENTIFICACIN DEL ENTORNO TECNOLGICOIDENTIFICACIN DE LOS USUARIOS

    HTML Y JAVASCRIPT J2EETOMCATSTRUTS

    Tiles Validator

    MYSQLHIBERNATELOG4J

    CATLOGO DE REQUISITOSRequisitos de Datos

    REQ.D.001 Informacin sobre AsignaturasREQ.D.002 Informacin sobre AlumnosREQ.D.003 Informacin sobre ProfesoresREQ.D.004 Informacin sobre Administradores

    Requisitos de AplicacinREQ.A.001 Sistema de Cdigo LibreREQ.A.002 Plataforma Hardware

    Requisitos de InterfazREQ.I.001 Diferentes Perfiles de UsuarioREQ.I.002 Inicio de SesinREQ.I.003 Cierre de SesinREQ.I.004 Cliente Web o Browser

    Requisitos FuncionalesREQ.F.001 Creacin de una nueva asignaturaREQ.F.002 Importacin de alumnos de una asignaturaREQ.F.003 Re-Importacin / Importacin parcial de alumnos de una asignaturaREQ.F.004 Creacin de Grupo de Prcticas

    3

    APLICACIN WEB PARA GESTIN DOCENTE ndice

  • REQ.F.005 Modificacin de Grupo de PrcticasREQ.F.006A Insercin de Comentarios para AlumnosREQ.F.006B Insercin de Comentarios para ProfesoresREQ.F.007 Exportacin de Datos / Listados por pantallaREQ.F.008 Activacin de Alumnos

    Requisitos de RendimientoREQ.R.001 Tiempo de RespuestaREQ.R.002 Carga Computacional

    Requisitos de SeguridadREQ.S.001 Registro de AccionesREQ.S.002 Almacenamiento de Contraseas

    CASOS DE USOC.U.001 Autenticar usuarioC.U.002 Creacin de AsignaturaC.U.003 Creacin de Grupo de AsignaturaC.U.004 Creacin de ProfesorC.U.005 Importacin de AlumnosC.U.006 Creacin de Grupo de PrcticasC.U.007 Modificacin de Grupo de PrcticasC.U.008 Exportacin de DatosC.U.009 Activacin de AlumnosC.U.010 Insercin de ComentarioC.U.011 Cerrar sesin

    MODELO DE CLASESDIAGRAMAS DE SECUENCIA E INTERFACES GRFICAS DEL USUARIO

    Escenario PadreEscenario ValidacinEscenario CreacinEscenario ModificacinEscenario InsercinEscenario Exportacin

    MODELO DE DATOS

    DEFINICIN DE LA ARQUITECTURAESPECIFICACIN DE PRODUCTOS Y VERSIONESDISEO DE CLASES

    edu.gesdoc.strutsedu.gesdoc.struts.actionedu.gesdoc.struts.validatoredu.gesdoc.hibernate

    4

    APLICACIN WEB PARA GESTIN DOCENTE

  • edu.gesdoc.hibernate.persistenciaedu.gesdoc.hibernate.gestionedu.gesdoc.utiledu.gesdoc.beanedu.gesdoc.log4jedu.gesdoc.exception

    DISEO DE DATOSDISEO DE INTERFACES GRFICAS

    Generacin del layout general de la capa de presentacinDiseo de la interfaz grfica

    MANUAL DE INSTALACINMANUAL DE USUARIO

    5

    ndice

  • 6APLICACIN WEB PARA GESTIN DOCENTE

  • MOTIVACINEl Departamento de Informtica de la Universidad Carlos III de Madrid necesita una aplicacinweb para la gestin docente que se desarrollar como parte del Proyecto Fin de Carrera delalumno Luis lvarez.En el departamento se valora la necesidad de una aplicacin sencilla y prctica que ayudara ymejorara la gestin de las prcticas de las distintas asignaturas de dicho departamento.Por ello se elabora un documento con todos los requisitos que debe cumplir la aplicacin y quehan de validarse por todos los participantes del proyecto.

    DETERMINACIN DEL ALCANCE DEL SISTEMALas especificaciones de esta aplicacin se centran principalmente en la gestin de comentariosrealizados por los alumnos de una determinada asignatura sobre otros grupos de prcticas. Principalmente esta aplicacin se encargar de:

    Creacin de grupos de prcticasInsercin de comentarios

    Adems, si el usuario es profesor, podr realizar:Importacin y activacin de alumnos de las asignaturasCreacin y modificacin de grupos de prcticasExportacin de datos

    Y, si el usuario es administrador: Creacin de asignaturas y sus grupos

    IDENTIFICACIN DEL ENTORNO TECNOLGICOEn este punto determinaremos el entorno tecnolgico en que se implementar el sistemabasndonos en los diferentes requisitos exigidos.

    La infraestructura tecnolgica se har de acuerdo a la especificacin J2EE. Esta es unaplataforma de programacin para desarrollar y ejecutar software de aplicaciones en lenguajede programacin java, con arquitectura distribuida de n niveles, basndose ampliamente encomponentes de software modulares ejecutndose sobre un servidor de aplicaciones. Ennuestro caso, emplearemos el servidor de aplicaciones Apache Tomcat.

    La infraestructura tecnolgica adems, seguir un patrn Modelo Vista Controlador. Deesta forma se ha decidido el empleo de Struts Apache FrameWork para facilitar el desarrollodel sistema mediante este patrn. Las aplicaciones web basadas en servlets a veces mezclanel cdigo de la base de datos, el cdigo del diseo y controlan el flujo de la informacin. En laprctica, encontramos que si no separamos estas tres partes, en aplicaciones ms complejasel mantenimiento es muy difcil. Struts est diseado para ayudar al desarrollador a crearaplicaciones web que dividan el modelo, lgica de negocio o cdigo de la base de datos, lavista, o diseo de las pginas web, y el controlador, que representa el cdigo de navegacin.Aunque las primeras versiones slo incluan facilidades para la implementacin del MVC, en

    7

    Introduccin

  • especial implementaban la parte del controlador, con la creacin de nuevas versiones se lehan ido incorporando ms funcionalidades para facilitar los desarrollos. En nuestro caso, paraesta aplicacin se ha decidido el uso de estas dos libreras:

    para la implementacin de la interfaz grfica. El framework Tiles componentview no solo te permite reutilizar plantillas, sino que tambin que permite organizarlayouts.

    para la implementacin de las validaciones de los formularios, tanto enel lado del cliente como en el lado del servidor.

    Se proporcionar compatibilidad con base de datos MySQL. Se realizar un objeto paracada una de las tablas de la base de datos y que ser el nico que interacte con dicha tabla.Para ello utilizaremos la herramienta Hibernate.

    En la activacin de alumnos se requerir de la librera JavaMail para el envo de correoselectrnicos.

    Se ha utilizado Eclipse como entorno de desarrollo integrado.

    IDENTIFICACIN DE LOS USUARIOSAntes de comenzar los requisitos vamos a recordar los tres subconjuntos de perfil de usuarioque interactuarn con el sistema:

    Sern los usuarios con los mnimos privilegios dentro de la aplicacin. Serndados de alta y activados por un usuario de perfil superior.

    Sern aquellos usuarios que estn a cargo de una o varias asignaturas y seles otorgarn numerosos privilegios. Sern dados de alta por un usuario administrador

    Sern aquellos usuarios que tengan acceso a todas las accionesposibles en la aplicacin, excepto la insercin de comentarios. Sern dados de alta medianteacceso a la base de datos.Todos aquellos usuarios que no pertenezcan a algunos de estos grupos no podrn tener accesoa la aplicacin.

    8

    APLICACIN WEB PARA GESTIN DOCENTE

  • El desarrollo de Aplicaciones Web posee determinadas caractersticas que lo hacen diferentedel desarrollo de aplicaciones o software tradicional y sistemas de informacin.La Ingeniera de la Web es multidisciplinar y aglutina contribuciones de diferentes reas:arquitectura de la informacin, ingeniera de hipermedia/hipertexto, ingeniera de requisitos,diseo de interfaz de usuario, usabilidad, diseo grafico y de presentacin, diseo y anlisis desistemas, ingeniera de software, ingeniera de datos, indexado y recuperacin de informacin,testeo, modelado y simulacin, despliegue de aplicaciones, operacin de sistemas y gestin deproyectos.La Ingeniera de la Web no es un clon o subconjunto de la ingeniera de software aunque ambasincluyen desarrollo de software y programacin, pues a pesar de que la Ingeniera de la Webutiliza principios de ingeniera de software, incluye nuevos enfoques, metodologas,herramientas, tcnicas, guas y patrones para cubrir los requisitos nicos de las aplicacionesweb.Las alternativas para seleccionar una tecnologa para el desarrollo de aplicaciones web sonvariadas; soluciones simples tales como lenguajes como Perl, PHP, etc. que pueden solucionarel problema satisfactoriamente pero implican un costo adicional, y en el transcurrir del tiempose vern afectadas (como ejemplo Perl tiene la lgica de presentacin y la lgica de negocioen un solo archivo).Por lo expuesto surgen diferentes tecnologas que intentan solucionar y hacer este tipo deaplicaciones ms flexibles, dotndolas de caractersticas distribuidas, que claramente separanlas cosas.Una solucin puede ser que presentamos es el desarrollo y la fuente de este trabajo es JAVAque es un lenguaje de programacin concurrente, orientado a objetos, con capacidades cliente-servidor. En Java se puede abrir una conexin a una pagina Web u otra aplicacin de Internet,y leer o escribir datos, en gran medida como un programador de C o C++ lee o escribe en elterminal local.Complementando Java surgen muchas aplicaciones tales como los Servlets que se ejecutanen el servidor y en que no presentan ningn tipo de interfaz grafica puesto que estn totalmentecontrolados por un servicio de red como pudiera ser un servidor Web. Hasta ahora los CGIseran el nico medio de proporcionar interaccin entre el cliente y el servidor. Un ejemplo muycomn de uso de los CGIs son los tpicos formularios que el usuario ha de rellenar con susdatos personales, que posteriormente pasan a formar parte de una base de datos.El estado del arte del lenguaje Java, para aplicaciones, tanto del lado cliente como del servidor,ha alcanzado un nivel de madurez que ya nadie pone en duda, y es lo que ha llevado a muchasorganizaciones, a adoptar la plataforma J2EE como base de su estrategia de actualizacintecnolgica para entornos distribuidos, adopcin del e-business, etc.Sin embargo, cuando muchas de estas aplicaciones han pasado a la fase de produccin, nose ha visto el mismo grado de madurez en capacidades como: rendimiento, disponibilidad,escalabilidad, fiabilidad, seguridad, etc.

    9

    APLICACIN WEB PARA GESTIN DOCENTE Estado del Arte

  • Con la aparicin del J2EE, todo un nuevo catalogo de patrones de diseo apareci. Desde que J2EE es una arquitectura por si misma que involucra otras arquitecturas, incluyendo servlets, JavaServer Pages, Enterprise JavaBeans, y ms, merece su propio conjunto de patronesespecficos para diferentes aplicaciones empresariales.De acuerdo con el libro J2EE PATTERNS Best Practices and Design Strategies, existen 5capas en la arquitectura J2EE: cliente, presentacin, negocios, integracin y recurso.El libro explica 15 patrones J2EE que estn divididos en 3 de las capas: presentacin, negociose integracin, las cuales no mencionaremos aqu.La evolucin del desarrollo de aplicaciones Web tiene una trayectoria conocida en este mbito,por su desarrollo rpido y complejo, lo cual podemos resumir en los siguientes puntos:Modelo 1: Son las mas primitivas. Se identifican con este modelo las clsicas aplicaciones webCGI, basadas en la ejecucin de procesos externos al servidor web, cuya salida por pantallaera el HTML que el navegador reciba en respuesta a su peticin. Presentacin, negocio yacceso a datos se confundan en un mismo script Perl.Modelo 1.5 Aplicado a la tecnologa Java, se da con la aparicin de las pginas ASP deMicrosoft, y posteriormente JSPs y los Servlets. En este modelo, las responsabilidades depresentacin (navegabilidad, visualizacin, etc) recaen en las pginas dinmicas generadasen el servidor, mientras que los componentes incrustados en las mismas (Javabeans, ActiveX,etc.) son los responsables del modelo de negocio y acceso a datos.Modelo 2 Como evolucin del modelo 1.5 con la incorporacin del patrn MVC a este tipo deaplicaciones, se define lo que se conoce como Model 2 de la arquitectura web. Se aprecia laincorporacin de un elemento controlador de la navegacin de la aplicacin. Modelo-Vista-Controlador (MVC), es el patrn de diseo que ha llegado a dominar el espaciode programacin de aplicaciones web. Ahora es muy comn usar los trminos Modelo 2 y MVCindistintamente.Los frameworks MVC han pasado a ser una parte importante de cualquier proyecto WEB. Hoyen da, la evolucin de la propia Web y de los estndares, han sido el caldo de cultivo de laaparicin de un gran nmero de frameworks para facilitar y estandarizar la programacin WEB.La mayora de ellos son OpenSource lo que permite la utilizacin en todos los proyectosindependientemente de la infraestructura de despliegue.El ms conocido de todos los frameworks MVC es Struts. La historia de Struts es larga, y supresencia continuada durante muchos aos hace que sea el framework de referencia.Struts Framework originalmente fue creado por Craig R . McClanahan y donado al proyectoJakarta de Apache Software Foundation (ASF) in 2000. En Junio de 2001 se libera la primeraversin la cual es la 1.0, desde entonces muchos desarrolladores han participado en la mejoracontinua de este Framework.

    10

    APLICACIN WEB PARA GESTIN DOCENTE

  • HTML Y JAVASCRIPTHTML es el lenguaje de marcado predominante para la construccin de pginas web. Es usadopara describir la estructura y el contenido en forma de texto, as como para complementar eltexto con objetos tales como imgenes. HTML se escribe en forma de etiquetas, rodeadas porcorchetes angulares (). HTML tambin puede describir, hasta un cierto punto, la aparienciade un documento, y puede incluir un script (por ejemplo Javascript), el cual puede afectar elcomportamiento de navegadores web y otros procesadores de HTML.El diseo en HTML aparte de cumplir con las especificaciones propias del lenguaje deberespetar unos criterios de accesibilidad web, siguiendo unas pautas, o las normativas y leyesvigentes en los pases donde se regule dicho concepto. Se encuentra disponible y desarrolladopor el W3C a travs de las Pautas de Accesibilidad al Contenido Web 1.0 WCAG.JavaScript es un lenguaje de programacin interpretado, es decir, que no requiere compilacin,utilizado principalmente en pginas web, con una sintaxis semejante a la del lenguaje Java yel lenguaje C.Al igual que Java, JavaScript es un lenguaje orientado a objetos propiamente dicho, ya quedispone de Herencia, si bien sta se realiza siguiendo el paradigma de programacin basadaen prototipos, ya que las nuevas clases se generan clonando las clases base (prototipos) yextendiendo su funcionalidad.Todos los navegadores modernos interpretan el cdigo JavaScript integrado dentro de laspginas web. Para interactuar con una pgina web se provee al lenguaje JavaScript de unaimplementacin del DOM.Tradicionalmente, se vena utilizando en pginas web HTML, para realizar tareas y operacionesen el marco de la aplicacin nicamente cliente, sin acceso a funciones del servidor. JavaScriptse ejecuta en el agente de usuario al mismo tiempo que las sentencias van descargndosejunto con el cdigo HTML.

    J2EE

    Es una plataforma de programacin para desarrollar y ejecutar software de aplicaciones enLenguaje de programacin Java con arquitectura distribuida de n niveles, basndoseampliamente en componentes de software modulares ejecutndose sobre un servidor deaplicaciones. La plataforma Java EE est definida por una especificacin.Java EE incluye varias especificaciones de API, tales como JDBC, RMI, e-mail, JMS, ServiciosWeb, XML, etc. y define cmo coordinarlos. Java EE tambin configura algunasespecificaciones nicas para Java EE para componentes. Estas incluyen Enterprise JavaBeans,servlets, portlets (siguiendo la especificacin de Portlets Java), JSPs y varias tecnologas deservicios web. Esto permite al desarrollador crear una Aplicacin de Empresa portable entreplataformas y escalable, a la vez que integrable con tecnologas anteriores. Otros beneficiosaadidos son, por ejemplo, que el servidor de aplicaciones puede manejar transacciones, laseguridad, escalabilidad, concurrencia y gestin de los componentes desplegados, significandoque los desarrolladores pueden concentrarse ms en la lgica de negocio de los componentesen lugar de en tareas de mantenimiento de bajo nivel.

    11

    Herramientas Utilizadas

  • La especificacin original J2EE fue desarrollada por Sun Microsystems.Las APIs de Java EE incluyen varias tecnologas que extienden la funcionalidad de las APIsbase de Java SE.

    La API Enterprise JavaBeans define un conjunto de APIs que un contenedor de objetosdistribuidos soportar para suministrar persistencia, RPCs (usando RMI o RMI-IIOP), control deconcurrencia, transacciones y control de acceso para objetos distribuidos.

    Los paquetes javax.naming, javax.naming.directory, javax.naming.event, javax.naming.ldap yjavax.naming.spi definen la API de JNDI. La Interfaz de Nombrado y Directorio Java es unaInterfaz de Programacin de Aplicaciones para servicios de directorio. Esto permite a losclientes descubrir y buscar objetos y nombres a travs de un nombre. Adicionalmente,especifica un SPI que permite que las implementaciones del servicio de directorio seanenchufadas en el framework. Las implementaciones pueden hacer uso de un servidor, unfichero, o una base de datos

    Los paquetes java.sql y javax.sql definen la API de JDBC que permite la ejecucin deoperaciones sobre bases de datos desde el lenguaje de programacin Javaindependientemente del sistema de operacin donde se ejecute o de la base de datos a la cualse accede utilizando el dialecto SQL del modelo de base de datos que se utilice.

    Estos paquetes definen la API JTA. Este API para transacciones en Java establece una seriede Interfaces java entre el manejador de transacciones y las partes involucradas en el sistemade transacciones distribuidas: el servidor de aplicaciones, el manejador de recursos y lasaplicaciones transaccionales.

    Estos paquetes definen la API JAXP que sirve para la manipulacin y el tratamiento de archivosXML.

    Estos paquetes definen la API JMS. La API de Servicios de Mensajera de Java es la solucinpara el uso de colas de mensajes. ste es un estndar de mensajera que permite a loscomponentes de aplicaciones basados en la plataforma de Java 2 crear, enviar, recibir y leermensajes. Tambin hace posible la comunicacin confiable de manera sncrona y asncrona.

    TOMCAT

    Tomcat (tambin llamado Jakarta Tomcat o Apache Tomcat) funciona como un contenedor deservlets desarrollado bajo el proyecto Jakarta en la Apache Software Foundation. Tomcatimplementa las especificaciones de los servlets y de JSP de Sun Microsystems.

    12

    APLICACIN WEB PARA GESTIN DOCENTE

  • Tomcat es un servidor web con soporte de servlets y JSPs. Tomcat no es un servidor deaplicaciones, como JBoss o JOnAS. Incluye el compilador Jasper, que compila JSPsconvirtindolas en servlets. El motor de servlets de Tomcat a menudo se presenta encombinacin con el servidor web Apache.Tomcat puede funcionar como servidor web por s mismo. En sus inicios existi la percepcinde que el uso de Tomcat de forma autnoma era slo recomendable para entornos de desarrolloy entornos con requisitos mnimos de velocidad y gestin de transacciones. Hoy en da ya noexiste esa percepcin y Tomcat es usado como servidor web autnomo en entornos con altonivel de trfico y alta disponibilidad.Dado que Tomcat fue escrito en Java, funciona en cualquier sistema operativo que dispongade la mquina virtual Java.

    STRUTS

    Struts es una herramienta de soporte para el desarrollo de aplicaciones Web bajo el patrnMVC bajo la plataforma J2EE. Struts permite reducir el tiempo de desarrollo. Su carcter de software libre y su compatibilidadcon todas las plataformas en que Java Enterprise est disponible, lo convierte en unaherramienta bastante aplicable.Struts se basa en el patrn del Modelo Vista Controlador (MVC) el cual se utiliza ampliamentey es considerado de gran solidez. De acuerdo con este modelo, el procesamiento se separa entres secciones diferenciadas, llamadas el modelo, las vistas y el controlador.Cuando se programan aplicaciones Web que implementa el patrn MVC, siempre surge la dudade usar un solo controlador o usar varios. Si consideramos utilizar mejor uno solo para tenertoda nuestra lgica en un mismo lugar, nos encontramos con un grave problema, ya que seconvierte en lo que se conoce como "fat controller", es decir un controlador de peticiones. Strutssurge como la solucin a este problema ya que implementa un nico controlador (ActionServlet)que evala las peticiones del usuario mediante un archivo configurable (struts-config.xml).

    Corresponden a la lgica del negocio con la cual se comunica la aplicacin web. Usualmenteel modelo comprende accesos a Bases de Datos o sistemas que funcionan independientementede la aplicacin web.

    Los componentes de control son los encargados de coordinar las actividades de la aplicacin,que van desde la recepcin de datos del usuario, las verificaciones de forma y la seleccin deun componente del modelo a ser llamado. Por su parte los componentes del modelo envan alcontrol sus eventuales resultados o errores de manera que puedan continuar con otros pasosde la aplicacin.Esta separacin simplifica enormemente la escritura tanto de vistas como de componentes delmodelo: Las pginas JSP no tienen que incluir manejo de errores, mientras que los elementosdel control simplemente deciden sobre el paso siguiente.

    13

    Herramientas Utilizadas

  • Entre las caractersticas de Struts se pueden mencionar:Configuracin del control centralizada.Interrelaciones entre acciones y pgina u otras acciones se especifican por tablas XML

    en lugar de codificarlas en los programas o pginas.Componentes de aplicacin, que son el mecanismo para compartir informacin

    bidireccionalmente entre el usuario de la aplicacin y las acciones del modelo.Libreras de entidades para facilitar la mayora de las operaciones que generalmente

    realizan las pginas JSP.Struts contiene herramientas para validacin de campos de plantillas bajo varios esquemas

    que van desde validaciones locales en la pgina (en javaScript) hasta las validaciones de fondohechas a nivel de las acciones.Struts permite que el desarrollador se concentre en el diseo de aplicaciones complejas comouna serie simple de componentes del Modelo y de la vista intercomunicados por un controlcentralizado. Diseando de esta manera puede obtenerse una aplicacin ms consistente yms fcil de mantener.

    Tiles

    Normalmente en el desarrollo de una aplicacin Web, el grupo responsable de lainterfaz de usuario (UI) crea el Look and Feel (L&F) del sitio. Basndose en el Look andFeel, este grupo crea paginas HTML que representan la funcionalidad de la aplicaciny la forma de navegar. Con una implementacin basada en Servlet y JavaServer Pages(JSP), donde las paginas HTML son convertidas en servlet y JSP, los diseadores deUI, identificaron componentes HTML y JSP comunes, como la cabecera (Header), elcuerpo (Body), el pie de pgina (Footer), el men, y la bsqueda (Search). Validator

    Para facilitar las acciones de validacin, Struts se apoya en el framework de ApacheJakarta Commons Validator. El paquete correspondiente del Commons Validatorproporciona un framework simple y extensible para definir mtodos y reglas devalidacin a travs de un archivo xml. Tambin proporciona ayuda para lainternacionalizacin de las reglas de validacin y de los mensajes de error que seprecise emitir.

    MYSQLMySQL es un sistema de gestin de base de datos relacional, multi-hilo y multiusuario. MySQLAB (subsidiaria de Sun Microsystems) desarrolla MySQL como software libre en un esquemade licencia dual. Por un lado se ofrece bajo la GNU GPL para cualquier uso compatible con estalicencia, pero las empresas que quieran incorporarlo en productos privados pueden comprar ala empresa una licencia especfica que les permita este uso.MySQL es muy utilizado en aplicaciones web. MySQL es una base de datos muy rpida en lalectura cuando utiliza el motor no transaccional MyISAM, pero puede provocar problemas deintegridad en entornos de alta concurrencia en la modificacin. En aplicaciones web hay bajaconcurrencia en la modificacin de datos y en cambio el entorno es intensivo en lectura dedatos, lo que hace a MySQL ideal para este tipo de aplicaciones.

    14

    APLICACIN WEB PARA GESTIN DOCENTE

  • HIBERNATEHibernate es una herramienta de mapeo objeto-relacional para la plataforma que facilita elmapeo de atributos entre una base de datos relacional tradicional y el modelo de objetos de unaaplicacin, mediante archivos declarativos (XML) que permiten establecer estas relaciones.Hibernate es software libre, distribuido bajo los trminos de la licencia GNU LGPL.Como todas las herramientas de su tipo, Hibernate busca solucionar el problema de ladiferencia entre los dos modelos usados hoy en da para organizar y manipular datos: El usadoen la memoria de la computadora (orientacin a objetos) y el usado en las bases de datos(modelo relacional). Para lograr esto permite al desarrollador detallar cmo es su modelo dedatos, qu relaciones existen y qu forma tienen. Con esta informacin Hibernate le permite ala aplicacin manipular los datos de la base operando sobre objetos, con todas lascaractersticas de la OOP. Hibernate convertir los datos entre los tipos utilizados por Java ylos definidos por SQL. Hibernate genera las sentencias SQL y libera al desarrollador del manejomanual de los datos que resultan de la ejecucin de dichas sentencias, manteniendo laportabilidad entre todas las bases de datos con un ligero incremento en el tiempo de ejecucin.Hibernate ofrece tambin un lenguaje de consulta de datos llamado HQL.

    LOG4J

    Log4j es una biblioteca de cdigo abierto desarrollada en Java por la Apache SoftwareFoundation que permite a los desarrolladores de software elegir la salida y el nivel degranularidad de los mensajes o "logs" en tiempo de ejecucin y no de compilacin como escomnmente realizado. La configuracin de salida y granularidad de los mensajes es realizadatambin en ejecucin mediante el uso de archivos de configuracin externos.Por defecto Log4J tiene 6 niveles de prioridad para los mensajes (debug, info, warn, error, fatal,trace). Adems existen otros dos niveles adicionales (all y off).En Log4J los mensajes son enviados a una (o varias) salida de destino.Permite presentar el mensaje con el formato necesario para almacenarlo en un archivo. Ademspodemos aadir informacin complementaria al mensaje, como la fecha en que se gener, laclase que lo gener, el nivel que posee...La API es totalmente configurable, ya que se realiza mediante un archivo en formato XML o enformato Java Properties (clave=valor).

    15

    Herramientas Utilizadas

  • 16

    APLICACIN WEB PARA GESTIN DOCENTE

  • CATLOGO DE REQUISITOSEn este punto se incluye una descripcin del comportamiento del sistema que se va desarrollar.

    Requisitos de DatosLos requisitos de datos, tambin denominados requisitos de contenidos, requisitosconceptuales o requisitos de almacenamiento de informacin, responden a la preguntade qu informacin debe almacenar y administrar la aplicacin.

    17

    Requisitos

    REQ.D.001 Informacin sobre Asignaturas

    Cdigo

    Nombre

    Descripcin

    Criterios de Evaluacin

    Grupos de la asignatura

    Descripcin del grupo

    Ao acadmico

    Datos

    Tamao mximo de los grupos de prcticas

    REQ.D.002 Informacin sobre Alumnos

    N.I.A.

    D.N.I.

    Nombre Completo

    Correo Electrnico

    Usuario de inicio de sesin en la aplicacin

    Contrasea de inicio de sesin en la aplicacin

    Informacin de pertenencia a grupos de prcticas

    Informacin de pertenencia a asignaturas y grupo de la asignatura

    Datos

    Informacin sobre calificaciones de las prcticas en las que participa

    REQ.D.003 Informacin sobre Profesores

    Nombre Completo

    Correo Electrnico

    Informacin de localizacin y horario de tutoras

    Usuario de inicio de sesin en la aplicacin

    Contrasea de inicio de sesin en la aplicacin

    Datos

    Informacin de asignaturas y grupos que puede gestionar

    REQ.D.004 Informacin sobre Administradores

    Nombre Completo

    Correo Electrnico

    Usuario de inicio de sesin en la aplicacin

    Datos

    Contrasea de inicio de sesin en la aplicacin

  • Requisitos de AplicacinLos requisitos de aplicacin o sistema especifican el entorno tecnolgico y loscomponentes hardware y software necesarios para la implantacin y explotacin de laaplicacin.

    Requisitos de InterfazLos requisitos de interfaz, tambin llamados requisitos de interaccin de usuario,responden a la pregunta de cmo va a interactuar el usuario con la aplicacin.

    18

    APLICACIN WEB PARA GESTIN DOCENTE

    REQ.A.001 Sistema de Cdigo Libre

    Descripcin La aplicacin Web debe basarse en componentes software disponibles bajo licencia no comercial. Por ejemplo: sistema operativo Linux, gestor de base de datos MySQL, bibliotecas de arquitectura Web en tres capas STRUTS, servidor Web Apache, servidor de aplicaciones Tomcat.

    REQ.A.002 Plataforma Hardware

    Descripcin La plataforma hardware que soporte la aplicacin debe ser un PC Compatible capaz de ejecutar el S.O. Linux.

    REQ.I.001 Diferentes Perfiles de Usuario

    Descripcin La aplicacin debe gestionar de forma diferenciada los siguientes perfiles de usuarios:

    - Alumnos. - Profesores. - Administradores.

    Cada perfil tendr un determinado nivel de acceso a las diferentes funcionalidades de la aplicacin. Para cada funcionalidad se especificar que perfiles pueden acceder.

    REQ.I.002 Inicio de Sesin

    Descripcin Todos los usuarios de la aplicacin deben realizar un inicio de sesin previo a usar cualquier otra funcionalidad. De esta formar, siempre podr registrarse el autor de cada accin. El inicio de sesin de cada usuario debe autenticarse mediante usuario y contrasea.

    REQ.I.003 Cierre de Sesin

    Descripcin Una vez iniciada una sesin por un usuario, la sesin se cerrar bien por la accin del usuario que la abri o por un mecanismo automtico basado en un determinado tiempo de espera en inactividad.

    REQ.I.004 Cliente Web o Browser

    Descripcin La aplicacin podr usarse al menos con los dos navegadores Web ms extendidos: Microsoft Internet Explorer y Firefox. No se requerir la instalacin de ningn software adicional por parte de los usuarios.

  • Requisitos FuncionalesLos requisitos funcionales especifican las funciones que ha de desempear laaplicacin.

    19

    Requisitos

    REQ.F.001 Creacin de una nueva asignatura

    Descripcin Creacin de una nueva asignatura que se gestionar con la aplicacin.

    Perfiles Administrador

    Comentarios Se exigir la creacin de, al menos, un grupo de la asignatura.

    REQ.F.002 Importacin de alumnos de una asignatura

    Descripcin Carga de un fichero Excel con los campos correspondientes a los alumnos matriculados en una determinada asignatura y grupo.

    Perfiles Administrador, Profesor

    Comentarios El fichero deber de tener el formato adecuado.

    REQ.F.003 Re-Importacin / Importacin parcial de alumnos de una asignatura

    Descripcin Carga de un fichero Excel con alumnos matriculados en una asignatura en la que previamente se haba realizado una importacin de alumnos. Slo deben aadirse en la aplicacin los alumnos nuevos, sin afectar a los datos que ya estuvieran almacenados.

    Perfiles Administrador, Profesor

    Comentarios Se tomar como clave del alumno el DNI.

    REQ.F.004 Creacin de Grupo de Prcticas

    Descripcin La aplicacin ha de ofrecer un interfaz para la seleccin de un grupo de alumnos de una misma asignatura para constituir un grupo de prcticas. El nmero de elementos permitidos en el grupo depender de las restricciones especificadas en la asignatura.

    Perfiles Administrador, Profesor, Alumno

    Comentarios Slo se podr seleccionar la asignatura y los alumnos. Se limitar a que un alumno pertenezca a varios grupos de prcticas de una misma asignatura.

    REQ.F.005 Modificacin de Grupo de Prcticas

    Descripcin La aplicacin ha de ofrecer un interfaz para la modificar un grupo de alumnos de prcticas.

    Perfiles Administrador, Profesor

    Comentarios Se podrn modificar todas las propiedades del grupo

    REQ.F.006A Insercin de Comentarios para Alumnos

    Descripcin La aplicacin ha de ofrecer un interfaz para que un alumno pueda insertar comentarios sobre otros grupos de prcticas que no sean el suyo. Esta funcionalidad estar disponible slo durante un periodo de tiempo especificado en la asignatura correspondiente.

    Perfiles Alumno

    Comentarios

  • Requisitos de Rendimiento Los requisitos de rendimiento especifican los recursos mximos que puede consumirla aplicacin.

    Requisitos de SeguridadLos requisitos de seguridad especifican las medidas de seguridad implementadas enla aplicacin.

    20

    APLICACIN WEB PARA GESTIN DOCENTE

    REQ.F.006B Insercin de Comentarios para Profesores

    Descripcin La aplicacin ha de ofrecer un interfaz para que un profesor pueda insertar comentarios sobre grupos de prcticas que estn bajo su tutela.

    Perfiles Profesor

    Comentarios

    REQ.F.007 Exportacin de Datos / Listados por pantalla

    Descripcin La aplicacin ha de ofrecer un interfaz para exportar los siguientes datos: - Alumnos matriculados en una asignatura. - Grupos de prcticas de una asignatura. - Comentarios hechos a los grupos de prcticas de una asignatura. - Comentarios hechos por un alumno a otros grupos. - Actividad de un determinado usuario por fecha.

    Perfiles Administrador, Profesor

    Comentarios

    REQ.F.008 Activacin de Alumnos

    Descripcin La aplicacin ha de ofrecer un interfaz para generar un usuario y contrasea automticamente para todos los alumnos de una asignatura y enviarles un correo electrnico con sus datos privados de inicio de sesin.

    Perfiles Administrador, Profesor

    Comentarios El usuario ser el NIA y la contrasea ser aleatoria

    REQ.R.001 Tiempo de Respuesta

    Descripcin El tiempo de respuesta de la interfaz Web de la aplicacin debe ser inferior a 1 segundo (sin tener en cuenta retardos de red).

    REQ.R.002 Carga Computacional

    Descripcin El conjunto del software necesario para la prestacin del servicio debe poder ejecutarse en un solo PC compatible actual con 1 GB de memoria principal.

    .

    REQ.S.001 Registro de Acciones

    Descripcin Todas las acciones relevantes realizadas por un usuario debern quedar registradas en un fichero histrico, indicando la direccin IP desde la que se realizaron dichas acciones.

    REQ.S.002 Almacenamiento de Contraseas

    Descripcin Las contraseas sern almacenadas en la base de datos en un formato cifrado.

  • Tras las anteriores definiciones de requisitos podemos ver como se relacionan en el siguiente diagrama:

    21

    Requisitos

  • CASOS DE USOEn el siguiente diagrama presentaremos los casos de uso que describen todas las interaccionesque tendrn los usuarios con el software.Podemos observar que para cualquier accin, se deber estar autenticado en el s

    22

    APLICACIN WEB PARA GESTIN DOCENTE

  • 23

    Requisitos

  • 24

    APLICACIN WEB PARA GESTIN DOCENTE

  • 25

    Requisitos

  • 26

    APLICACIN WEB PARA GESTIN DOCENTE

  • 27

    Requisitos

  • 28

    APLICACIN WEB PARA GESTIN DOCENTE

  • 29

    Requisitos

  • 30

    APLICACIN WEB PARA GESTIN DOCENTE

  • 31

    Requisitos

  • 32

    APLICACIN WEB PARA GESTIN DOCENTE

  • 33

    Requisitos

  • 34

    APLICACIN WEB PARA GESTIN DOCENTE

  • MODELO DE CLASES

    Los diagramas de clase son el pilar bsico del modelado con UML, siendo utilizadostanto para mostrar lo que el sistema puede hacer (anlisis), como para mostrar cmopuede ser construido (diseo). El diagrama de clases de ms alto nivel (main classdiagram), ser lgicamente un dibujo de los paquetes que componen el sistema. A suvez cada paquete tendr un main class diagram que muestra las clases del paquete, yaen la parte del diseo.Habiendo definido los requisitos que tiene que cumplir el sistema y tambin elfuncionamiento que debe tener, mediante el empleo de los casos de uso y los diagramasde actividad, toca ahora realizar el modelo dinmico con el que contar la aplicacin.Para eso, emplearemos en este punto varios diagramas de clases de alto nivel en el quetrataremos de abordar toda la aplicacin.

    35

    APLICACIN WEB PARA GESTIN DOCENTE Anlisis

  • 36

    APLICACIN WEB PARA GESTIN DOCENTE

  • Para seguir el MVC emplearemos Struts, permite reducir el tiempo de desarrollo. Su carcterde software libre y su compatibilidad con todas las plataformas en que Java Enterprise estdisponible, lo convierte en una herramienta altamente disponible. Adems est demostrada surobustez en la gran cantidad de aplicaciones que lo emplean.Ya centrndonos ms a fondo en la aplicacin, diremos que estar principalmente basada enlos paquetes edu.gesdoc.hibernate (Capa Modelo), edu.gesdoc.struts (Capa Controlador) yedu.gesdoc.util que explicaremos en las siguientes tablas.

    37

    Anlisis

    Tipo Package

    Nombre edu.gesdoc.hibernate

    Descripcin Contendr las clases que representan el mapeo entre la lgica de la aplicacin y una tabla que la represente en la base de datos. Estas clases tambin realizarn todas las operaciones contra la base de datos para

    almacenar, modificar, eliminar y obtener datos de esa tabla.

    Tipo Package

    Nombre edu.gesdoc.struts

    Descripcin Estas clases responden a eventos, usualmente acciones del usuario e

    invoca cambios en el modelo y probablemente en la vista.

    Contendr las acciones, as como los beans que representan toda la informacin que se muestra en las correspondientes pginas Web.

    Tipo Package

    Nombre edu.gesdoc.util

    Descripcin Contendr las funciones necesarias en las que se apoyan las acciones, tales como obtencin de variables de configuracin, envo de correos, cifrado de claves, importacin y exportacin de archivos, generacin de listas, envo de mensaje y/o errores, validacin de datos

  • DIAGRAMAS DE SECUENCIA E INTERFACES GRFICAS DEL USUARIO

    En el punto anterior, hemos visto diagramas estticos que nos permitieron identificar a losprincipales elementos de la aplicacin, pero ahora podremos centrarnos mejor en comointeractan entre ellos. Vistos los diferentes subsistemas mediante diagramas de clases de alto nivel, ahora vamos aenfocarnos en la definicin de varios escenarios globales que cubren todas las accionesdisponibles en el sistema.Se aportar una breve descripcin, junto con un diagrama de secuencia y definiremos de formaesquemtica la interfaz grfica de usuario (GUI) bsica, es decir el conjunto de objetos grficospara representar la informacin y acciones disponibles en la aplicacin.

    Para esto, hemos definido principalmente los siguientes escenarios ms relevantes: Validacin

    Creacin

    Modificacin

    Insercin

    Exportacin

    Todos los escenarios llevan implcitos un escenario que separaremos para evitar duplicidadesy que llamaremos escenario padre.

    Escenario Padre

    Este escenario ser el que inicialmente se produzca en cualquier interaccin delusuario y el sistema. Realiza una comprobacin de la autenticacin del usuario en laaplicacin. Si existe cualquier error se le enviar a la pantalla de entrada indicando elerror.

    38

    APLICACIN WEB PARA GESTIN DOCENTE

  • 39

    Anlisis

  • Escenario ValidacinEn este escenario, un usuario intenta acceder a la aplicacin, entonces se le muestraun formulario de validacin en el que tendr que introducir usuario y clave. Si estos valores son correctos el sistema obtendr sus datos, inicializar los valoresnecesarios en el sistema y mostrar la pantalla inicial de la aplicacin. Si existecualquier error se le enviar a la pantalla de entrada indicando el error.

    40

    APLICACIN WEB PARA GESTIN DOCENTE

  • 41

    Anlisis

  • Escenario CreacinEn este escenario, un usuario intenta crear un grupo de una asignatura.Accede a estaopcin mediante el men principal.Primero se muestra por pantalla la lista de asignaturas asociadas al usuario. Una vezseleccionada y si los valores del grupo son correctos, el sistema introducir los datosdel nuevo grupo en la base de datos e indicar la accin realizada; si no, mostrar alusuario los errores encontrados.

    42

    APLICACIN WEB PARA GESTIN DOCENTE

  • 43

    Anlisis

  • Escenario Modificacin

    Un usuario realiza la modificacin de un grupo de prcticas de una asignatura.Accede a esta opcin mediante el men principal.Primero se muestra por pantalla la lista de grupo de prcticas de las asignaturasasociadas al usuario. Una vez seleccionado, se mostrar una pantalla con los datosactuales del grupo y permitiendo que sean modificados. Si los valores del grupo soncorrectos, el sistema actualizar los datos del grupo en la base de datos e indicar laaccin realizada; si no, mostrar al usuario los errores encontrados.

    44

    APLICACIN WEB PARA GESTIN DOCENTE

  • 45

    Anlisis

  • Escenario Insercin

    Un usuario introduce un comentario sobre un grupo de prcticas de una asignatura.Accede a esta opcin mediante el men principal.Primero se muestra por pantalla la lista de grupo de prcticas de las asignaturasasociadas al usuario. Una vez seleccionado y si los datos son correctos, el sistemaintroducir el comentario en la base de datos e indicar la accin realizada; si no,mostrar al usuario los errores encontrados.

    46

    APLICACIN WEB PARA GESTIN DOCENTE

  • 47

    Anlisis

  • Escenario Exportacin

    Un usuario realiza una exportacin de datos del sistema.Accede a esta opcin mediante el men principal.Primero se muestra por pantalla la lista de asignaturas asociadas al usuario y elmtodo de salida de datos. Una vez seleccionado, el sistema mostrar una lista de lasdistintas exportaciones de datos permitidas en la aplicacin. En algunas de stas, esnecesario indicar el usuario sobre el que consultar los datos. Si el usuario seleccionasalida por fichero se generar uno con los datos solicitados que el usuario podrdescargar a su equipo. Si selecciona por pantalla, mostrar los datos en el propiosistema.

    48

    APLICACIN WEB PARA GESTIN DOCENTE

  • 49

    Anlisis

  • MODELO DE DATOSLos puntos anteriores fueron dedicados a la definicin de los distintos requerimientos de laaplicacin as como describir, ya sea mediante distintas tablas como con diferentes diagramas,el funcionamiento de la aplicacin y los elementos que necesita esta para el correctocumplimiento de los requerimientos definidos. En este punto, sin embargo, se pretende definir el modelo de datos que necesitar la aplicacinpara almacenar toda la informacin con la que va a trabajar.

    50

    APLICACIN WEB PARA GESTIN DOCENTE

  • Para ello vamos a emplear un diagrama entidad relacin. Los diagramas E-R son un lenguajegrfico para describir conceptos. Informalmente, son simples dibujos o grficos que describenla informacin que trata un sistema de informacin y el software que lo automatiza.Realizaremos un diagrama en el que veremos principalmente las diferentes entidades que senecesitarn y la interrelacin entre ellas. Tambin realizaremos una breve descripcin de cadaentidad para posteriormente, en la documentacin de diseo, hacer ms hincapi en qu tablasse necesitan construir y que campos tiene cada una de ellas.

    51

    Anlisis

  • 52

    APLICACIN WEB PARA GESTIN DOCENTE

    Nombre USUARIO

    Descripcin Entidad que sirve para mantener la informacin de cada uno de los usuarios de la aplicacin.

    Nombre PERFIL

    Descripcin Entidad que sirve para mantener los perfiles de la aplicacin.

    Nombre ACCION

    Descripcin Entidad que sirve para mantener las acciones disponibles por los usuarios

    de la aplicacin.

    Nombre PERFIL_ACCION

    Descripcin Entidad que sirve para mantener las acciones habilitadas para cada perfil

    de la aplicacin.

    Nombre PROFESOR

    Descripcin Entidad que sirve para mantener la informacin especfica de los profesores.

    Nombre ALUMNO

    Descripcin Entidad que sirve para mantener la informacin especfica de los alumnos.

    Nombre ASIGNATURA

    Descripcin Entidad que sirve para mantener la informacin de las asignaturas de la aplicacin.

  • 53

    Anlisis

    Nombre GRUPO_ASIGNATURA

    Descripcin Entidad que sirve para mantener la informacin de los grupos de las asignaturas de la aplicacin.

    Nombre USUARIO_GRUPO_ASIGNATURA

    Descripcin Entidad que sirve para mantener a qu grupos de las asignaturas pertenecen los usuarios de la aplicacin.

    Nombre GRUPO_PRACTICA

    Descripcin Entidad que sirve para mantener la informacin de los grupos de prcticas de las asignaturas de la aplicacin.

    Nombre GRUPO_PRACTICA_ALUMNO

    Descripcin Entidad que sirve para mantener a qu grupos de prcticas de las

    asignaturas pertenecen los alumnos de la aplicacin.

    Nombre COMENTARIO_GRUPO_PRACTICA

    Descripcin Entidad que sirve para mantener los comentarios hechos por los usuarios a los grupos de prcticas de las asignaturas de la aplicacin.

    Nombre REGISTRO_ACCION

    Descripcin Entidad que sirve para mantener las acciones relevantes realizadas por los

    usuarios de la aplicacin.

  • 54

    APLICACIN WEB PARA GESTIN DOCENTE

  • DEFINICIN DE LA ARQUITECTURACentrndonos ms en el propio sistema, en este punto trataremos de dividir el sistema en lasdiferentes capas que pueden distinguirse. Como ya se ha comentado, el sistema seguir el patrn MVC. Por consiguiente, aqu estamosestableciendo un mnimo de 3 capas.

    55

    Diseo

  • En el diagrama vemos estas capas: Ser el diseo esttico de la aplicacin. En otras palabras, es la parte grfica, la parte

    que el usuario del sistema ver en su navegador web. Esta parte estar formada por las pginasJSP de la aplicacin.

    Ser el controlador. Todas las peticiones al sistema y respuestas del sistema pasarnpor este elemento. l ser el encargado de redirigir los diferentes mensajes entre las distintaspginas JSP y Servlets.

    Ser la parte del sistema encargada del almacenamiento y recuperacin de lainformacin de la base de datos. Para seguir el MVC emplearemos Struts, ya que permite reducir el tiempo de desarrollo. Sucarcter de software libre y su compatibilidad con todas las plataformas en que JavaEnterprise est disponible, lo convierte en una herramienta altamente disponible. Adems estdemostrada su robustez en la gran cantidad de aplicaciones que lo emplean.Como se puede ver y ya se ha comentado, dentro del ncleo de Struts existen un conjunto delibreras que estn definidas para la realizacin de validaciones en formularios Web, tanto enla parte cliente como en la parte servidor. Este subconjunto de Struts est dentro de su paqueteValidator.Y ya por ltimo, relacionado con Struts, decir que las distribuciones actuales vienen con unconjunto de libreras que dan facilidades a la hora de construir el diseo esttico de las pginasWeb y que ser empleado por el sistema. Este conjunto de libreras est contenido dentro delpaquete tiles.jar.

    56

    APLICACIN WEB PARA GESTIN DOCENTE

  • ESPECIFICACIN DE PRODUCTOS Y VERSIONES

    57

    Diseo

    Utilizacin Producto Empresa Versin

    Servidor Jakarta Tomcat Apache Software Foundation

    5.0.2.8

    JVM J2DK Sun

    Microsystems

    1.4.2.16

    API para Servlets J2EE Sun

    Microsystems

    2.3

    IDE Eclipse Eclipse Foundation

    3.2

    Servidor BBDD MySQL Sun Microsystems

    5.0.51a

    Gestin Software BBDD Hibernate Red Hat 3.1.3

    Framework Struts Apache Software

    Foundation

    1.2.9

    Framework Component Struts Tiles Apache

    Software Foundation

    1.1

    Framework Component Struts Validator Apache

    Software Foundation

    1.1.3

    Biblioteca (Mail) JavaMail Sun

    Microsystems

    1.4

    Biblioteca (Log) Log4J Apache Software Foundation

    1.2.15

  • APLICACIN WEB PARA GESTIN DOCENTE

    58

    DISEO DE CLASESLos diagramas de clase son el pilar bsico del modelado con UML, siendo utilizados tanto paramostrar lo que el sistema puede hacer (anlisis), como para mostrar cmo puede ser construido(diseo). El propsito de este punto, es transformar el modelo de clases lgico, que proviene del anlisisfuncional, en un modelo de clases de diseo.En este caso, realizaremos una definicin bsica del sistema identificando diferentessubsistemas basndonos en los principales paquetes y haciendo una breve descripcin deellos y las clases que estn contenidas.

  • edu.gesdoc.strutsEste paquete puede subdividirse en dos partes. Por un lado, se agrupan todas aquellasacciones que pueden realizar cualquier usuario y, por otro, mejoras de las validacionesproporcionadas por Struts personalizadas para nuestra aplicacin, ya que contienenerrores de software (bugs).

    59

    Diseo

  • APLICACIN WEB PARA GESTIN DOCENTE

    60

    Paquete: edu.gesdoc.struts.actionEste paquete maneja todas las acciones entre la aplicacin y el usuario.

  • 61

    Diseo

  • Paquete edu.gesdoc.struts.action

    Nombre MainAction

    Descripcin Heredar del Action de struts y que representar las acciones a realizar en el servidor

    cuando el usuario interacta con la aplicacin.

    De esta clase heredarn todas aquellas que vayan a realizar una accin del servidor

    por una orden del cliente. Esto se debe a que esta clase ser la encargada de la

    comprobacin de la sesin del usuario para cualquier accin que quiera realizar.

    Paquete edu.gesdoc.struts.action

    Nombre LoginAction

    Descripcin Valida el usuario y contrasea que introduzca el usuario para darle el acceso con su

    correspondiente perfil o denegrselo.

    Paquete edu.gesdoc.struts.action

    Nombre NavegacionAction

    Descripcin Redirecciona a la accin correspondiente dependiendo de la opcin del men que

    pulse el usuario y genera las listas de datos necesarias.

    Paquete edu.gesdoc.struts.action

    Nombre InvalidateSessionAction

    Descripcin Cierra la sesin del usuario

    Paquete edu.gesdoc.struts.action

    Nombre CreacionAsignaturaAction

    Descripcin Obtiene los datos del formulario enviado por el usuario e inserta la asignatura en la

    base de datos.

    Enva un mensaje al usuario indicando la accin realizada.

    Paquete edu.gesdoc.struts.action

    Nombre CreacionGrupoAsignaturaAction

    Descripcin Obtiene los datos del formulario enviado por el usuario e inserta el grupo de la

    asignatura en la base de datos.

    Enva un mensaje al usuario indicando la accin realizada.

    APLICACIN WEB PARA GESTIN DOCENTE

    62

  • Paquete edu.gesdoc.struts.action

    Nombre CreacionProfesorAction

    Descripcin Obtiene los datos del formulario enviado por el usuario e inserta el profesor en la

    base de datos.

    Enva un mensaje al usuario indicando la accin realizada.

    Paquete edu.gesdoc.struts.action

    Nombre CreacionGrupoPracticaDatosAction

    Descripcin Obtiene la asignatura seleccionada por el usuario en la que se crear el nuevo grupo

    de prcticas

    Paquete edu.gesdoc.struts.action

    Nombre CreacionGrupoPracticaAction

    Descripcin Obtiene los datos del formulario enviado por el usuario e inserta el grupo de prcticas

    de la asignatura en la base de datos.

    Valida previamente si se ha superado el tamao mximo de alumnos de los grupos de

    prcticas de la asignatura.

    Enva un mensaje al usuario indicando la accin realizada.

    Paquete edu.gesdoc.struts.action

    Nombre InsercionComentarioAction

    Descripcin Obtiene los datos del formulario enviado por el usuario e inserta el comentario sobre

    el grupo de prcticas en la base de datos.

    Enva un mensaje al usuario indicando la accin realizada.

    Paquete edu.gesdoc.struts.action

    Nombre ModificacionGrupoPracticaDatosAction

    Descripcin Obtiene los datos del grupo de practicas a modificar de la asignatura seleccionada por

    el usuario

    63

    Diseo

  • Paquete edu.gesdoc.struts.action

    Nombre MainAction

    Descripcin Heredar del Action de struts y que representar las acciones a realizar en el servidor

    cuando el usuario interacta con la aplicacin.

    De esta clase heredarn todas aquellas que vayan a realizar una accin del servidor

    por una orden del cliente. Esto se debe a que esta clase ser la encargada de la

    comprobacin de la sesin del usuario para cualquier accin que quiera realizar.

    Paquete edu.gesdoc.struts.action

    Nombre LoginAction

    Descripcin Valida el usuario y contrasea que introduzca el usuario para darle el acceso con su

    correspondiente perfil o denegrselo.

    Paquete edu.gesdoc.struts.action

    Nombre NavegacionAction

    Descripcin Redirecciona a la accin correspondiente dependiendo de la opcin del men que

    pulse el usuario y genera las listas de datos necesarias.

    Paquete edu.gesdoc.struts.action

    Nombre InvalidateSessionAction

    Descripcin Cierra la sesin del usuario

    Paquete edu.gesdoc.struts.action

    Nombre CreacionAsignaturaAction

    Descripcin Obtiene los datos del formulario enviado por el usuario e inserta la asignatura en la

    base de datos.

    Enva un mensaje al usuario indicando la accin realizada.

    Paquete edu.gesdoc.struts.action

    Nombre CreacionGrupoAsignaturaAction

    Descripcin Obtiene los datos del formulario enviado por el usuario e inserta el grupo de la

    asignatura en la base de datos.

    Enva un mensaje al usuario indicando la accin realizada.

    APLICACIN WEB PARA GESTIN DOCENTE

    64

  • Paquete edu.gesdoc.struts.validator

    Nombre FieldChecks

    Descripcin Se utilizar esta clase para la validacin required, que valida los campos obligatorios.

    Se reprograma la clase original debido a la utilizacin de la clase ValidatorUtils.

    Paquete edu.gesdoc.struts.validator

    Nombre ValidWhen

    Descripcin Se utilizar esta clase para la validacin validwhen, que valida un campo frente a otro.

    Se reprograma la clase original debido a la utilizacin de la clase ValidatorUtils.

    Paquete edu.gesdoc.struts.validator

    Nombre ValidatorUtils

    Descripcin Se arregla un bug de la librera de validacin de Struts para la validacin de campos de seleccin mltiples.

    Paquete: edu.gesdoc.struts.validatorEste paquete realiza algunas de las validaciones de los datos introducidos por elusuario

    65

    Diseo

  • APLICACIN WEB PARA GESTIN DOCENTE

    66

    Paquete: edu.gesdoc.hibernateComo ya se ha dicho, este paquete constar de todas aquellas clases que asocien losdatos de una tabla de la base de datos con un objeto lgico que vaya a emplearse enla aplicacin.

  • Paquete: edu.gesdoc.hibernate.persistenciaEste paquete constar con todas aquellas clases (beans) que asocien los datos deuna tabla de la base de datos con un objeto lgico que vaya a emplearse en laaplicacin, adems de los ficheros XML de configuracin de cada una.

    Cada una de las tablas de la base de datos y sus columnas estar representada poruna clase y sus atributos, respectivamente.

    67

    Diseo

  • APLICACIN WEB PARA GESTIN DOCENTE

    68

    Paquete: edu.gesdoc.hibernate.gestionAgrupa a las clases que realizan operaciones de insercin, obtencin y eliminacin enla base de datos, apoyndose en los beans de persistencia

  • Paquete edu.gesdoc.hibernate.gestion

    Nombre Borrar

    Descripcin Eliminacin de informacin de la base de datos: grupos de prcticas

    Paquete edu.gesdoc.hibernate.gestion

    Nombre Insertar

    Descripcin Insercin de informacin en la base de datos: usuarios, asignaturas, grupos de prcticas, comentarios, registros

    Paquete edu.gesdoc.hibernate.gestion

    Nombre Obtener

    Descripcin Obtencin de informacin en la base de datos: usuarios, asignaturas,

    grupos de prcticas, comentarios del grupo, alumnos matriculados, tamao mximo del grupo de prcticas

    69

    Diseo

  • APLICACIN WEB PARA GESTIN DOCENTE

    70

    Paquete: edu.gesdoc.uti

  • Contiene las clases que realizan diferentes funciones necesarias para elfuncionamiento de la apli cacin.

    71

    Diseo

  • Paquete edu.gesdoc.util

    Nombre AppConfiguration

    Descripcin Gestiona el manejo del fichero de propiedades de configuracin de la

    aplicacin. Permite obtener los distintos valores de configuracin.

    Paquete edu.gesdoc.util

    Nombre Cifrador

    Descripcin Utilizada para encriptar y desencriptar texto utilizando

    PBEWithMD5AndDES [ PBE (Password-Based Encryptation = Cifrado basado en contrasea) con MD5 de la contrasea y DES para el cifrado ]

    Paquete edu.gesdoc.util

    Nombre Constantes

    Descripcin Almacena literales (atributos de sesin, parmetros de peticin, nombres de mappings...), identificadores (modo de salida, celdas del fichero excel,

    perfiles) y consultas HQL.

    Paquete edu.gesdoc.util

    Nombre EnviarMail

    Descripcin Utilizada para el envo de correos.

    Paquete edu.gesdoc.util

    Nombre Exportacion

    Descripcin Obtiene la informacin requerida para la exportacin y los muestra por pantalla o genera un fichero excel con ellos.

    APLICACIN WEB PARA GESTIN DOCENTE

    72

  • Paquete edu.gesdoc.util

    Nombre Importacion

    Descripcin Carga los alumnos de la asignatura que contiene el fichero a la base de

    datos.

    Paquete edu.gesdoc.util

    Nombre Listas

    Descripcin Genera todas las listas de valores necesarias para mostrar en las pginas y

    formularios, tales como asignaturas, aos, acciones, grupos de asignatura

    Paquete edu.gesdoc.util

    Nombre Messages

    Descripcin Enva mensajes y errores o literales al interfaz de usuario

    Paquete edu.gesdoc.util

    Nombre Util

    Descripcin Distintas funciones como la generacin aleatoria de una contrasea, obtencin de texto a mostrar, conversiones de tipos de datos

    73

    Diseo

  • Paquete edu.gesdoc.bean

    Nombre ExportacionDatosBean

    Descripcin Contiene los datos para la exportacin por pantalla o fichero

    Paquete edu.gesdoc.log4j

    Nombre Log4JInit

    Descripcin Servlet que se encarga de configurar la utilidad en el arranque de la aplicacin obteniendo los datos del fichero de configuracin

    APLICACIN WEB PARA GESTIN DOCENTE

    74

    Paquete: edu.gesdoc.beanContiene los beans utilizados en la aplicacin.

    Paquete: edu.gesdoc.log4jContiene las clases y los archivos de configuracin necesarios para la configuracinde Log4J.

  • Paquete edu.gesdoc.exception

    Nombre GesdocException

    Descripcin Excepcin personalizada para la aplicacin

    Paquete edu.gesdoc.exception

    Nombre GesdocExceptionHandler

    Descripcin Gestor de excepciones propio para la aplicacin

    Paquete: edu.gesdoc.exceptionContiene lo relacionado con las excepciones de la aplicacin.

    DISEO DE DATOSLos puntos anteriores fueron dedicados a la definicin de los distintos requerimientos de laaplicacin as como describir, ya sea mediante distintas tablas como con diferentes diagramas,el funcionamiento de la aplicacin y los elementos que necesita sta para el correctocumplimiento de los requerimientos definidos. En este punto, sin embargo, se habla del modelo de datos que necesitar la aplicacin paraalmacenar toda la informacin con la que va a trabajar. Adems, contemplaremos tambinpuntos importantes como son la carga inicial de datos que deber tener la aplicacin, as comola forma de conectar el sistema con la base de datos.

    En el documento de anlisis funcional del sistema hemos definido el modelo de datos medianteel empleo de diferentes diagramas entidad relacin. Pues basndonos en esos diagramasrealizaremos ahora el paso a tablas definiendo cada uno de los campos que contendr cadatabla y una breve descripcin de cada uno de ellos.

    75

    Diseo

  • Nombre USUARIO

    Descripcin Usuarios de la aplicacin.

    Descripcin campos

    ID_USUARIO Identificador del usuario (Clave primaria de la tabla USUARIO)

    ID_PERFIL Identificador del perfil (Clave fornea de la tabla PERFIL)

    NOMBRE Nombre completo

    CORREO Correo electrnico

    USUARIO Usuario de inicio de sesin en la aplicacin

    CONTRASENA Contrasea de inicio de sesin en la aplicacin

    Nombre PERFIL

    Descripcin Perfiles de los usuarios de la aplicacin.

    Descripcin campos

    ID_PERFIL Identificador del perfil (Clave primaria de la tabla PERFIL)

    DESCRIPCION Descripcin

    Nombre ALUMNO

    Descripcin Alumnos de la aplicacin.

    Descripcin campos

    ID_ALUMNO Identificador del alumno (Clave primaria de la tabla ALUMNO)

    ID_USUARIO Identificador del usuario (Clave fornea de la tabla USUARIO)

    NIA Nmero de Identificacin del Alumno

    DNI Documento Nacional de Identidad

    CapituloAPLICACIN WEB PARA GESTIN DOCENTE

    76

  • Nombre PROFESOR

    Descripcin Profesores de la aplicacin.

    Descripcin campos

    ID_PROFESOR Identificador del profesor (Clave primaria de la tabla PROFESOR)

    ID_USUARIO Identificador del usuario (Clave fornea de la tabla USUARIO)

    INFO Informacin de localizacin y horario de tutoras

    Nombre ASIGNATURA

    Descripcin Asignaturas de la aplicacin.

    Descripcin campos

    ID_ASIGNATURA Identificador de la asignatura (Clave primaria de la tabla

    ASIGNATURA)

    CODIGO Cdigo de Asignatura (nico alfanumrico)

    NOMBRE Nombre

    DESCRIPCION Descripcin

    CRITERIOS Criterios de Evaluacin

    PERIODO_COMENTARIOS Perodo de tiempo en que un alumno puede insertar comentarios sobre otros grupos de prcticas

    ANIO Ao acadmico

    TAMANO_MAX_GRUPO Tamao mximo de los grupos de prcticas

    Nombre GRUPO_ASIGNATURA

    Descripcin Grupos de las asignaturas.

    Descripcin campos

    ID_GRUPO_ASIGNATURA Identificador del grupo de la asignatura (Clave primaria de la tabla GRUPO_ASIGNATURA)

    ID_ASIGNATURA Identificador de la asignatura (Clave fornea de la tabla ASIGNATURA)

    CODIGO Cdigo del Grupo

    DESCRIPCION Descripcin

    77

    APLICACIN WEB PARA GESTIN DOCENTE Diseo

  • Nombre USUARIO_GRUPO_ASIGNATURA

    Descripcin Relaciona usuarios con grupos de asignaturas.

    Descripcin campos

    ID_USUARIO_GRUPO_ASIGNATURA Identificador del usuario del grupo de la asignatura (Clave primaria de la tabla USUARIO_GRUPO_ASIGNATURA)

    ID_USUARIO Identificador del usuario (Clave fornea de la tabla USUARIO)

    ID_GRUPO_ASIGNATURA Identificador del grupo de la asignatura (Clave fornea de la tabla GRUPO_ASIGNATURA)

    Nombre GRUPO_PRACTICA

    Descripcin Grupos de prcticas de las asignaturas.

    Descripcin campos

    ID_GRUPO_PRACTICAS Identificador del grupo de prcticas de la

    asignatura (Clave primaria de la tabla GRUPO_PRACTICA)

    ID_ASIGNATURA Identificador de la asignatura (Clave fornea de la tabla ASIGNATURA)

    NUMERO Nmero de grupo

    NOMBRE Nombre del grupo

    FECHA_INICIO_COMENTARIOS Fecha de inicio del perodo de tiempo en que un

    alumno puede insertar comentarios del grupo

    FECHA_FIN_COMENTARIOS Fecha final del perodo de tiempo en que un alumno puede insertar comentarios del grupo

    APLICACIN WEB PARA GESTIN DOCENTE

    78

  • Nombre GRUPO_PRACTICA_ALUMNO

    Descripcin Relaciona alumnos con grupos de prcticas de las asignaturas.

    Descripcin campos

    ID_GRUPO_PRACTICAS_ALUMNOS Identificador del alumno del grupo de prcticas de la asignatura (Clave primaria de la tabla GRUPO_PRACTICA_ALUMNO)

    ID_GRUPO_PRACTICAS Identificador del grupo de prcticas de la asignatura (Clave fornea de la tabla GRUPO_PRACTICA)

    ID_ALUMNO Identificador del usuario (Clave fornea de la tabla USUARIO)

    Nombre COMENTARIO_GRUPO_PRACTICA

    Descripcin Comentarios sobre grupos de prcticas realizados por usuarios.

    Descripcin campos

    ID_COMENTARIO_GRUPO_PRACTICAS Identificador del comentario sobre el grupo de prcticas realizado por el usuario (Clave primaria de la tabla COMENTARIO_GRUPO_PRACTICA)

    ID_GRUPO_PRACTICAS Identificador del grupo de prcticas de la asignatura (Clave fornea de la tabla GRUPO_PRACTICA)

    ID_USUARIO Identificador del usuario (Clave fornea de la tabla USUARIO)

    COMENTARIO Comentario

    FECHA Fecha del comentario

    Nombre ACCION

    Descripcin Acciones relevantes realizadas por un usuario.

    Descripcin campos

    ID_ACCION Identificador de la accin (Clave primaria de la tabla ACCION)

    DESCRIPCION Descripcin

    ORDEN rden en el que se muestra la accin en el men del usuario

    79

    Diseo

  • Nombre REGISTRO_ACCION

    Descripcin Registro de acciones.

    Descripcin campos

    ID_REGISTRO_ACCION Identificador del registro de acciones (Clave primaria de la tabla REGISTRO_ACCION)

    ID_USUARIO Identificador del usuario (Clave fornea de la tabla USUARIO)

    ID_ACCION Identificador de la accin (Clave fornea de la tabla ACCION)

    IP Direccin IP

    FECHA Fecha de realizacin

    DESCRIPCIN Descripcin

    Nombre PERFIL_ACCION

    Descripcin Acciones permitidas para cada perfil.

    Descripcin campos

    ID_PERFIL_ACCION Identificador de la accin del perfil (Clave primaria de la tabla PERFIL_ACCION)

    ID_PERFIL Descripcin

    ID_ACCION rden en el que se muestra la accin en el men del usuario

    APLICACIN WEB PARA GESTIN DOCENTE

    80

  • Hasta ahora hemos hecho una descripcin de las tablas, y de los campos de stas, que va anecesitar el sistema. Pero con la sola existencia de estas tablas el sistema no estara preparado correctamente. Estose debe a que muchas de las tablas son slo para el almacenamiento de datos de, por ejemplo,grupos de prcticas, comentarios, etc., pero otras muchas eran necesarias para mostrarinformacin inicial de datos, esto es por ejemplo las acciones, los perfiles existentes, etc.En este punto indicaremos las tablas que necesitan estar cargadas al inicio de la aplicacin. Susdatos iniciales se pueden obtener del fichero create-db-gesdoc.sql.Las tablas son:

    ACCIONPERFILPERFIL_ACCIONUSUARIO (Un administrador por defecto)

    Para obtener la conexin a la base de datos, se utiliza el fichero de configuracin de Hibernatehibernate.cfg.xml.En este fichero se definen los parmetros de la base de datos:

    GESDOC_APPjdbc:mysql:///GESDOCorg.hibernate.dialect.MySQLDialectGESDOC_APPcom.mysql.jdbc.Driver30

    DISEO DE INTERFACES GRFICASComo es lgico, la existencia de una interfaz grfica de fcil manejo y diseo atractivo esbsica.En un entorno web es fundamental que la interfaz de usuario sea sencilla, intuitiva y atractiva,y que no necesite un tiempo de aprendizaje adicional.En este caso, la interfaz ser similar para los diferentes usuarios de los que constar laaplicacin. Deber ser homognea y la nica diferencia que exista, dependiendo del usuarioque haya accedido, estar en la cantidad de opciones a las que tenga acceso.

    Generacin del layout general de la capa de presentacinEste punto ser dedicado a la definir como se va a implementar la capa depresentacin haciendo especial atencin a aquellos ficheros que sean ms relevantes. Como ya se ha explicado, en la capa de presentacin se han estructurado las pginasmediante Tiles, que permiten una mayor facilidad a la hora de estructurar la pgina web. Empleando estas libreras, el diseo genrico finalmente quedar de la siguientemanera:

    81

    Diseo

  • APLICACIN WEB PARA GESTIN DOCENTE

    82

    Todas las definiciones de las pginas de la aplicacin pueden encontrarse en el ficheroWEB-INF/tiles.xml. Este fichero se define en el fichero /WEB-INF/struts_config.xml dela siguiente forma:

    El fichero tiles-definitions.xml tiene las definiciones dadas en la imagen anterior. Lasdefiniciones permiten herencia por lo que existir una definicin base y de staextendern todas las dems. La definicin base contiene:path: pgina que especifica como se organizarn los siguientes atributos:header: pgina de la cabeceratools: pgina que muestra el usuario activo y la opcin Salirmenu: pgina del men

    messages: pgina que muestra los mensajes y errores

  • Ahora cada definicin especifica el contenido y su ttulo, que ser la parte variable.Por ejemplo para la pgina de creacin de asignaturas:

    Por ltimo en este apartado decir que todos los textos de las pginas se han incluidoen el fichero ApplicationResources.properties ubicado en el paquete edu.gesdoc.struts,por lo que la administracin de literales y la internacionalizacin de la aplicacin sepodran realizar de forma sencilla.

    Diseo de la interfaz grficaEn este punto mostraremos las distintas interfaces que se emplearn en la aplicacin. Para ello, podremos abarcar casi todas las situaciones de la aplicacin mediante elempleo de diferentes capturas de pantalla para cada uno de los escenarios mostradosen los diagramas de iteracin.

    83

    Diseo

  • APLICACIN WEB PARA GESTIN DOCENTE

    84

  • 85

    Diseo

  • APLICACIN WEB PARA GESTIN DOCENTE

    86

  • 87

    Diseo

  • APLICACIN WEB PARA GESTIN DOCENTE

    88

  • Diseo

    89

  • APLICACIN WEB PARA GESTIN DOCENTE

    90

  • Diseo

    91

  • APLICACIN WEB PARA GESTIN DOCENTE

    92

  • Diseo

    93

  • APLICACIN WEB PARA GESTIN DOCENTE

    94

  • INTRODUCCINEl presente punto contiene la lista de pruebas de sistema a realizar en la aplicacin.El motivo por el cual se quieren ejecutar estas pruebas es para demostrar el correctofuncionamiento de la aplicacin para posteriormente realizar su puesta en produccin.

    Pruebas

    95

  • APLICACIN WEB PARA GESTIN DOCENTE

    96

  • Pruebas

    97

  • APLICACIN WEB PARA GESTIN DOCENTE

    98

  • 99

    Pruebas

  • APLICACIN WEB PARA GESTIN DOCENTE

    100

  • Manuales

    101

    MANUAL DE INSTALACIN

    En este documento se presenta la manual de instalacin de la aplicacin Web para GestinDocente.

    A continuacin se especifican los requisitos bsicos necesarios para el funcionamiento de laaplicacin.Es necesario disponer del siguiente entorno:

    MySQL 5 instalada [http://dev.mysql.com/downloads/mysql/5.0.html]JRE 1.4.2 instalada [http://java.sun.com/j2se/1.4.2/download.html]Tomcat 5 instalado [http://tomcat.apache.org/download-55.cgi]

    La aplicacin ha sido probada bajo el entorno y versiones descritos. La aplicacin puede sercompatible con otros entornos y versiones, si bien no han sido probados.

    A continuacin se detallan los pasos a seguir para realizar la instalacin de las aplicaciones queconforman el entorno sobre el que se ejecuta la aplicacin.La instalacin del entorno puede hacerse bajo distintos sistemas operativos. Para un mayordetalle consulte las guas de instalacin proporcionadas por cada una de las aplicaciones.

    A. Instalar MySQL-5.0Pasos para la instalacin de MySQL-5.0:

    Configure MySQL Server Now:Detailed ConfigurationServer MachineMultifunctional DatabaseInnoDB: valores por defectoManual Setting: 50 concurrentPort 3306 y Enable Strict ModeStandard Character SetInstall as windows service y chequear Include bin directoryRoot password: [contrasea]Pulsar execute.B. Instalar JRE 1.4.2_16Instalacin Tpica.

  • APLICACIN WEB PARA GESTIN DOCENTE

    102

    C. Instalar Tomcat 5Aceptar licenciaInstalar tomcat y start menu itemPuerto 8080 por defecto, introduzca usuario y password de administrador de Tomcat.Seleccionar JRE: seleccionar directorio en el que se instalo el jre. Por defecto en Windows C:\Archivos de programa\Java\jre1.4.2_16instalarSeleccionar Run Apache Tomcat

    A continuacin se detallan los pasos a seguir para la instalacin de la aplicacin en el entornodescrito en el paso anterior.Para la instalacin de la aplicacin nicamente es necesario realizar los siguientes pasos:

    A. Desplegar el fichero WAR: gesdoc.war bajo el contenedor de JSPs elegido. Si elcontenedor es Tomcat basta con copiar el fichero gesdoc.war en el directorio$CATALINA_HOME/webapps.

    B. El modulo servidor usa MySQL como base de datos relacional para almacenarinformacin. Por ello es necesario que la base de datos est preparada para el uso delmodulo servidor. Para la creacin del esquema de base de datos:$\MySQL\MySQL Server 5.0\bin> mysql -h localhost -u root pEnter password: ********Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 43Server version: 5.0.45-community-nt MySQL Community Edition(GPL)Type help; or \h for help. Type \c to clear the buffer.mysql> create database GESDOC;Query OK, 1 row affected (0.03 sec)mysql> grant CREATE,INSERT,DELETE,UPDATE,SELECT on FORMDB.* toGESDOC_ADMIN@localhost IDENTIFIED BY GESDOC_ADMIN;Query OK, 0 rows affected (0.15 sec)

    Y para la carga de informacin bsica se proporciona un script SQL: create-db-gesdoc.sql. Conectar al servidor de base de datos MySQL y ejecutar el script (create-db-gesdoc.sql) encargado de la creacin de la base de datos y de la carga deinformacin bsica.

  • Manuales

    103

    Para ejecutar la aplicacin es necesario:A. Arrancar el servidor MYSQLB. Arrancar el servido TOMCATC. Arrancar navegador web y acceder a la aplicacin a travs de la siguiente URL:

    http://localhost:8080/gesdoc/Si no se accede desde el propio servidor o no se utiliza el puerto por defecto del Tomcatmodificar el 8080 por el puerto especificado. Acceder mediante:http://servername:port/gesdoc/

    D. Introduzca el usuario y contrasea. El usuario y contrasea administrador que se instala por defecto es admin / admin.

    Modificaciones de contrasea por defectoPara generar contraseas cifradas o descifrar otras ya existentes se proporciona laclase Cifrador. Para obtener la contrasea, por ejemplo del administrador por defecto, se ejecutar dela siguiente manera:$> java Cifrador D zf1CbCmFckg=zf1CbCmFckg= -> DESENCRIPTACION -> adminobteniendo as la contrasea descifrada.Para generar un nuevo usuario administrador:

    A. Generar la contrasea cifrada:$> java Cifrador E admin2admin2 -> ENCRIPTACION -> au5IwJrfcaw=

    B. Insertar el usuario en la base de datos:INSERT INTO USUARIO (ID_USUARIO, ID_PERFIL, NOMBRE, CORREO, USUARIO, CONTRASENA) VALUES (2, 1, Administrador2, [email protected], admin2, au5IwJrfcaw=);

    Modificaciones de la configuracin general de la aplicacinPara ello es necesario modificar el fichero app-config.properties y definir los nuevosvalores para las variables que queramos modificar:

    A. TIEMPO_MAX_INACTIVIDAD_SESION: Nmero de minutos de duracin mxima de la sesin de cada usuarioB. RUTA_TEMPORAL: Directorio temporal para la generacin de los ficheros excel de exportacinC. CORREO_ENVIO_SMTP: Servidor SMTPD. CORREO_ENVIO_PUERTO: Puerto SMTEE. CORREO_ENVIO_CUENTA: Cuenta de correo origen para los envosF. CORREO_ENVIO_USUARIO: Usuario de la cuenta de correo origen

  • APLICACIN WEB PARA GESTIN DOCENTE

    104

    G. CORREO_ENVIO_CONTRASENA: Contrasea de la cuenta de correo origH. CORREO_ENVIO_ASUNTO: Asunto genrico del correo con los datos personalesModificaciones de la configuracin de la base de datos de la aplicacin

    La configuracin de la conexin de la aplicacin a la base de datos se encuentra en elfichero hibernate.cfg.xml.Podremos alterar la configuracin bsica de la base de datos:

    hibernate.connection.driver_class: clase del driver JDBChibernate.connection.url : JDBC URLhibernate.connection.username : usuario de la base de datoshibernate.connection.password : contrasea de la base de datoshibernate.connection.pool_size: Nmero mximo de conexiones del pool

    Tambin podremos modificar los valores por defecto de propiedades de configuracinopcionaleshttp://www.hibernate.org/hib_docs/v3/reference/en-US/html/configuration-optional.html

    MANUAL DE USUARIO

    Este manual le permitir aprender a utilizar todas las funcionalidades bsicas de Gesdoc.Gesdoc es una herramienta para la gestin de prcticas de asignaturas de la universidad, conla posibilidad de creacin de asignaturas y sus diferentes grupos, grupos de practicas,profesores, alumnos, insercin de comentariosCada perfil tendr un determinado nivel de acceso a las diferentes funcionalidades de laaplicacin.

    Al tratarse de una aplicacin web, los usuarios pueden acceder a ella mediante un navegador.Por lo tanto slo es necesario que el usuario tenga instalado en su equipo un navegador webcomo Mozilla Firefox o Internet Explorer.

  • Manuales

    105

    Iniciar SesinAcceda a la URL de la aplicacin y una vez se le muestra el formulario de entrada,introduzca su usuario y contrasea y pulse Enviar.

    Cerrar SesinUna vez dentro de la aplicacin, en la parte superior derecha encontrar su perfil, nombre deusuario y un enlace con el texto Salir. Plselo para cerrar su sesin.

    AdministradorCrear una asignatura

    Pulse en la opcin Creacin de la asignatura en el men de la izquierda.Rellene al menos los datos obligatorios del formulario y pulse Crear.

  • APLICACIN WEB PARA GESTIN DOCENTE

    106

    Crear un grupo de una asignaturaPulse en la opcin Creacin de grupo de asignatura en el men de la izquierda.Rellene el formulario y pulse Crear.

    Crear un profesorPulse en la opcin Creacin de profesor en el men de la izquierda.Rellene al menos los datos obligatorios del formulario y pulse Crear.

  • Manuales

    107

    Importar alumnosPulse en la opcin Importacin de alumnos en el men de la izquierda.Seleccione el grupo de la asignatura en el que va a importar los alumnos. Pulse enExaminar y seleccione de su disco duro local el fichero que contiene los datos delos alumnos. El fichero deber tener el siguiente formato:Pulse Importar.

  • APLICACIN WEB PARA GESTIN DOCENTE

    108

    Modificar un grupo de prcticasPulse en la opcin Modificacin de grupo de prcticas en el men de la izquierda.Seleccione el grupo de prcticas que va a modificar y pulse Enviar.

    Rellene el formulario si lo desea, seleccione los alumnos disponibles que compondrnel grupo y pulse Modificar.

    Exportar datosPulse en la opcin Exportacin de datos en el men de la izquierda.Seleccione la asignatura de la que va a exportar datos, el modo de salida de stos y pulse Enviar.

  • Manuales

    109

    Pulse sobre la exportacin que desea realizar, seleccionando un usuario en el caso de que la exportacin lo exija.

    Si ha seleccionado el modo de salida por pantalla mostrar los datos por pantalla.

    Si ha seleccionado el modo de salida por fichero se lanzar la descarga del ficheroque mostrar los mismos datos.

  • APLICACIN WEB PARA GESTIN DOCENTE

    110

    Activar alumnosPulse en la opcin Activacin de alumnos en el men de la izquierda.Seleccione la asignatura en la que va a activar los alumnos y pulse Activar.

    Insertar un comentarioPulse en la opcin Insercin de comentario en el men de la izquierda.Seleccione el grupo de prcticas del que va a insertar el comentario y pulse Insertar.

    Crear un grupo de prcticasPulse en la opcin Creacin de grupo de prcticas en el men de la izquierda.Seleccione la asignatura en la que va a crear el grupo de prcticas y pulse Enviar.

    Seleccione los alumnos disponibles que compondrn el grupo y pulse Crear

  • PresupuestoAPLICACIN WEB PARA GESTIN DOCENTE

    111

    En la siguiente tabla se muestra el presupuesto detallado que supondra la realizacin del sistemaen la modalidad llave en mano.Se muestra el precio y las horas especficas para cada tarea y la total para el proyecto.

    JP: Jefe de ProyectoAN: AnalistaAP: Analista ProgramadorPR: ProgramadorDW: Diseador Web

  • En la siguiente imagen se muestra la planificacin del proyecto.

    112

    APLICACIN WEB PARA GESTIN DOCENTE

  • 113

    Presupuesto

  • El desarrollo de software basado en componentes, como es ste, permite reutilizar piezas de cdigopre-elaborado que permiten realizar diversas tareas.Aqu se presenta un nuevo presupuesto estimando el coste de un segundo proyecto similar en el quese reutilice cdigo ya disponible.

    114

    APLICACIN WEB PARA GESTIN DOCENTE

  • Application Programming Interface (Interfaz de Programacin de Aplicaciones)DataBase (Base de Datos)

    Data Encryption Standard (Estndar de Cifrado de Datos)Document Object Model (Modelo en Objetos para la representacin de Documentos)

    Entity-Relationship (Entidad-Relacin)GNU Public License (Licencia Pblica General de GNU)

    Graphical User Interface (Interfaz Grfica de Usuario)HyperText Markup Language (Lenguaje de Marcas de Hipertexto)

    Hibernate Query Language (Lenguaje de Consulta de Hibernate)Integrated Development Environment (Entorno de Desarrollo Integrado)Internet Inter-ORB Protocol (Protocolo Entre ORBs para Internet, es decir para TCP/IP)

    Internet Protocol (Protocolo de Internet)Java API for XML Processing (API Java para Procesado de XML)Java Platform, Enterprise Edition o Java EE (anteriormente conocido como Java 2

    Platform, Enterprise Edition o J2EE hasta la versin 1.4)Java Development Kit 2Java DataBase Connectivity (Conectividad Java a Bases de Datos)

    Java Message Service (Servicios de Mensajera de Java)Java Naming and Directory Interface (Interfaz de Nombrado y Directorio)Java Runtime Environment (Entorno en Tiempo de Ejecucin Java)Java Server Page (Pgina Java de Servidor)Java Transaction API (API para Transacciones en Java)Java Virtual Machine (Mquina Virtual de Java)Look and Feel (El estlo, que aplicado al internet tiene que ver con el interfaz grfico)

    Log For Java (Registro para Java)Message-Digest Algorithm 5 (Algoritmo de Resumen del Mensaje 5)Model View Controller (Modelo Vista Controlador)Object-Oriented Programming (Programacin Orientada a Objetos)Object Request Broker (Broker de Peticin de Objeto)Remote Method Invocation (Invocacin de Mtodo Remoto)

    115

    Acrnimos

  • Remote Procedure Call (Llamada a Procedimiento Remoto)Operating System (Sistema Operativo)(Service Provider Interface) Interfaz de Proveedor de ServicioStructured Query Language (Lenguaje de consulta estructurado)Transmission Control Protocol (Protocolo de Control de Transmisin)

    User Interface (Interfaz de Usuario) Unified Modeling Language (Lenguaje Unificado de Modelado)Web Application Resource (Recurso de Aplicacin Web)World Wide Web Consortium (Consorcio Web)Web Content Accessibility Guidelines (Directrices de Accesibilidad para el Contenido Web)

    Extensible Markup Language (Lenguaje de marcas ampliable)

    116

    APLICACIN WEB PARA GESTIN DOCENTE

  • Java en castellano. Foros de debate. Java (bsico). Programa Encriptacin. 22 de Mayo de 2005

    MySQL. MySQL 5.0 Reference Manual.

    MySQL. MySQL 5.0 Reference Manual. 11.6 Date and Time Functions

    Wikipedia. Model-view-controller

    Wikipedia. Apache Struts

    Wikipedia. Tomcat

    Wikipedia. HTML

    Wikipedia. Modelo entidad-relacin

    Wikipedia. Hibernate

    Wikipedia. Java EE

    Wikipedia. Javascript

    Wikipedia. Log4j

    Wikipedia. Modelo Vista Controlador

    117

    Referencias

  • APLICACIN WEB PARA GESTIN DOCENTE

    118

    Wikipedia. MySQL

    HONTZA - Vigilancia Competitiva. Manual de uso. Versin 1.020 de Marzo de 2006

    Plataforma IE Mdulo Servidor. Manual de instalacin. Versin 1.0

    Java BluePrints. Design Patterns: Model-View-Controller

    Java 2 Platform, Standard Edition, v 1.4.2 API Specification

    Java Boutique. Handling Messages, Errors and Exceptions in Struts 1.1 - Page 3

    Mundo Geek. Hibernate27 de Enero de 2007

    Apache POI . Java API To Access Microsoft Format Files. Documentation

    The Apache Software Foundation. Struts 1. Documentation. User Guide

    The Apache Software Foundation. Apache Tiles. Documentation. Tutorial. Configuration

    Ana Fernndez Vilas. Introduccin a UML. Diagrama de clases (estructura esttica)20 de Marzo de 2001

    log4j Wiki. Log4jXmlFormat

    Adictos al Trabajo. Tutoriales. Extender la validacin en Struts17 de Febrero de 2006

  • All App Labs. Tiles. Create a Tile Definition

    Bharti SoftLand. The Technology and skill Sets We Use. Cake PHP Developments

    Ejemplos java y C/linux. Tutoriales y Ejemplos de Java. Herramientas tiles. Enviar un correocon JavaMail

    Hibernate - Relational Persistence for Idiomatic Java. Chapter 14. HQL: The Hibernate QueryLanguage

    Java Hispano. Documentacin. Artculos. Tiles en Struts1 de Septiembre de 2002

    Java Hispano. Foro. Persistencia. CMP, BMP, POJOS... Hibernate Ventajas2 de Agosto de 2004

    Rose India. Frameworks. Struts Validator Framework Tutorial with Example

    RefWorks. Manual de UsuarioAgosto de 2006

    World Wide Web Consortium. Technical Reports and Recommendations. Web Content Ac-cessibility Guidelines 1.05 de Mayo de 1999

    World Wide Web Consortium. Introduccin a las Pautas de Accesibilidad al Contenido en laWeb (WCAG)

    119

    Referencias