-
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