Upload
voque
View
223
Download
2
Embed Size (px)
Citation preview
Autorizada la entrega del proyecto de la alumna:
Irene Carolina Vigil Piñera
EL DIRECTOR DEL PROYECTO
Fdo.: David Contreras Bárcena Fecha: 27/ Junio /2007
Vº Bº del Coordinador de Proyectos
Fdo.: David Contreras Bárcena Fecha: 27/ Junio /2007
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR INGENIERÍA - ICAI
INGENIERO EN INFORMÁTICA
PROYECTO FIN DE CARRERA
PLATAFORMA PARA DOCENCIA
VIRTUAL ON-LINE
DIRECTOR: DAVID CONTRERAS BÁRCENA
AUTORA: IRENE CAROLINA VIGIL PIÑERA
MADRID, JUNIO 2007
I
A mis padres, sin ellos nunca habría sido posible.
A Riki por su ayuda y paciencia…
II
RESUMEN
En esta sociedad en la que vivimos, en la que cada vez la tecnología
abarca más campos de nuestra vida, es lógico pensar que la formación no va a
ser una excepción y tenderá a adaptarse a las nuevas tecnologías emergentes.
La formación presencial clásica está comenzando a disminuir, entorno a
un 5% anual, a favor de la formación on-line en sus diversas variantes, entre
las cabe destacar el e-Learning y el Blended-Learning, que están sufriendo un
aumento entorno al 40 % anual.
Asimismo, la diversificación de los contenidos impartidos on-line está
sufriendo una gran diversificación, siendo hoy en día los idiomas, las materias
más solicitadas on-line. Esta diversificación seguirá aumentando, alcanzando
todos los distintos campos de la formación.
El proyecto desarrollado pretende hacer accesible la formación on-line a
todo tipo de usuarios, independientemente de los conocimientos tecnológicos
previos que posea. Para ello se ha diseñado y programado una plataforma para
docencia on-line sencilla e intuitiva, fácil de utilizar, escalable y adaptable a
cualquier centro docente.
Este proyecto se centra en el tipo de formación llamado Blended-
Learning, de reciente aparición, que trata de compaginar la formación on-line
con la formación presencial clásica.
El proyecto trata de adaptar la formación on-line a las nuevas
tecnologías emergentes actualmente, enfocando el desarrollo hacia la Web 2.0,
siguiendo la tendencia de sustituir la tecnología de “pull” por la de “push”
como forma de acceder a la información en los desarrollos Web, enviando la
información actualizada al usuario en lugar de que este sea el que deba acceder
a ella, reduciendo con ello el tiempo necesario para su consulta.
III
Para lograr este objetivo, se ha introducido en el desarrollo la tecnología
RSS de sindicación de contenidos, para realizar la notificación a los usuarios de
las tutorías planificadas para cada una de las asignaturas en las que esté
matriculado.
El proceso de análisis y diseño de la aplicación se ha realizado siguiendo
la metodología basada en la realización de diagramas UML, al ser la más
adecuada para ello, al tratarse de un desarrollo orientado a objetos, obteniendo
diagramas de una gran claridad, que facilitan tanto el planteamiento como el
diseño y desarrollo del sistema.
En el proceso de desarrollo y codificación se ha empleado la plataforma
J2EE, que permite el desarrollo de aplicaciones distribuidas, mediante el uso de
páginas JSP, JavaScript, servlets y demás elementos necesarios para el
desarrollo de aplicaciones Web.
La plataforma diseñada posee tres módulos independientes, coincidiendo
con los tres tipos de usuarios contemplados: alumno, profesor y personal del
centro docente. Cada uno de ellos dispone de funcionalidad personalizada,
permitiendo el intercambio de todo tipo de información, realización de trámites
con el centro docente, matriculación en nuevas asignaturas…
IV
ABSTRACT
In today’s society, where technology increasingly embraces more and
more aspects of our lives, it is logical to think that training is no exception and
that it will eventually adapt to new, emerging technologies.
Traditional, face-to-face teaching is losing ground annually by some 5%
in favour of on-line training in its various alternatives, with particular emphasis
on e-Learning and Blended-Learning which are registering an annual growth of
in the region of 40%.
In addition, the selection of training available on-line is growing rapidly,
with languages being the most sought-after subject. This diversification will
intensify to cover all branches of learning.
The project in question is aimed at making on-line training available to
all types of users, independently of their technological know-how and thus a
platform has been designed and programmed to provide simple and intuitive
teaching methods which are easy to use, scalable and adaptable to any
teaching centre.
This project is centred on a training system known as Blended-Learning,
a recent advance which attempts to reconcile on-line training with traditional,
face-to-face teaching.
The project aims at adapting on-line training to new, emerging
technologies, focusing on Web 2.0 and following the trend whereby “pull” is
substituted by “push” as a way to access information on the Web, thereby
sending up-dated information to the user instead of requiring the user to make
access, thus reducing the time necessary for any consultation.
V
To achieve this, RSS technology regarding content syndication has been
introduced into the project in order to notify a user of the classes planned for
each of the subjects he is taking.
The analysis and design process for the application has been carried out
following the methodology based on the creation of UML diagrams. This
methodology is the most suitable as it is targeted at objects, obtaining
extremely clear diagrams which facilitate both planning and the design and
development of the system.
The J2EE platform has been used in the development and coding
process. This allows for the development of distributed applications by using
JSP pages, Java Script, servlets and other elements necessary for the
development of Web applications.
The platform designed has three separate modules, coinciding with the
three types of user taken into account: student, teacher and staff at the
teaching centre. Each of these has a personalised function, allowing for the
interchange of all types of information, action to be taken with the teaching
centre, registration in new subjects, etc.
VI
INDICE
1. Introducción ................................................................................... 1
1.1. Objetivos del sistema ...................................................................... 3
1.2. Alcance .......................................................................................... 5
1.3. Metodología.................................................................................... 6
1.4. Planificación.................................................................................... 8
1.5. Estado del arte ............................................................................... 9
1.6. Tecnología.................................................................................... 12
2. Análisis de requisitos.................................................................... 33
2.1. Modelo de dominio........................................................................ 34
2.2. Glosario de clases del dominio ....................................................... 35
2.3. Diagrama de casos de uso............................................................. 36
2.4. Descripción de casos de uso .......................................................... 42
3. Diseño del sistema........................................................................ 65
3.1. Diseño de la arquitectura............................................................... 66
3.2. Diseño interno .............................................................................. 72
3.3. Diagramas de secuencia ................................................................ 85
3.4. Diseño de la base de datos............................................................ 87
4. Implantación y pruebas.............................................................. 100
4.1. Estructura de directorios...............................................................102
5. Estudio económico...................................................................... 105
5.1. Coste de desarrollo ......................................................................106
5.2. Costes operacionales....................................................................109
5.3. Costes totales ..............................................................................110
6. Conclusiones ............................................................................... 111
7. Bibliografía.................................................................................. 114
7.1. Libros..........................................................................................115
7.2. Páginas Web................................................................................116
ANEXO A MANUAL DE INSTALACIÓN................................................ 117
A.1 Introducción .................................................................................118
A.2 Configuración hardware y software ................................................119
A.3 Creación de la base de datos .........................................................121
VII
ANEXO B MANUAL DE USUARIO ....................................................... 122
B.1 Perfiles de usuario ........................................................................124
B.2 Funcionalidad común del sistema...................................................125
B.3 Funcionalidad del módulo alumno ..................................................135
B.4 Funcionalidad del módulo profesor.................................................143
B.5 Funcionalidad del módulo personal del centro.................................151
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
1
1. Introducción
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
2
El proyecto a desarrollar consiste en el diseño y programación de una
plataforma para docencia virtual on-line con su correspondiente interfaz gráfico.
El software diseñado permite el intercambio de todo tipo de información
entre los distintos usuarios de la misma, así como la comunicación entre ellos,
ya sean alumnos, profesores o personal del centro docente de manera
centralizada y sencilla, y desde cualquier lugar en el que se disponga de
conexión a Internet.
Para ello existen distintos bloques acordes con las necesidades de cada
tipo de usuario, junto con subáreas para los distintos tipos de información
intercambiada como pueden ser apuntes, exámenes, ejercicios, comunicación
de tutorías, envíos de mensajes, etc.
El software implementa otras funciones que permiten la realización de
trámites con el propio centro docente, como puede ser la realización de
matricula, consulta de notas y horarios, noticias relacionadas, etc.
Asimismo, el software desarrollado permite incluir en la plataforma
funciones tales como gestión de la agenda de los usuarios, en la que, de forma
gráfica y sencilla, se indican las citas que el usuario tiene fijadas a lo largo de
todo el año, y las tutorías que los profesores fijan en las asignaturas en las que
está matriculado cada alumno.
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
3
1.1. Objetivos del sistema
Se pretende desarrollar una plataforma para docencia virtual on-line con
el objetivo de facilitar y agilizar el contacto entre alumnos, profesores y centro
docente, intercambiar todo tipo de archivos necesarios para las asignaturas que
se están cursando, de forma que se centralice en la plataforma todas las
transacciones necesarias entre los usuarios, facilitando la gestión de las
mismas.
Cada usuario es identificado para acceder al sistema desarrollado
mediante el uso de un nombre de usuario y su correspondiente contraseña,
para poder realizar sus funciones dependiendo del tipo de usuario al que
pertenezca. Por ejemplo un alumno podrá obtener sus apuntes, exámenes y
todo tipo de documentos que un profesor desee hacerle llegar, enviar al
profesor trabajos, así como consultar sus notas, matricularse, etc. Sin embargo
un profesor tendrá las opciones de subir documentos, subir calificaciones,
obtener ejercicios, consultar listas oficiales,…
Un buscador interno implementado en la plataforma permitirá a cada
usuario encontrar de manera fácil y rápida los documentos que cada profesor
haya incluido en la asignatura escogida, que coincidan con los parámetros de
búsqueda.
La funcionalidad de la plataforma para docencia virtual on-line deberá
cumplir los objetivos de:
• Facilitar el intercambio de todo tipo de material entre los usuarios de
manera sencilla y rápida.
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
4
• Permitir la realización de los trámites necesarios con el centro
docente vía Internet, como puede ser matriculación de nuevas
asignaturas, o modificación de los datos personales almacenados.
• Disminuir el tiempo de acceso a los recursos necesarios para la
docencia con el uso del buscador, tanto interno como externo.
• Facilitar el contacto virtual entre los distintos usuarios de la
plataforma, mediante la utilización del servicio de correo interno.
• Centralizar en una única plataforma los documentos de todas las
asignaturas.
• Permitir la comunicación mediante noticias actualizadas, documentos
introducidos por el centro, etc entre todos los usuarios de la
plataforma de manera rápida y sencilla.
• Permitir a los usuarios el conocimiento de las nuevas tutorías
planificadas para las asignaturas en la que este matriculado sin
necesidad de acceder a la plataforma, informando de ello mediante
sindicación de contenidos RSS, adaptando la plataforma a las nuevas
tendencias.
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
5
1.2. Alcance
Las funciones que el sistema a desarrollar pretende ofrecer a los usuarios
son las siguientes:
• Ofrecer al usuario una plataforma para docencia, cuya utilización no
necesite poseer altos conocimientos del funcionamiento de
aplicaciones de entorno Web.
• Diversificar los campos de aplicación de la docencia on-line,
simplificando su utilización.
• Permitir a los centros docentes incorporar la plataforma a sus
sistemas sin necesidad de grandes modificaciones, únicamente
realizando la adaptación del interfaz a su imagen corporativa.
• Facilitar la adaptación de las plataformas de los centros docentes a la
Web 2.0, facilitando y haciendo más atractiva su utilización a los
usuarios.
• Incorporar la nueva tendencia de enseñanza combinando la docencia
presencial, con la docencia on-line.
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
6
1.3. Metodología
La metodología seleccionada para el desarrollo del proyecto
“Plataforma para docencia virtual on-line” es un modelo basado en la
realización de diagramas UML para la realización de las distintas etapas de la
vida del proyecto. El desarrollo del proyecto se realiza siguiendo una serie de
fases, en el que en ningún caso se comienza una sin haber terminado
completamente la anterior. De cada una de las fases se obtiene un documento
o producto final que, una vez revisado, validado y aprobado, sirve como punto
de partida de la siguiente etapa a acometer.
Se ha escogido esta metodología al considerarse la más apropiada en
este caso, ya que en un principio se van a tener todas las necesidades del
proyecto a llevar a cabo, y es la más adecuada para el desarrollo de
aplicaciones orientadas a objetos, como es el caso.
Las etapas a llevar a cabo para el desarrollo del sistema con la
metodología escogida consisten en:
• Análisis de requisitos.- Exponer el entorno global del problema en
estudio, especificando los objetivos del sistema, su alcance, la
tipología de los usuarios finales, restricciones, organización y
funciones especiales. El objetivo de esta etapa de la metodología
consiste en alcanzar el un conocimiento suficiente del sistema, para
proponer una solución y expresar de una manera clara el
conocimiento adquirido.
• Diseño del sistema.- En esta etapa de la metodología se completa
la definición de las especificaciones del sistema, se determina la
arquitectura a utilizar para el desarrollo, se identifican y diseñan los
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
7
diversos componentes software del sistema, describiendo
detalladamente sus especificaciones físicas, así como las
interrelaciones existentes entre ellos.
• Implementación y pruebas del sistema.- Consiste en la
transformación del análisis y diseño realizado, en un conjunto de
programas que puedan ser ejecutados correctamente. Asimismo se
realizan pruebas unitarias de cada uno de los diferentes
componentes, realizándose posteriormente las pruebas la integración,
y el funcionamiento global del sistema.
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
8
1.4. Planificación
El proyecto fin de carrera tiene una estricta restricción temporal, ya que
debe estar acabado antes del 30 de Mayo de 2007. Para ellos se ha realizado la
planificación que se muestra a continuación:
Sep. Oct. Nov. Dic. Ene. Feb. Mar. Abr. May.
Análisis de
requisitos
Estudio de
arquitectura
Diseño
interno
Implantación y
pruebas
Documentación
proyecto
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
9
1.5. Estado del arte
Las plataformas de docencia virtual on-line están sufriendo un
importante aumento en la actualidad, con el auge de las docencias on-line, y la
expansión del uso de Internet a mayor número de personas.
La normalización del uso de Internet hace que cada vez mayor número
de personas tengas los conocimientos mínimos para utilizar un buscador, y con
ello una plataforma.
El incremento que está sufriendo el número de plataformas de docencia
también se debe al aumento de la docencia on-line frente a la presencial, en
todas sus formas. En España, durante el ejercicio del 2006, se produjo una
disminución de la docencia presencial en un 5%, a favor del e-Learning, el cuál
aumento un 30 % durante el ejercicio del año. Asimismo, se está produciendo
la implantación de un nuevo tipo de docencia, la llamada Blended-Learning, que
combina la formación presencial con la formación on-line.
La formación on line ha crecido sustancialmente en el Sector Empresarial
(casi un 40 por ciento), como lo hizo el pasado año en agentes sociales; y se
espera que 2007 sea el año en que se generalice su uso en las
Administraciones Públicas (actualmente, el e-learning representa un 7 por
ciento del total de sus planes de formación).
Una de las causas de este incremento es la implementación de fuertes
inversiones para la mejora tecnológica de las plataformas de aprendizaje LMS-
y del desarrollo de contenidos. "La oferta y la demanda, tras años de lenta
puesta en marcha del sector, han madurado, desarrollándose una cultura que
utiliza el e-learning para implantar programas formativos diseñados combinando
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
10
formación presencial y contenidos on line, que mejorarán la transferencia al
puesto de trabajo".
El estudio de las distintas plataformas que están ya implantadas en la
actualidad no es sencillo, ya que la mayor parte son de acceso restringido para
los miembros de la misma. La mejor forma de saber qué servicios ofreces es
mediante la lectura de las presentaciones y noticias que se han escrito en el
momento de su estreno en Web.
Con la información que se ha podido recoger, se puede llegar a la
conclusión de que casi todas implantan funcionalidades muy parecidas a las
recogidas en la plataforma de Comillas a las que si tenemos acceso: repositorio
del material didáctico facilitado por los profesores, servidor de correo interno de
la universidad, presentación y resolución de ejercicios, publicación de noticias y
documentos, comunicación entre los distintos usuarios de la plataforma, etc.
Entre las diferencias que se han encontrado entre las distintas
plataformas existentes se puede destacar la limitación de la funcionalidad a la
relación profesor-alumno, excluyendo las relaciones y trámites con el propio
centro docente. Otras diferencias mucho menos destacables se refieren a la
forma de realizar las funcionalidades, protocolos para la carga de datos,
lenguajes de programación, navegadores soportados…
Una característica común a las plataformas estudiadas es la complejidad
de su utilización, con la implementación de un interfaz de usuario poco
amigable e intuitivo. Este tipo de desarrollos puede parecer fáciles de utilizar
para alguien acostumbrado a la utilización de aplicaciones Web, pero no para
una persona que no disponga de esos conocimientos.
En el comienzo de la formación on-line, esta se limitaba a conocimientos
más o menos técnicos, accesibles para personas con conocimientos técnicos,
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
11
pero en la actualidad se tiende a la diversificación de los contenidos impartidos,
siendo en la actualidad los más solicitados los idiomas. Esto hace necesario el
desarrollo de plataformas sencillas y fáciles de utilizar por usuarios sin
conocimientos, abriendo el mercado a más personas y docencias.
En la aplicación que se ha desarrollado, se incluyen las funcionalidades
básicas y comunes a la mayor parte de las plataformas existentes, incluyendo
un buscador interno y externo, que permita localizar documentos tanto dentro
de la propia plataforma, como otros que puedan estar disponibles en Internet y
permitan aumentar los recursos disponibles. Asimismo, el objetivo del desarrollo
de esta nueva plataforma será la facilidad, simplicidad y comodidad de su
utilización, y así evitar el uso de otras herramientas ajenas al sistema.
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
12
1.6. Tecnología
En este capítulo se enumeran las tecnologías software utilizadas en el
desarrollo del proyecto. A continuación se pasa a describir dichas tecnologías
desde un punto de vista general, indicando la razón que han llevado a su
utilización para la realización de este proyecto fin de carrera:
• Orientación a Objetos
• Java
• JSP
• JavaScript
• XML
• Web 2.0
• RSS
• SSL
• RSA
• Patrones de diseño J2EE
1.6.1. Orientación a objetos
La orientación a objetos es el paradigma de programación más utilizado
actualmente en el desarrollo de aplicaciones. La Programación Orientada a
Objetos (POO u OOP según siglas en inglés) define los programas en términos
de "clases de objetos", objetos que son entidades que combinan estado (es
decir, datos), comportamiento (esto es, procedimientos o métodos) e identidad
(propiedad del objeto que lo diferencia del resto).
Este paradigma expresa un programa como un conjunto de estos
objetos, que colaboran entre ellos para realizar tareas. Esto permite hacer los
programas y módulos más fáciles de escribir, mantener y reutilizar. De esta
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
13
forma, un objeto contiene toda la información, (los denominados atributos) que
permite definirlo e identificarlo frente a otros objetos pertenecientes a otras
clases (e incluso entre objetos de una misma clase, al poder tener valores bien
diferenciados en sus atributos). A su vez, dispone de mecanismos de
interacción (los llamados métodos) que favorecen la comunicación entre
objetos (de una misma clase o de distintas), y en consecuencia, el cambio de
estado en los propios objetos. Esta característica lleva a tratarlos como
unidades indivisibles, en las que no se separan (ni deben separarse)
información (datos) y procesamiento (métodos). En programación orientada a
objetos una clase es el conjunto formado por la definición de la estructura de la
información y las sentencias que la gestionan.
Las principales aportaciones de este paradigma al desarrollo de sistemas
software son el encapsulamiento, la herencia y el polimorfismo.
1.6.2. Java
El lenguaje de programación utilizado en el desarrollo de este proyecto
ha sido Java. Es un lenguaje de programación orientado a objetos desarrollado
por Sun Microsystems a principios de los años 1990. Java posee un gran
número de ventajas frente a otros lenguajes de programación, entre las que
cabe destacar: es un lenguaje orientado a objetos, simple, robusto y portable a
cualquier plataforma.
1.6.3. JSP
JavaServer Pages es una tecnología para crear aplicaciones web. Es un
desarrollo de la compañía Sun Microsystems y su funcionamiento se basa en
scripts, que utilizan una variante del lenguaje java.
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
14
Permite a los programadores generar contenido dinámico para Web, en
forma de documentos HTML, XML o de otro tipo. Las JSP's permiten al código
Java y a algunas acciones predefinidas ser incrustadas en el contenido estático
del documento Web.
En ellas se escribe el texto que va a ser devuelto en la salida
(normalmente, código HTML) incluyendo código java dentro de él, para poder
modificar o generar contenido dinámicamente. El código java se incluye dentro
de las marcas de etiqueta <% y %>; a esto se le denomina scriptlet.
La principal ventaja de JSP frente a otros lenguajes es que permite
integrarse con clases Java (.class) lo que permite separar en niveles las
aplicaciones Web, almacenando en clases java las partes que consumen más
recursos (así como las que requieren más seguridad) y dejando la parte
encargada de formatear el documento HTML en el archivo JSP. La idea
fundamental detrás de este criterio es el de separar la lógica del negocio de la
presentación de la información.
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
15
1.6.4. JavaScript
JavaScript es un lenguaje interpretado, es decir, no requiere compilación,
utilizado principalmente en páginas Web, con una sintaxis semejante a la del
lenguaje Java. Al contrario que Java, JavaScript no es un lenguaje orientado a
objetos propiamente dicho, ya que no dispone de Herencia, es más bien un
lenguaje basado en prototipos, ya que las nuevas clases se generan clonando
las clases base (prototipos) y extendiendo su funcionalidad.
Todos los navegadores interpretan el código JavaScript integrado dentro
de las páginas Web. Para interactuar con una página Web se provee al lenguaje
JavaScript de una implementación del DOM.
Tradicionalmente, se venía utilizando en páginas Web HTML, para
realizar tareas y operaciones en el marco de la aplicación únicamente cliente,
sin acceso a funciones del servidor. JavaScript se ejecuta en el agente de
usuario al mismo tiempo que las sentencias van descargándose junto con el
código HTML.
1.6.5. XML
Xtensible Markup Language («lenguaje de marcas extensible»), es un
metalenguaje extensible de etiquetas desarrollado por el World Wide Web
Consortium (W3C). Es una simplificación y adaptación del SGML, y permite
definir la gramática de lenguajes específicos (de la misma manera que HTML es
a su vez un lenguaje definido por SGML). Por lo tanto, XML no es realmente un
lenguaje en particular, sino una manera de definir lenguajes para diferentes
necesidades.
XML no ha nacido sólo para su aplicación en Internet, sino que se
propone como un estándar para el intercambio de información estructurada
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
16
entre diferentes plataformas. Se puede usar en bases de datos, editores de
texto, hojas de cálculo y casi cualquier cosa imaginable.
XML es una tecnología sencilla que tiene a su alrededor otras que la
complementan y la hacen mucho más grande, y con unas posibilidades mucho
mayores. Tiene un papel muy importante en la actualidad ya que permite la
compatibilidad entre sistemas para compartir la información de una manera
segura, fiable y fácil.
Algunas de las ventajas que proporciona el XML son las siguientes:
Es extensible, lo que quiere decir que una vez diseñado un lenguaje y
puesto en producción, igual es posible extenderlo con la adición de nuevas
etiquetas de manera de que los antiguos consumidores de la vieja versión
todavía puedan entender el nuevo formato.
El analizador es un componente estándar, no es necesario crear un
analizador específico para cada lenguaje. Esto posibilita el empleo de uno de los
tantos disponibles. De esta manera se acelera el desarrollo de la aplicación.
Si un tercero decide usar un documento creado en XML, es sencillo
entender su estructura y procesarlo. Mejora la compatibilidad entre
aplicaciones.
La tecnología XML busca dar solución al problema de expresar
información estructurada de la manera más abstracta y reutilizable posible. Que
la información sea estructurada quiere decir que se compone de partes bien
definidas, y que esas partes se componen a su vez de otras partes.
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
17
1.6.6. Web 2.0
La Web 2.0 es la representación de la evolución de las aplicaciones
tradicionales hacia aplicaciones Web enfocadas al usuario final. El Web 2.0 es
una actitud y no precisamente una tecnología.
Cuando el Web inició, nos encontrábamos en un entorno estático, con
páginas en HTML que sufrían pocas actualizaciones y no tenían interacción con
el usuario.
La Web 2.0 es la transición que se ha dado de aplicaciones tradicionales
hacia aplicaciones que funcionan a través de Web enfocadas al usuario final.
Se trata de aplicaciones que generen colaboración y de servicios que
reemplacen las aplicaciones de escritorio.
Todo inició cuando Dale Dougherty de O’Reilly Media utilizó este término
en una conferencia en la que compartió una lluvia de ideas junto a Craig Cline
de MediaLive en la que hablaba del renacimiento y evolución de la Web.
Constantemente estaban surgiendo nuevas aplicaciones y sitios con
sorprendentes funcionalidades. Y así se dio la pauta para la Web 2.0
conference de 2004. Esta conferencia no solo fue exitosa sino que ya tuvo
seguimiento en la Web 2.0 Conference del 2005 celebrada en Octubre.
En la charla inicial del Web Conference se habló de los principios que
tenían las aplicaciones Web 2.0:
• La Web es la plataforma
• La información es el procesador
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
18
• Efectos de la red movidos por una arquitectura de participación.
• La innovación surge de características distribuidas por desarrolladores
independientes.
• El fin del círculo de adopción de software ("Servicios en beta
perpetuo")
1.6.7. RSS
RSS es parte de la familia de los formatos XML, desarrollado
específicamente para todo tipo de sitios que se actualicen con frecuencia. La
tecnología RSS permite encontrar aquella información que mejor se adapta a lo
que el usuario desea, pero también ofrecerla de forma rápida y actualizada,
permitiendo compartir la información y usarla en otros sitios Web o programas.
A esto se le conoce como redifusión o sindicación.
El RSS no es otra cosa que un sencillo formato de datos que es utilizado
para sindicar (redifundir) contenidos a suscriptores de un sitio Web. El formato
permite distribuir contenido en las versiones más nuevas de los navegadores
Web, o en un tipo software desarrollado para esta función, denominados
agregadores de texto, permitiendo obtener resúmenes de todos los sitios que
se desee, sin necesidad de acceder a todas las páginas Web que contienen la
información deseada, con la evidente disminución del tiempo necesario para
ello. Utilizando RSS y agregadores podemos decidir, tras la alerta del lector
RSS, si queremos visitar el sitio en el que se ha originado la información para
ampliarla o no.
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
19
El acrónimo se usa para los siguientes estándares:
• Rich Site Summary (RSS 0.91)
• RDF Site Summary (RSS 0.9 y 1.0)
• Really Simple Syndication (RSS 2.0)
Lo verdaderamente importante es que, a partir de este formato, se está
desarrollando una cadena de valor nueva en el sector de los contenidos que
está cambiando las formas de relación con la información tanto de los
profesionales y empresas del sector como de los usuarios.
La sindicación no es sólo un fenómeno vinculado a los weblogs, aunque
han ayudado mucho a su popularización. Siempre se han sindicado contenidos
y se ha compartido todo tipo de información en formato XML, de esta forma
podemos ofrecer contenidos propios para que sean mostrados en otras páginas
de forma integrada, lo que aumenta el valor de la página que muestra el
contenido y también nos genera más valor, ya que normalmente la sindicación
siempre enlaza con los contenidos originales.
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
20
El término anglosajón "feed" se utiliza para denominar a los documentos
con formato RSS legibles por los agregadores o lectores de feeds.
Cualquier usuario puede suscribirse a un feed y obtener las últimas
noticias enviadas a su agregador o lector RSS, el cual le alertará cuando haya
nueva información para leer. Para ello, únicamente será necesario buscar el una
Web deseada el icono que señala la presencia de feeds RSS convertido en
estándar de facto.
Feeds
1.6.8. SSL
Secure Sockets Layer (SSL) es un protocolo criptográfico que
proporciona comunicaciones seguras en Internet. SSL proporciona autenticación
y privacidad de la información entre extremos sobre Internet mediante el uso
de criptografía. Habitualmente, sólo el servidor es autenticado (es decir, se
garantiza su identidad) mientras que el cliente se mantiene sin autenticar; la
Sindicación de los contenidos
Actualización de los
contenidos
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
21
autenticación mutua requiere un despliegue de infraestructura de claves
públicas (o PKI) para los clientes. Los protocolos permiten a las aplicaciones
cliente-servidor comunicarse de una forma diseñada para prevenir escuchas, la
falsificación de la identidad del remitente y mantener la integridad del mensaje.
SSL implica una serie de fases básicas:
• Negociar entre las partes el algoritmo que se usará en la
comunicación
• Intercambio de claves públicas y autenticación basada en certificados
digitales
Cifrado del tráfico basado en cifrado simétrico
Durante la primera fase, el cliente y el servidor negocian qué algoritmos
criptográficos se van a usar. Las implementaciones actuales proporcionan las
siguientes opciones:
• Para criptografía de clave pública: RSA, Diffie-Hellman, DSA, etc.
• Para cifrado simétrico: RC2, RC4, IDEA (International Data Encryption
Algorithm), DES (Data Encryption Standard), Triple DES o AES
(Advanced Encryption Standard);
• Con funciones hash: MD5 o de la familia SHA
1.6.9. RSA
El sistema criptográfico con clave pública RSA es un algoritmo asimétrico
cifrador de bloques, que utiliza una clave pública, la cual se distribuye (en
forma autenticada preferentemente), y otra privada, la cual es guardada en
secreto por su propietario.
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
22
Una clave es un número de gran tamaño, que una persona puede
conceptualizar como un mensaje digital, como un archivo binario o como una
cadena de bits o bytes.
Cuando se envía un mensaje, el emisor busca la clave pública de cifrado
del receptor y una vez que dicho mensaje llega al receptor, éste se ocupa de
descifrarlo usando su clave oculta.
Los mensajes enviados usando el algoritmo RSA se representan
mediante números y el funcionamiento se basa en el producto de dos números
primos grandes (mayores que 10100) elegidos al azar para conformar la clave de
descifrado. Emplea expresiones exponenciales en aritmética modular.
La seguridad de este algoritmo radica en que no hay maneras rápidas
conocidas de factorizar un número grande en sus factores primos utilizando
computadoras tradicionales.
La computación cuántica podría proveer una solución a este problema de
factorización.
La generación de las claves privada y pública es RSA es bastante sencillo,
como se puede ver a continuación:
• Seleccionar dos números primos largos y de manera que .
• Calcular .
• Calcular .
• Seleccionar un entero positivo e tal que el tales que e
y φ(n) sean Primos entre sí.
• Calcular d tal que .
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
23
La clave privada será d y la clave pública será e. *Adicionalmente el
parámetro n debe hacerse público.
La clave pública consiste en:
• n, el módulo.
• e, el exponente público (a veces exponente de cifrado).
La clave privada consiste en:
• n, el módulo, el cual es público y aparece en la clave pública
• d, el exponente privado (a veces el exponente de descifrado), el cual
debe permanecer oculto.
Normalmente, una diferencia de la clave pública (incluyendo parámetros
del Teorema chino del resto “CRT” ) es almacenada:
• p y q, los primos de generación de claves.
• y son llamados: dmp1 y dmq1
• conocido como iqmp
Esta forma permite rápidamente descifrar y autentificarse usando CRT.
En esta forma, todas las partes de la clave privada deben ser ocultas(guardadas
en secreto).
1.6.10. UML
Lenguaje Unificado de Modelado (UML, por sus siglas en inglés, Unified
Modeling Language) es el lenguaje de modelado de sistemas de software más
conocido y utilizado en la actualidad; aún cuando todavía no es un estándar
oficial, está apoyado en gran manera por el OMG (Object Management Group).
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
24
Se trata de un lenguaje gráfico para visualizar, especificar, construir y
documentar un sistema de software. UML ofrece un estándar para describir un
"plano" del sistema (modelo), incluyendo aspectos conceptuales tales como
procesos de negocios y funciones del sistema, y aspectos concretos como
expresiones de lenguajes de programación, esquemas de bases de datos y
componentes de software reutilizables.
Es importante remarcar que UML es un "lenguaje" para especificar y no
un método o un proceso, se utiliza para definir un sistema de software, para
detallar los artefactos en el sistema y para documentar y construir -es el
lenguaje en el que está descrito el modelo. Se puede aplicar en una gran
variedad de formas para soportar una metodología de desarrollo de software
pero no especifica en sí mismo qué metodología o proceso usar.
UML cuenta con varios tipos de diagramas, los cuales muestran
diferentes aspectos de las entidades representadas.
En UML 2.0 hay 13 tipos diferentes de diagramas. Para comprenderlos
de manera concreta, a veces es útil ordenarlos jerárquicamente, como se
incluye a continuación:
Diagramas de estructura enfatizan en los elementos que deben existir en
el sistema modelado:
• Diagrama de clases
• Diagrama de componentes
• Diagrama de objetos
• Diagrama de estructura compuesta (UML 2.0)
• Diagrama de despliegue
• Diagrama de paquetes
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
25
Diagramas de comportamiento enfatizan en lo que debe suceder en el
sistema modelado:
• Diagrama de actividades
• Diagrama de casos de uso
• Diagrama de estados
Diagramas de Interacción, un subtipo de diagramas de comportamiento,
que enfatiza sobre el flujo de control y de datos entre los elementos del sistema
modelado:
• Diagrama de secuencia
• Diagrama de comunicación
• Diagrama de tiempos (UML 2.0)
• Diagrama de vista de interacción (UML 2.0)
Algunos de los tipos de diagrama indicados anteriormente han sido
utilizados para el diseño del proyecto fin de carrera.
1.6.11. Patrones de diseño J2EE
Algunas personas definen un patrón como una solución recurrente para
un problema en un contexto. Estos términos -- contexto, problema y solución --
merecen una pequeña explicación.
Primero, ¿qué es un contexto? Un contexto es el entorno, situación, o
condiciones interrelacionadas dentro de las cuales existe algo.
Segundo, ¿qué es un problema? Un problema es una cuestión
insatisfecha, algo que se necesita investigar y resolver. Un problema se puede
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
26
especificar mediante un conjunto de causas y efectos. Normalmente un
problema está restringido al contexto en el que ocurre.
Finalmente, la solución se refiere a la respuesta al problema dentro de
un contexto que ayuda a resolver las dificultades.
Entonces, si tenemos una solución a un problema en un contexto, ¿es un
patrón? No necesariamente. También necesitamos asociar la característica de
recurrencia con la definición de un patrón. ¿Eso es todo? Quizás no. Los
patrones deberían comunicar soluciones de diseño a los desarrolladores y
arquitectos que los leen y los utilizan.
Un patrón describe, con algún nivel de abstracción, una solución experta
a un problema. Normalmente, un patrón está documentado en forma de una
plantilla. Aunque es una práctica estándar documentar los patrones en un
formato de plantilla especializado, esto no significa que sea la única forma de
hacerlo. Además, hay tantos formatos de plantillas como autores de patrones,
esto permite la creatividad en la documentación de patrones.
Los patrones solucionan problemas que existen en muchos niveles de
abstracción. Hay patrones que describen soluciones para todo, desde el análisis
hasta el diseño y desde la arquitectura hasta la implementación. Además, los
patrones existen en diversas áreas de interés y tecnologías. Por ejemplo, hay
un patrón que describe como trabajar con un lenguaje de programación
específico o un segmento de la industria específico, como la sanidad.
Con la aparición del J2EE, todo un nuevo catálogo de patrones de diseño
apareció. Desde que J2EE es una arquitectura por si misma que involucra otras
arquitecturas, incluyendo servlets, JavaServer Pages, Enterprise JavaBeans, y
más, merece su propio conjunto de patrones específicos para diferentes
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
27
aplicaciones empresariales. Estos patrones se definen en el libro "J2EE
PATTERNS Best Practices and Design Strategies”.
Para la realización del proyecto fin de carrera, se han utilizado una serie
de patrones J2EE, que se pasan a comentar a continuación:
• Patrón Layers
Se trata de un patrón de arquitectura muy utilizado para sistemas
distribuidos. En el se indica que una capa de la arquitectura de la aplicación,
únicamente deberá comunicarse con sus capas adyacentes, y depender sólo de
la capa de nivel inferior.
Mantiene acotado el impacto de los cambios a una única capa de la
arquitectura.
• Patrón MVC y MVC2 o Web MVC
El patrón Modelo-Vista-Controlador fue introducido inicialmente en la
comunidad de desarrolladores de Smalltalk-80. MVC divide una aplicación
interactiva en 3 áreas: procesamiento, salida y entrada. Para esto, utiliza las
siguientes abstracciones:
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
28
o Modelo: Encapsula los datos y las funcionalidades. El modelo es
independiente de cualquier representación de salida y/o
comportamiento de entrada.
o Vista: Muestra la información al usuario. Obtiene los datos del
modelo. Pueden existir múltiples vistas del modelo. Cada vista
tiene asociado un componente controlador.
o Controlador: Reciben las entradas, usualmente como eventos que
codifican los movimientos o pulsación de botones del ratón,
pulsaciones de teclas, etc. Los eventos son traducidos a
solicitudes de para el modelo o la vista. El usuario interactúa con
el sistema a través de los controladores.
Las Vistas y los Controladores conforman la interfaz de usuario. Un
mecanismo de notificación de cambios asegura la consistencia entre la interfaz
y el modelo. La separación del modelo de los componentes vista y del
controlador permite tener múltiples vistas del mismo modelo. Si el usuario
cambia el modelo a través del controlador de una vista, todas las otras vistas
dependientes deben reflejar los cambios. Por lo tanto, el modelo notifica a
todas las vistas siempre que sus datos cambien. Las vistas, en cambio,
recuperan los nuevos datos del modelo y actualizan la información que
muestran al usuario.
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
29
Algunos de sus principales beneficios son:
o Menor acoplamiento
o Mayor cohesión
o Cada elemento del patrón esta altamente especializado en su
tarea (la vista en mostrar datos al usuario, el controlador en las
entradas y el modelo en su objetivo de negocio)
o Las vistas proveen mayor flexibilidad y agilidad
o Más claridad de diseño
o Facilita el mantenimiento
o Mayor escalabilidad
El patrón MVC2 o Web MVC es muy similar, la única diferencia existente
es la eliminación del protocolo de notificación. Este protocolo se sustituye con la
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
30
incorporación de un estado intermedio, en el que el controlador almacena la
información para que sea consumida por las vistas.
• Patrón Session Façade
El uso de la sesión como una fachada (facade) para encapsular la
complejidad de las interacciones entre los objetos de negocio y participantes en
un flujo de trabajo. El Session Façade maneja los objetos de negocio y
proporciona un servicio de acceso uniforme a los clientes.
Consiste en la inclusión de una capa intermedia entre los clientes y los
objetos de negocio, de modo que maneje el ciclo del vida de los objetos
participantes: localización, creación, destrucción, así como las relaciones entre
ellos.
Entre las ventajas que aporta este patrón, cabe destacar:
o La separación lógica y estricta de la lógica de aplicación-
presentación y la de negocio.
o El bajo acoplamiento cliente-servicios.
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
31
o La reusabilidad de los servicios por varios clientes.
o El aumento del rendimiento
• DAO
Muchas de las aplicaciones acceden a información residente en
almacenes persistentes, tales como ficheros, bases de datos, etc. Dependiendo
del sistema de almacenamiento de los datos, se deberán utilizar API’s distintos.
El código de conectividad y acceso a los datos es complejo, por lo que es
deseable separarlo de la lógica de negocio. Para ello se propone la utilización
de objetos Data Access Object para realizar la abstracción y encapsulamiento
de la lógica de acceso a los datos.
Cliente
Cliente
Cliente
Cliente
Servidor
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
32
Estos objetos realizan las funciones de:
o Gestionar la conectividad con el almacén persistente donde se
almacenan los datos.
o Exponer un interfaz más simple a los componentes de negocio.
o Actúan como adaptadores entre el componente y la fuente de
datos.
o Además, el uso del objeto DAO proporciona una serie de
ventajas, entre las que cabe destacar:
o Aporta transparencia, permitiendo que los objetos de negocio
puedan usar una fuente de datos sin conocer los detalles de
implementación.
o Facilita la migración a diferentes gestores de bases de datos.
o Simplifica los objetos de negocia.
o Centraliza todo el acceso a los datos almacenados en el almacén
persistente en una capa independiente.
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
33
2. Análisis de requisitos
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
34
El objetivo de esta fase del desarrollo de software es alcanzar el un
conocimiento suficiente del sistema, definiendo las necesidades, problemas y
requisitos del usuario, para proponer una solución y expresar de una manera
clara el conocimiento adquirido.
2.1. Modelo de dominio
La primera actividad a llevar a cabo en esta etapa consiste en la
realización del modelo de dominio del sistema. El modelo de dominio de un
sistema consiste en uno o más diagramas de clase UML que muestran aspectos
del sistema, tales como: los conceptos básicos del dominio del problema, sus
propiedades más importantes y las relaciones existentes entre dichos
conceptos. La realización del modelo de dominio es una herramienta de
comunicación que permite plasmar la concepción del problema y validar la
correcta comprensión del mismo. Para ello se realiza un diagrama de manera
que refleje los conceptos del dominio del problema, pero sin pensar en su
solución, reflejando lo más fielmente posible el problema a tratar.
Las clases que componen el modelo de dominio representan los conceptos
existentes en el dominio del problema. Estos conceptos tienen información
asociada y relaciones entre ellos.
El modelo de dominio realizado para el desarrollo del proyecto se puede
ver a continuación:
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
35
2.2. Glosario de clases del dominio
• Usuario.- Representa al usuario genérico de la plataforma
• Alumno.- Es la persona que recibe la formación.
• Profesor.- Es la persona que enseña a los alumnos.
• Personal centro.- Persona que trabaja en el centro docente y gestiona
la plataforma.
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
36
• Correo.- Mensaje enviado electrónicamente entre 2 usuarios de la
plataforma.
• Cita.- Es una nota que informa sobre una tarea que se tiene que
realizar en un día determinado, y a una hora determinada.
• Calificación.- Valoración que hace un profesor de un trabajo de un
alumno.
• Ejercicio.- Trabajo que realiza un alumno para entregar a un profesor.
• Asignatura.- Cada una de las materias que se imparten en la
plataforma.
• Tema.- Subconjunto de información relacionada dentro de una
asignatura.
• Recurso.- Archivo electrónico que contiene materia de una
asignatura. Puede ser de cualquier tipo.
• Documento.- Archivo de información que el centro desea transmitir a
los usuarios de la plataforma.
2.3. Diagrama de casos de uso
Una vez identificados los objetos del dominio del sistema a desarrollar, se
comienza la realización de los casos de uso. Esta técnica permite recoger y
documentar los requerimientos funcionales del sistema. Cada caso de uso
proporciona uno o más escenarios que indican cómo debería interactuar el
sistema con el usuario o con otro sistema para conseguir un objetivo específico.
Es decir, cada caso de uso representa la secuencia de transacciones que son
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
37
desarrolladas por un sistema en respuesta a un evento que inicia un actor sobre
el propio sistema.
Los diagramas de casos de uso sirven para especificar la funcionalidad y el
comportamiento de un sistema mediante su interacción con los usuarios y/o
otros sistemas. O lo que es igual, un diagrama que muestra la relación entre los
actores y los casos de uso en un sistema.
El diagrama de los casos de uso identificados en el sistema se incluye a
continuación:
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
38
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
39
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
40
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
41
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
42
2.4. Descripción de casos de uso
De cada uno de los casos de uso identificados en el sistema a
desarrollar, se realiza una descripción detallada de los pasos que deben
realizarse para su finalización.
En cada descripción se especifica el escenario primario, el cuál es la
situación más típica y frecuente en la que se consigue el objetivo que busca el
caso de uso. El resto de escenarios se recogen como extensiones, como pueden
ser formas alternativas de conseguir el objetivo, escenarios en los que se
produce una situación de error que se recupera finalmente y consigue el
objetivo, o por el contrario no es posible recuperarse, abandonando el objetivo.
A continuación se incluyen algunas de las descripciones de casos de uso
realizadas para el desarrollo del sistema:
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
43
Caso uso: Acceder zona personal
Actor primario: Usuario de la plataforma
Actores secundarios:
Trigger: Iniciado por el usuario de la plataforma que desea
acceder a ella
Precondiciones:
Escenario primario: 1. El usuario introduce su nombre de usuario y su
contraseña.
2. El sistema comprueba que el nombre de usuario y
la contraseña son correctos.
3. El sistema accede a la zona personal del usuario.
Extensiones: 2 a. El usuario ha introducido el nombre de usuario o
la contraseña incorrecto.
1. Vuelve a 1
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
44
Caso uso: Enviar nuevo correo
Actor primario: Usuario de la plataforma
Actores secundarios: Usuario de la plataforma al que va dirigido el mail
Trigger: Iniciado por el usuario de la plataforma que desea
acceder a ella
Precondiciones: El usuario debe haberse identificado en la plataforma
Escenario primario: 1. El usuario selecciona el nombre del usuario al que va
dirigido el mail.
2. El usuario introduce el asunto y el texto de correo.
3. El sistema almacena el mensaje del usuario.
Extensiones:
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
45
Caso uso: Consultar correo
Actor primario: Usuario de la plataforma
Actores secundarios:
Trigger: Iniciado por el usuario de la plataforma que desea
consultar su bandeja de entrada de correo
Precondiciones: El usuario debe haberse identificado en la plataforma
Escenario primario: 1. El usuario selecciona la opción de consultar su correo
2. El sistema muestra todos los correos que tiene
almacenados el usuario indicando los correos que no
han sido leídos todavía.
Extensiones:
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
46
Caso uso: Leer correo
Actor primario: Usuario de la plataforma
Actores secundarios:
Trigger: Iniciado por el usuario de la plataforma que desea leer
un correo que ha recibido
Precondiciones: El usuario debe haberse identificado en la plataforma
Escenario primario: 1. El usuario selecciona el correo que desea leer.
2. El sistema muestra el asunto y texto del correo.
3. El sistema registra el correo como leído.
4. El usuario selecciona borrar el correo.
5. El sistema elimina el correo seleccionado.
Extensiones: 3 a. El sistema no registra el correo como leído porque
no era nuevo.
4 a. El usuario no selecciona borrar el correo.
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
47
Caso uso: Insertar nueva cita
Actor primario: Usuario de la plataforma
Actores secundarios:
Trigger: Iniciado por el usuario de la plataforma que desea
insertar una nueva cita en su agenda
Precondiciones: El usuario debe haberse identificado en la plataforma
Escenario primario: 1. El usuario inserta el asunto de la cita
2. El usuario selecciona el día, mes, año y la hora de la
cita.
3. El sistema registra la cita.
Extensiones:
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
48
Caso uso: Ver citas
Actor primario: Usuario de la plataforma
Actores secundarios:
Trigger: Iniciado por el usuario de la plataforma que desea
insertar una nueva cita en su agenda
Precondiciones: El usuario debe haberse identificado en la plataforma
Escenario primario: 1. El sistema muestra las citas del usuario
2. El usuario selecciona el día, mes, año y la hora de la
cita.
3. El sistema registra la cita.
Extensiones:
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
49
Caso uso: Buscar
Actor primario: Usuario de la plataforma
Actores secundarios:
Trigger: Iniciado por el usuario de la plataforma que desea
buscar un recurso
Precondiciones: El usuario debe haberse identificado en la plataforma
Escenario primario: 1. El usuario introduce la palabra clave para realizar la
búsqueda del recurso.
2. El sistema muestra todos los recursos que contengan
la palabra clave.
Extensiones: 2 a. No existe ningún recurso en la asignatura que
contenga la palabra clave introducida por el
usuario.
1. El sistema muestra un mensaje con el error.
2. Vuelve a 1
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
50
Caso uso: Buscar recurso externo
Actor primario: Usuario de la plataforma
Actores secundarios:
Trigger: Iniciado por el usuario de la plataforma que desea
buscar un recurso en Internet
Precondiciones: El usuario debe haberse identificado en la plataforma
Escenario primario: 1. El usuario introduce la palabra clave para realizar la
búsqueda del recurso.
2. El sistema muestra todos los recursos que contengan
la palabra clave.
Extensiones: 2 a. No existe ningún recurso en la asignatura que
contenga la palabra clave introducida por el
usuario.
3. El sistema muestra un mensaje con el error.
4. Vuelve a 1
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
51
Caso uso: Acceder a asignaturas
Actor primario: Alumno o profesor
Actores secundarios:
Trigger: Iniciado por el alumno o profesor que desea consultar
sus asignaturas
Precondiciones: El alumno o profesor debe haberse identificado en la
plataforma
Escenario primario: 1. El sistema muestra las asignaturas en las que está
registrado el usuario.
Extensiones:
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
52
Caso uso: Acceder a temas
Actor primario: Alumno o profesor
Actores secundarios:
Trigger: Iniciado por el alumno o profesor que desea consultar
los temas de una asignatura
Precondiciones:
El alumno o profesor debe haberse identificado en la
plataforma y haber entrado en una asignatura
Escenario primario: 1. El sistema muestra los temas existentes en la
asignatura a la que ha accedido el usuario.
Extensiones:
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
53
Caso uso: Modificar datos personales
Actor primario: Alumno
Actores secundarios:
Trigger: Iniciado por el alumno que desea modificar sus datos
Precondiciones:
El alumno debe haberse identificado en la plataforma
y haber entrado en una asignatura
Escenario primario: 1. El sistema muestra los datos personales del alumno.
2. El alumno modifica sus datos personales.
3. El sistema comprueba que se han introducido todos
los datos obligatorios.
4. El sistema comprueba que la contraseña introducida
dos veces coincide.
5. El sistema registra los nuevos datos del usuario.
Extensiones: 4 a. El alumno no ha introducido todos los datos
necesarios.
1. El sistema indica que campos le falta al usuario
por rellenar.
2. El alumno introduce los datos personales que
faltaban.
3. Vuelve a 3
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
54
Caso uso: Consultar recursos almacenados
Actor primario: Alumno
Actores secundarios:
Trigger: Iniciado por el alumno que desea consultar los recursos
almacenados de una asignatura
Precondiciones:
El alumno debe haberse identificado en la plataforma,
estar dentro de una asignatura y haber seleccionado
un tema.
Escenario primario: 1. El sistema muestra los recursos almacenados en la
asignatura
2. El usuario selecciona el recurso que desea consultar
3. El sistema abre el recurso seleccionado en la
aplicación que corresponda.
4. El usuario selecciona descargar el recurso.
5. El usuario introduce la url de almacenamiento.
6. El sistema descarga el recurso.
Extensiones: 5 a. El usuario no selecciona descargar el recurso.
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
55
Caso uso: Presentar ejercicio
Actor primario: Alumno
Actores secundarios:
Trigger: Iniciado por el alumno que desea presentar un
ejercicio
Precondiciones: El alumno debe haberse identificado en la plataforma
Escenario primario: 1. El alumno selecciona ejercicio a presentar.
2. El alumno selecciona la asignatura a la que
pertenece el ejercicio a presentar.
3. El sistema comprueba que la url es correcta.
4. El sistema registra el ejercicio.
Extensiones:
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
56
Caso uso: Consultar calificaciones
Actor primario: Alumno
Actores secundarios:
Trigger: Iniciado por el alumno que desea consultar sus
calificaciones
Precondiciones: El alumno o profesor debe haberse identificado en la
plataforma
Escenario primario: 1. El sistema muestra las calificaciones disponibles del
alumno.
Extensiones:
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
57
Caso uso: Consultar documentos centro
Actor primario: Alumno y profesor
Actores secundarios:
Trigger: Iniciado por el alumno o el profesor que desea
consultar los documentos almacenados del centro en la
plataforma
Precondiciones: El alumno o profesor debe haberse identificado en la
plataforma
Escenario primario: 1. El sistema muestra todos los documentos
almacenados.
2. El usuario selecciona el documento que desea
consultar.
3. El sistema muestra el documento seleccionado en
una nueva ventana.
4. El usuario selecciona descargar el recurso.
5. El usuario introduce la url de almacenamiento.
6. El sistema descarga el recurso.
Extensiones: 5 a. El usuario no selecciona descargar el recurso.
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
58
Caso uso: Matricularse en asignatura
Actor primario: Alumno
Actores secundarios:
Trigger: Iniciado por el alumno que desea matricularse en una
asignatura
Precondiciones: El alumno debe haberse identificado en la plataforma
Escenario primario: 1. El sistema muestra las asignaturas en las que está
matriculado el alumno.
2. El sistema muestra las asignaturas en las que no
está matriculado el alumno.
3. El usuario selecciona la asignatura en la que desea
matricularse.
Extensiones:
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
59
Caso uso: Insertar tutoría
Actor primario: Profesor
Actores secundarios:
Trigger: Iniciado por el profesor que desea insertar una nueva
tutoría en una asignatura
Precondiciones: El profesor debe haberse identificado en la plataforma
y encontrarse dentro de una asignatura
Escenario primario: 1. El profesor inserta el asunto de la tutoría
2. El profesor selecciona el día, mes, año y la hora de
la tutoría.
3. El sistema registra la tutoría en la agenda del
profesor y de los alumnos matriculados en la
asignatura.
4. El sistema actualiza los documentos rss de los
alumnos.
Extensiones:
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
60
Caso uso: Eliminar recurso
Actor primario: Profesor
Actores secundarios:
Trigger: Iniciado por el profesor que desea eliminar un recurso
almacenado de una asignatura
Precondiciones: El profesor debe haberse identificado en la plataforma
y estar dentro de una asignatura y un tema
Escenario primario: 1. El sistema muestra los recursos almacenados en la
asignatura
2. El profesor selecciona el recurso que desea
eliminar
3. El sistema elimina el recurso
Extensiones:
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
61
Caso uso: Insertar recurso
Actor primario: Profesor
Actores secundarios:
Trigger: Iniciado por el profesor que desea insertar un recurso
almacenado en un tema de una asignatura
Precondiciones: El profesor debe haberse identificado en la plataforma
y estar dentro de una asignatura y un tema
Escenario primario: 1. El profesor selecciona el recurso.
2. El sistema comprueba que la url apunta a un
recurso.
3. El sistema registra el recurso.
Extensiones:
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
62
Caso uso: Consultar ejercicios
Actor primario: Profesor
Actores secundarios:
Trigger: Iniciado por el profesor que desea consultar los
ejercicios presentados por los alumnos almacenados en
la plataforma
Precondiciones: El profesor debe haberse identificado en la plataforma
y estar dentro de una asignatura
Escenario primario: 1. El sistema muestra todos los ejercicios
almacenados en la plataforma para esa asignatura.
2. El profesor selecciona el ejercicio que quiere
consultar.
3. El sistema muestra el ejercicio.
4. El profesor selecciona descargar el ejercicio.
5. El sistema descarga el ejercicio.
Extensiones: 5 a. El profesor no selecciona descargar el recurso.
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
63
Caso uso: Eliminar documento centro
Actor primario: Personal centro
Actores secundarios:
Trigger: Iniciado por el personal centro que desea eliminar un
documento almacenado
Precondiciones: El personal del centro debe haberse identificado en la
plataforma
Escenario primario: 1. El sistema muestra los documentos almacenados
en la plataforma
2. El personal del centro selecciona el o los
documentos que desea eliminar
3. El sistema elimina el documento
Extensiones:
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
64
Caso uso: Insertar nuevo usuario
Actor primario: Personal centro
Actores secundarios:
Trigger: Iniciado por el personal centro que desea dar de alta a
un usuario
Precondiciones: El personal del centro debe haberse identificado en la
plataforma
Escenario primario: 1. El usuario introduce los datos del usuario.
2. El personal del centro selecciona el tipo de usuario.
3. El sistema comprueba que los datos son correctos.
4. El sistema registra al nuevo alumno.
Extensiones:
Definición de datos:
Datos del alumno: DNI, Nombre, Apellidos, dirección,
teléfono, clave_usuario.
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
65
3. Diseño del sistema
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
66
El objetivo de esta fase del desarrollo de software es realizar el diseño del
sistema que se va a desarrollar.
3.1. Diseño de la arquitectura
La primera actividad a llevar a cabo en esta etapa consiste en la elección
de la arquitectura del sistema que se va a desarrollar. En este caso, se utilizará
una arquitectura Web, con el uso del protocolo https de modo que desde un
cliente ligero, un navegador, se solicite un documento dentro en la red, y un
servidor Web le sirva la página.
Se utilizará una arquitectura Web en tres capas, separando los distintos
componentes, de modo que se desarrolle una aplicación portable, y tolerable a
cambios, separando las responsabilidades de cada una de ellas, y permitiendo
la aplicación de patrones de diseño en el desarrollo. En los desarrollos Web se
da especial importancia al diseño de aplicaciones escalables, dado el
desconocimiento que existe a priori del número de usuarios que va a recibir.
Una aplicación Web puede recibir un incremento vertiginoso del número de
usuarios sin que se tuviese planeado, lo que hace indispensable la adaptabilidad
del sistema ante un incremento de la demanda.
La realización de aplicaciones en capas distintas busca la separación de
las responsabilidades, nunca deben residir distintas responsabilidades en una
única capa. Las arquitecturas más comunes son las basadas en tres capas,
como la escogida para el desarrollo de la aplicación. Las distintas capas que la
forma son:
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
67
El servidor de aplicaciones en el que se encuentra la capa de negocio
puede encontrarse en el mismo ordenador que el propio servidor de Bases de
Datos, no siendo indispensable la separación física de los mismos.
• Interfaz de usuario.-
Comprende las responsabilidades de la lógica de presentación, en la que
se pueden destacar aspectos como:
o Navegabilidad del sistema
o Acceso a los datos introducidos por el usuario
o Validación de datos de entrada
o Formateo de los datos de salida
o Distribución de las peticiones a la capa de negocio
La capa de interfaz de usuario ha sido subdividida a su vez en dos partes
bien diferenciadas, la parte encargada de la presentación de los datos, y la
parte de aplicación, la cual encamina las peticiones recibidas del cliente. Para la
implementación de la capa de interfaz de usuario, se ha decidido la utilización
de las siguientes tecnologías:
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
68
o Presentación: es la parte de la aplicación que ve el usuario,
presenta el sistema al usuario, le comunica la información y
captura la información del usuario dando un mínimo de proceso
(realiza un filtrado previo para comprobar que no hay errores de
formato).
� Tecnología.- Para su realización se utilizan tecnologías como
Java Server Pages (JSP), Java Script, documentos HTML y
XML.
o Aplicación: Es la parte de la capa de interfaz de usuario que se
comunica únicamente con la capa de negocio media. Analiza la
petición enviada por el usuario y la encamina al servicio de la
capa de negocio encargado de su resolución.
� Tecnología: Para su realización se utilizan Servlets, programas
que se ejecutan en un servidor, los cuales, a través de una
máquina virtual java permiten ejecutar rutinas según los
parámetros enviados y preparar la salida correspondiente.
• Negocio.-
Comprende las responsabilidades de lógica de negocio (dominio)
del sistema. En ella se deben implantar tanto las restricciones impuestas por el
sistema, como la funcionalidad que se está desarrollando, entre las que
destacamos:
o Las reglas de negocio fijadas por el sistema a desarrollar
o Flujo de datos entre los distintos procesos
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
69
o Cálculos que deban ser realizados para preparar la salida
o Las llamadas a la capa de persistencia para la obtención de los
datos necesarios, almacenados en los almacenes persistentes
o Envío de información a la capa de persistencia para esta sea
almacenada en la base de datos.
Es el resultado del análisis funcional realizado para el desarrollo del
sistema, en ella se almacenan los programas que se están ejecutanto. Debe de
ser totalmente independiente de la capa de presentación y de la de
persistencia, pudiendo modificar cada una de estas sin necesidad de realizar
ninguna modificación en la capa de negocio, consiguiendo una perfecta
separación de responsabilidades entre las tres capas de la arquitectura.
o Servicios:
� Tecnología.- Para la programación de los servicios del sistema
desarrollado se han utilizado objetos POJO, acrónimo de Plain
Old Java Object. Básicamente es una clase del lenguaje de
programación Java. Este nombre se les da a las clases que no
son de algún tipo especial y no cumplen ningún otro rol ni
implementan alguna interfaz especial.
o Dominio del sistema:
� Tecnología: Para la programación del dominio del sistema se
han utilizado también objetos POJO, explicados anteriormente.
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
70
• Persistencia.-
Es la capa encargada de ofrecer servicios de persistencia y recuperación
de información a la capa de negocio. Es la única parte de la aplicación que
entra en contacto con el almacén de persistencia, en este caso la base de
datos.
En cuanto a los recursos necesarios para el proyecto “Plataforma para
docencia virtual on-line” hay que distinguir dos etapas:
• Los recursos necesarios en la etapa de desarrollo de la aplicación,
son:
En cuanto a los recursos software necesarios, se pueden destacar:
o Se ha utilizado para la aplicación el servidor Jakarta TomCat
5.0.28.
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
71
o Como gestor para la Base de Datos se ha utilizado la versión de
MySQL 5.0.24.
o Para el entorno de desarrollo se han utilizado Eclipse SDK 3.2.1 y
Macromedia Dreamweaver MX 2004.
Los recursos hardware utilizados han sido:
o Ordenador personal con procesador Intel Centrino, 1 Gb de
memoria RAM, tarjeta de red Ethernet, trabajando sobre el
sistema operativo Windows XP. Así mismo se considera necesario
un unidad de backup y un dispositivo SAI para asegurar la
seguridad.
• Los recursos necesarios en la etapa de producción de la aplicación,
son:
Como equipamiento hardware, serán necesarios:
o Para el servidor se subcontratarán los servicios a un CPD (Centro
de proceso de datos), donde se llevará la aplicación a explotación.
o Para la utilización de la aplicación es necesario, como mínimo, un
ordenador con 256 Mb de memoria RAM, y conexión a Internet.
En cuanto al software necesario, se recomienda:
o Para el correcto funcionamiento, tanto del servidor de la
aplicación, como del servidor de bases de datos el software
utilizado es similar al indicado en la etapa de desarrollo,
eliminando el entorno de desarrollo utilizado para el servidor.
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
72
o En cuanto al software necesario para la utilización de la aplicación
por un usuario, únicamente es necesario un navegador Web,
siendo preferible la utilización de Mozilla FireFox a partir de la
versión 2, o Internet Explorer 7.
3.2. Diseño interno
3.2.1. Diagrama de paquetes que componen la aplicación
3.2.2. Descripción de los paquetes definidos
o Servlets: Paquete encargado de obtener los datos introducidos
por el usuario, enviárselos al servicio correspondiente y mostrar la
respuesta del servicio con un formato determinado, enviándoselos
a la correspondiente JSP.
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
73
o Servicio: Paquete destinado a tratar la información recibida del
interfaz y obtenida del DAO, para proporcionar la respuesta
correspondiente al interfaz.
o DAO: Paquete encargado de realizar los accesos a las bases de
datos para obtener la información correspondiente.
o Dominio: Paquete que contiene la definición de las clases
necesarias para realizar la lógica de negocio.
El diagrama de paquetes diseñado en el apartado correspondiente consta
de cuatro paquetes diferentes, los cuales se componen de las siguientes clases:
3.2.3. Diagrama de clase paquete servlets
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
74
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
75
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
76
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
77
3.2.4. Diagrama de clase paquete servicios
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
78
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
79
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
80
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
81
3.2.5. Diagrama de clase paquete dominio
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
82
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
83
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
84
3.2.6. Diagrama de clase paquete DAO
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
85
3.3. Diagramas de secuencia
El Diagrama de Secuencia es uno de los diagramas más efectivos para
modelar interacción entre objetos en un sistema. Este tipo de diagramas se
realiza para cada caso de uso y contiene detalles de implementación del
escenario, incluyendo los objetos y clases que se usan para implementarlo, y
mensajes pasados entre los objetos.
Un diagrama de secuencia muestra los objetos que intervienen en el
escenario con líneas discontinuas verticales, y los mensajes pasados entre los
objetos como vectores horizontales. Los mensajes se dibujan cronológicamente
desde la parte superior del diagrama a la parte inferior; la distribución
horizontal de los objetos es arbitraria.
A continuación se incluyen algunos de los diagramas realizados durante
el diseño de la plataforma:
• Diagrama de secuencia correspondiente al caso de uso de Acceder a
zona personal
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
86
• Diagrama de secuencia correspondiente al caso de uso de Insertar
nueva tutoría
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
87
3.4. Diseño de la base de datos
El sistema desarrollado en el proyecto fin de carrera utiliza una base de
datos para el almacenamiento de toda la información necesaria. Para su
creación se han diseñado una base de datos denominada “pdo”, formada por
11 tablas, en la que se almacena la información de forma relacional.
• Tabla de usuarios
• Tabla de asignaturas
• Tabla de matriculas
• Tabla de correos
• Tabla de citas
• Tabla de ejercicios
• Tabla de noticias
• Tabla de documentos
• Tabla de calificaciones
• Tabla de temas
• Tabla de recursos
A continuación se pasa a comentar cada una de las tablas que forman
parte de la base de datos, así como las sentencias SQL necesarias para su
creación en el gestor de bases de datos MySQL.
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
88
• Tabla usuarios
Como su propio nombre indica, la tabla usuarios almacena toda la
información necesaria sobre los usuarios del sistema.
Nombre campo Tipo de dato Descripción
DNI Varchar(9) not NULL DNI del usuario
nombre Varchar(60) not NULL Nombre del usuario
apellidos Varchar(100) not NULL Apellidos del usuario
direccion Varchar(100) not NULL Dirección del usuario
tlf Varchar(20) Teléfono del usuario
contrasena Varchar(20) not NULL Contraseña de acceso
tipo_usuario Varchar(16) not NULL Tipo de usuario en la plataforma
o Sentencia de creación de la tabla:
CREATE TABLE `usuarios` (
`DNI` varchar(9) NOT NULL,
`nombre` varchar(60) NOT NULL,
`apellidos` varchar(100) NOT NULL,
`direccion` varchar(100) NOT NULL,
`tlf` varchar(20),
`contrasena` varchar(20) NOT NULL,
`tipo_usuario` varchar(16) NOT NULL,
PRIMARY KEY (`DNI`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
89
• Tabla asignaturas
En la tabla asignaturas se almacena la información referente a las
asignaturas impartidas en la plataforma.
Nombre campo Tipo de dato Descripción
idasignatura int not NULL autoincrement Identificador de la asignatura
nombre Varchar(60) not NULL Nombre de la asignatura
*idprofesor Varchar(9) not NULL DNI del profesor de la asignatura
o Sentencia de creación de la tabla:
CREATE TABLE `asignaturas` (
`idasignatura` int NOT NULL auto_increment,
`nombre` varchar(100) NOT NULL,
`idprofesor` varchar(9) NOT NULL,
PRIMARY KEY (`idasignatura`),
FOREIGN KEY (`idprofesor`)
REFERENCES usuarios(`DNI`)
ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
90
• Tabla matriculas
La tabla de matriculas almacena la información sobre las asignaturas en
las que está matriculado cada alumno.
Nombre campo Tipo de dato Descripción
idmatricula int not NULL autoincrement Identificador de la matricula
*idusuario Varchar(9) not NULL DNI del alumno
*idasignatura int not NULL Identificador de la asignatura
o Sentencia de creación de la tabla:
CREATE TABLE `matriculas` (
`idmatricula` int NOT NULL auto_increment,
`idusuario` varchar(9) NOT NULL,
`idasignatura` int NOT NULL,
PRIMARY KEY (`idmatricula`),
FOREIGN KEY (`idasignatura`)
REFERENCES asignaturas(`idasignatura`)
ON DELETE CASCADE,
FOREIGN KEY (`idusuario`)
REFERENCES usuarios(`DNI`)
ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
91
• Tabla correos
La tabla de correos almacena la información necesaria para el
intercambio de correos entre los usuarios de la plataforma.
Nombre campo Tipo de dato Descripción
idcorreo int not NULL autoincrement Identificador del correo
Nuevo Int not NULL Indica si el correo es nuevo
*idusuario_origen Varchar(9) not NULL DNI del usuario que lo envía
*idusuario_destino Varchar(9) not NULL DNI del usuario destino
asunto Varchar(200) Asunto del correo
texto Varchar(5000) Texto del correo
fecha_hora timestamp not NULL Fecha y hora de envío
o Sentencia de creación de la tabla:
CREATE TABLE `correos` (
`idcorreo` int NOT NULL auto_increment,
`nuevo` int NOT NULL,
`usuario_origen` varchar(9) NOT NULL,
`usuario_destino` varchar(9) NOT NULL,
`asunto` varchar(200),
`texto` varchar(50000),
`fecha_hora` timestamp NOT NULL,
PRIMARY KEY (`idcorreo`),
FOREIGN KEY (`usuario_origen`)
REFERENCES usuarios(`DNI`)
ON DELETE CASCADE,
FOREIGN KEY (`usuario_destino`)
REFERENCES usuarios(`DNI`)
ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
92
• Tabla citas
En la tabla de citas se almacena la información referente a las citas
almacenadas para gestionar la agenda de cada usuario.
Nombre campo Tipo de dato Descripción
idcita int not NULL autoincrement Identificador de la cita
*idusuario Varchar(9) not NULL DNI del usuario
fecha_hora timestamp not NULL Fecha y hora de la cita
asunto Varchar(200) Asunto de la cita
o Sentencia de creación de la tabla:
CREATE TABLE `citas` (
`idcita` int NOT NULL auto_increment,
`idusuario` varchar(9) NOT NULL,
`fecha_hora` timestamp NOT NULL,
`asunto` varchar(150) NOT NULL,
PRIMARY KEY (`idcita`),
FOREIGN KEY (`idusuario`)
REFERENCES usuarios(`DNI`)
ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
93
• Tabla ejercicios
La tabla de ejercicios almacena la información de los ejercicios que los
alumnos introducen en la plataforma para presentarlos a sus profesores.
Nombre campo Tipo de dato Descripción
idejercicio int not NULL autoincrement Identificador del ejercicio
*idasignatura int not NULL Identificador de la asignatura
*idusuario Varchar(9) not NULL DNI del usuario
fecha_hora timestamp not NULL Fecha y hora de la cita
descripcion Varchar(200) Descripción del ejercicio
direccion Varchar(150) Path del ejercicio
o Sentencia de creación de la tabla:
CREATE TABLE `ejercicios` (
`idejercicio` int NOT NULL auto_increment,
`idasignatura` int NOT NULL,
`idusuario` varchar(9) NOT NULL,
`fecha_hora` timestamp NOT NULL,
`descripcion` varchar(200),
`direccion` varchar(150) not NULL,
PRIMARY KEY (`idejercicio`),
FOREIGN KEY (`idasignatura`)
REFERENCES asignaturas(`idasignatura`)
ON DELETE CASCADE,
FOREIGN KEY (`idusuario`)
REFERENCES usuarios(`DNI`)
ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
94
• Tabla noticias
La tabla de noticias almacena la información de las noticias que aparecen
en la página de inicio de la plataforma.
Nombre campo Tipo de dato Descripción
idnoticia int not NULL autoincrement Identificador del ejercicio
fecha timestamp not NULL Fecha y hora de inserción
*idusuario Varchar(9) not NULL DNI del usuario
noticia_texto Varchar(1000) Texto de la noticia
foto Varchar(100) Path de la foto
o Sentencia de creación de la tabla:
CREATE TABLE `noticias` (
`idnoticia` int NOT NULL auto_increment,
`fecha` timestamp NOT NULL,
`idusuario` varchar(9) NOT NULL,
`noticia_texto` varchar(1000),
`foto` varchar(100),
PRIMARY KEY (`idnoticia`),
FOREIGN KEY (`idusuario`)
REFERENCES usuarios(`DNI`)
ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
95
• Tabla documentos
En la tabla de documentos se almacena toda la información a cerca de
los documentos que el centro introduce en la plataforma para comunicar
información a los distintos usuarios.
Nombre campo Tipo de dato Descripción
iddocumento int not NULL autoincrement Identificador del documento
titulo Varchar(100) NOT NULL Título del documento
fecha timestamp not NULL Fecha y hora de insercción
*idusuario Varchar(9) not NULL DNI del usuario
direccion Varchar(100) Path del documento
o Sentencia de creación de la tabla:
CREATE TABLE `documentos` (
`iddocumento` int NOT NULL auto_increment,
`titulo` varchar(100) NOT NULL,
`fecha` timestamp NOT NULL,
`idusuario` varchar(9) NOT NULL,
`direccion` varchar(100),
PRIMARY KEY (`iddocumento`),
FOREIGN KEY (`idusuario`)
REFERENCES usuarios(`DNI`)
ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
96
• Tabla calificaciones
En esta tabla se almacenan las calificaciones impuestas por los
profesores a los alumnos.
Nombre campo Tipo de dato Descripción
idcalificacion int not NULL autoincrement Identificador de la calificación
descripcion Varchar(1000) not NULL Descripción de la calificación
nota_numerica float not NULL Nota numérica
nota Varchar(15) not NULL Nota en formato texto
*idusuario Varchar(9) not NULL DNI del usuario
*idasignatura int not NULL Asignatura a la que pertenece
o Sentencia de creación de la tabla:
CREATE TABLE `calificaciones` (
`idcalificacion` int NOT NULL auto_increment,
`descripcion` varchar(100) NOT NULL,
`nota_numerica` float NOT NULL,
`nota` varchar(15) NOT NULL,
`idusuario` varchar(9) NOT NULL,
`idasignatura` int NOT NULL,
PRIMARY KEY (`idcalificacion`),
FOREIGN KEY (`idusuario`)
REFERENCES usuarios(`DNI`)
ON DELETE CASCADE,
FOREIGN KEY (`idasignatura`)
REFERENCES asignaturas(`idasignatura`)
ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
97
• Tabla temas
En la tabla de temas se almacenan los temas existentes dentro de cada
una de las asignaturas impartidas en la plataforma.
Nombre campo Tipo de dato Descripción
idtema int not NULL autoincrement Identificador del tema
nombre Varchar(50) not NULL Nombre asignado al tema
*idusuario Varchar(9) not NULL DNI del usuario
*idasignatura int not NULL Identificador de la asignatura
o Sentencia de creación de la tabla:
CREATE TABLE `temas` (
`idtema` int NOT NULL auto_increment,
`nombre` varchar(50) NOT NULL,
`idusuario` varchar(9) NOT NULL,
`idasignatura` int NOT NULL,
PRIMARY KEY (`idtema`),
FOREIGN KEY (`idusuario`)
REFERENCES usuarios(`DNI`)
ON DELETE CASCADE,
FOREIGN KEY (`idasignatura`)
REFERENCES asignaturas(`idasignatura`)
ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
98
• Tabla recursos
La tabla de recursos almacena la información referente a los archivos
que los profesores quieren hacer llegar a los usuarios, estos podrán de
cualquier tipo.
Nombre campo Tipo de dato Descripción
idrecurso int not NULL autoincrement Identificador del recurso
nombre Varchar(100) not Nombre del recurso
fecha timestamp not NULL Fecha y hora de inserción
*idtema int not NULL Identificador del tema
recurso Varchar(100) Path del recurso
o Sentencia de creación de la tabla:
CREATE TABLE `recursos` (
`idrecurso` int NOT NULL auto_increment,
`nombre` varchar(100) NOT NULL,
`fecha` timestamp NOT NULL,
`idtema` int NOT NULL,
`recurso` varchar(100),
PRIMARY KEY (`idrecurso`),
FOREIGN KEY (`idtema`)
REFERENCES temas(`idtema`)
ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
99
A continuación se incluye un diagrama en el que se muestran las
relaciones existentes entre las distintas tablas que forman la base de datos de
forma gráfica:
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
100
4. Implantación y pruebas
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
101
En esta etapa de la metodología utilizada se desarrolla el código de la
aplicación de una manera certificada. Así mismo también incluye las pruebas
del sistema, en todas sus versiones.
Durante el desarrollo de la etapa, deben llevarse a cabo las siguientes
actividades:
• Definir estándares de programación. Antes de comenzar la
programación, se define la estructura de directorios que tendrá el
proyecto, así como la distribución dentro de ella de los distintos
ficheros de código fuente que se implementarán.
• Codificación y pruebas unitarias. En esta fase se desarrolla el código.
Éste tiene que cumplir la totalidad de las funcionalidades
especificadas en cada uno de los requisitos. Además, se deben
realizar pruebas para comprobar el correcto funcionamiento de cada
una de las partes del aplicativo.
• Pruebas de módulos y de sistema. En este punto se realizan las
pruebas globales de toda la aplicación en su conjunto.
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
102
4.1. Estructura de directorios
Para facilitar la gestión de los múltiples recursos que intervienen en el
desarrollo de la aplicación, permitiendo la portabilidad, el estándar servlets a
partir de la versión 2.3 impone una estructura de directorios estándar, así como
empaquetar las aplicaciones en archivos WAR, de forma que sea posible
desplegarla en otros servidores sin necesidad de realizar ninguna modificación.
A continuación se pasa a mostrar y describir la estructura de directorios
utilizada para el desarrollo del proyecto fin de carrera:
Todas las carpetas, ficheros, librerías, etc. se encuentran dentro del
directorio raíz del proyecto creado para desarrollar la aplicación.
• src: directorio que contiene el código fuente (clases Java) de la
aplicación, este contiene los distintos paquetes ya comentados
anteriormente (servlets, servicios, dominio y DAO).
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
103
• Build: Este directorio contiene los archivos .class de cada una de las
clases definidas en los distintos paquetes ya mencionados, así como
el archivo .jar de a la aplicación.
• etc: Esta carpeta contiene el fichero que permite crear la base de
datos pdo.sql, introduciendo los datos utilizados para las pruebas del
sistema.
• Web: en este directorio se encuentran almacenados los recursos
necesarios para la parte de presentación, como son las hojas de estilo
(.css), imágenes, páginas JSP y HTML, documentos almacenados,
archivos rss necesarios, así como .class de un applet utilizado en la
aplicación.
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
104
• META-INF: contiene el fichero de configuración context.xml de la
aplicación, que deberá ser copia en el servidor para el funcionamiento
de la aplicación.
• WEB-INF: directorio que contiene el fichero web.xml, deployment
descriptor, fichero que contiene la información referente al inicio de la
aplicación, y la definición de los url-mappings. También se almacena
en el directorio la carpeta lib, en la que se almacenan los archivos .jar
necesarios para la aplicación.
Además de estos directorios ya descritos, en el directorio raíz podemos
encontrar otros archivos igual de importantes y necesarios:
• build.xml: script de Ant en el que existe un target all que compila y
despliega la aplicación en el servidor Tomcat.
• Pdo.war: Archivo .war de la aplicación ya comentado.
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
105
5. Estudio económico
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
106
5.1. Coste de desarrollo
Los costes de implantación incluyen los referentes al desarrollo de la
aplicación y necesidades de formación. Al tratarse de una aplicación Web en la
que se ha tratado de realizar un interfaz de usuario lo más sencillo e intuitivo
posible, no se considera necesaria formación para su correcta utilización,
considerando que el manual de usuario es una ayuda suficiente para resolver
aquellas dudas que puedan surgir.
• Estimación de coste de recursos humanos:
Función Nº horas Coste/hora Coste
Jefe de proyecto 50 60 € 3.000 €
Analista 100 45 € 4.500 €
Programador 210 35 € 7.350 €
Total recursos humanos 14.850 €
• Coste adquisición de tecnología
o Hardware
Como se indicó en el estudio de arquitectura, en la fase de desarrollo es
necesaria la utilización de un equipo personal de características medias, que
será utilizado también como servidor. Se incluirá en el presupuesto por tanto, la
amortización correspondiente de los equipos y licencias, calculadas teniendo en
cuenta la vida media de recurso, y el número de proyectos realizados en ella.
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
107
Recurso Unidades Coste Coste total
Estación de trabajo 1 200 € 200 €
Unidad backup 1 90 € 90 €
Dispositivo SAI 1 60 € 60 €
Total recursos hardware 350 €
o Software
En cuanto al software necesario para el desarrollo de la aplicación, se
han de incluir las siguientes licencias:
Recurso Coste total
Macromedia Dreamweaver 110 €
Windows XP 70 €
Microsoft Office 60 €
Total recursos software 240 €
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
108
Concepto Coste total
Recursos humanos 14.850 €
Recursos hardware 350 €
Recursos software 240 €
Total costes desarrollo 15.440 €
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
109
5.2. Costes operacionales
Este tipo de costes incluyen los derivados de la explotación y
mantenimiento del sistema desarrollado.
Como la gestión de la aplicación la llevan a cabo en gran parte el
personal del centro docente, únicamente es necesario realizar tareas de control
y mejora de la aplicación, por lo que se no considera que una persona para
realizar la tarea.
Como ya se ha indicado también en la parte de análisis de arquitectura,
la explotación de la aplicación se va a llevar a cabo en un CPD. A continuación
se detallan los costes operacionales:
Recurso Horas Coste Coste/año
CPD 24 x 7 1.100 €
Total costes operacionales 1.100 €
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
110
5.3. Costes totales
Los costes totales del desarrollo e implantación de la plataforma
desarrollada se indican en la siguiente tabla:
Concepto Coste total
Total costes desarrollo 15.440 €
Total costes operacionales 92 €/mes
Total costes proyecto 15.440 € + 92 €/mes
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
111
6. Conclusiones
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
112
La realización de un proyecto de esta envergadura de forma individual,
ha permitido comprender, de manera práctica, el afecto que las decisiones de
diseño tienen en el resultado final obtenido en la implementación y, sobre todo,
la necesidad de realizar un fase de diseño y análisis exhaustiva, con una
definición clara del dominio del problema y los requisitos del sistema a
desarrollar, para conseguir una correcta implementación de la aplicación.
Utilizando una plataforma de docencia on-line ya diseñada y
desarrollada, no se percibe realmente la complejidad y el tiempo necesario
empleado para su realización, dejando de valorar de manera objetiva todo el
trabajo que implica su correcto desarrollo.
La funcionalidad que una plataforma debe incluir es mucho más
completa de lo que parece a primera vista, ya que no se limita al
almacenamiento de documentos para que los alumnos puedan acceder a ellos.
Una plataforma de docencia debe permitir la comunicación entre los usuarios
de la misma, comunicación de noticias del centro docente, realización de
matriculas de nuevas asignaturas, modificación y consulta de los datos de los
usuarios almacenados en la misma, inserción de nuevos usuarios,
comunicación de las sesiones presenciales, modificación de las asignaturas
impartidas, presentación de ejercicios, comunicación de calificaciones,
buscadores de recursos, etc.
El estudio realizado de las distintas tecnologías que podían ser utilizadas
para el desarrollo del proyecto, ha llevado a conocer la importancia de tener en
cuenta las nuevas tendencias en los desarrollos Web. Hoy en día se deben
orientar los desarrollos Web a cumplir los requerimientos de las nuevas
tendencias tecnológicas de la Web 2.0, pensando en facilitar en la mayor
medida posible el acceso de los usuarios a la información.
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
113
En los primeros años de las aplicaciones Web, los desarrollos se reducían
a la presentación de información en una Web, a la que el usuario accedía para
su consulta. La Web 2.0 es una nueva forma de entender Internet, permitiendo,
con las nuevas tecnologías existentes, que el flujo de información dependa de
los usuarios que acceden a ella, permitiendo no solo un acceso mucho más fácil
y centralizado a la información, sino que los usuarios tenga la capacidad de
organizarla y participar en su creación, sin grandes conocimientos informáticos.
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
114
7. Bibliografía
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
115
7.1. Libros
[BARR01]
[RIVE02]
[GAMM95]
[JEWE02]
[BATI00]
Barranco de Areba, J. “Metodología del analisis estructurado de sistemas”, Universidad Pontifica Comillas, Madrid, España 2001
Rivero, E.; Martínez, L.; Reina, L.; Benavides, J. y Olaizola, J.M.
“Introducción al SQL para usuarios y programadores”.
2ª Edición. Thomson, Madrid, España, 2002.
Erich Gamma; Richar Help; Ralph Jonson; John Vlisside.
“Desing Patterns. Elements of Reusable Object Oriented
Software” Addison Wesley. 1995
Jewell Tyler, Allamaraju Subrahmanyam, Beust Cedric, Davies
John, Jonson Rod, Longshaw Andrew, Nagappan Armes,
O’Connor Daniel, Toussaint Alex, Tyagi Sameer, Watson Gary,
Wilcox Mark, “Programación Java Server con J2EE Edición
1.3 Profesional”, Anaya Multimedia, 2002.
Batíz Paredes , J. “Desarrollo orientado a objetos con
UML”, IPN, Navarra, España, 2000.
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
116
7.2. Páginas Web
• Información sobre patrones de diseño J2EE
o http://java.sun.com/blueprints/corej2eepatterns
o http://java.ciberaula.com/articulo/diseno_patrones_j2ee/
• Información sobre programación J2EE
o http://java.sun.com
o http://www.programacion.net/java/
• Información sobre la metodología utilizada
o http://www.cs.ualberta.ca/~pfiguero/soo/metod/
• Información sobre programación en JavaScript
o http://www.gamarod.com.ar/javascript/code-source.asp
o http://www.desarrolloweb.com/javascript/
• Información sobre Web 2.0
o http://www.nosolousabilidad.com
o http://www.maestrosdelweb.com
• Información sobre RSS
o http://www.euroresidentes.com/Diversion/Internet/rss.htm
o http://www.webnova.com.ar/articulo.php?recurso=177
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
117
ANEXO A
MANUAL DE INSTALACIÓN
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
118
A.1 Introducción En el manual de implantación se explica paso a paso las acciones que
hay que llevar a cabo para una correcta instalación de la aplicación desarrollada
en el servidor sobre el que va a trabajar, al cual se conectarán los usuarios vía
Internet.
Los recursos software necesarios son los siguientes:
• El servidor utilizado es el Yakarta Tomcat en su versión 5.0.28
• Java SDK 1.5
• MySQL 5.0.24
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
119
A.2 Configuración hardware y software Como la explotación del sistema se va a llevar a cabo en un CPD
independiente, no es necesaria la configuración del hardware.
En cuanto al software, es necesaria la instalación de los distintos
programas indicados en el apartado de introducción. Únicamente es necesaria
la configuración de algún parámetro.
• El servidor se instalará en el directorio c:\. Si se desea realizar si
instalación en otro disco diferente, deberá ser modificado el path
almacenado en el archivo “propiedades.properties”, almacenado en la
carpeta Web, ya explicada anteriormente.
• Añadir una nueva variable de entorno, JAVA_HOME, y asignarle como
valor el path de instalación del JDK.
• Definir la variable de entorno CATALINA_HOME como el directorio de
instalación del Tomcat, añadiendo el directorio bin de la instalación
de Tomcat al path.
• En la carpeta pdo se incluye el entorno de desarrollo utilizado para la
creación de la aplicación. Este a su vez es utilizado como backup de
los archivos almacenados en el servidor. Para su correcto
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
120
funcionamiento será necesario insertar esta carpeta en el disco duro
C del servidor en el que se ejecute. Si se desea almacenar la carpeta
en una ubicación distinta, será necesario modificar el archivo de
propiedades de la aplicación ya comentado.
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
121
A.3 Creación de la base de datos
Para la creación de la base de datos se deberá disponer del script
pdo.sql, almacenado en la carpeta etc del directorio del proyecto. Este script
contiene también los datos introducidos en la base de datos para la realización
de las pruebas del sistema.
• Abrir una sesión mysql con el usuario root, el comando es el
siguiente: mysql –u root –p
• Crear la base de datos con el comando: mysql> create database pdo;
• Ejecutar el script pdo.sql con el comando: mysql> source pdo.sql;
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
122
ANEXO B
MANUAL DE USUARIO
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
123
El objetivo de la aplicación desarrollada es ofrecer a los usuarios de
cualquier nivel de conocimientos informáticos la posibilidad de aprender
utilizando una plataforma de docencia virtual on-line. Para llevar a cabo este
objetivo, se ha realizado el interfaz de usuario de la manera más sencilla e
intuitiva posible, lo que facilita en gran medida su manejo.
A continuación se incluye una pequeña guía de cómo utilizar las distintas
funcionalidades que proporciona la plataforma.
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
124
B.1 Perfiles de usuario En la aplicación existen tres posibles perfiles de usuario, del cuál
dependerá la funcionalidad a la que cada usuario podrá acceder.
• Alumno.- Persona que recibe la docencia impartida en la aplicación
• Profesor.- Persona que imparte la docencia
• Personal del centro.- Persona encargada de la gestión de la
plataforma
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
125
B.2 Funcionalidad común del sistema La funcionalidad del sistema depende del tipo de usuario, como ya se ha
comentado anteriormente, aunque existe una parte de la funcionalidad que es
común a los tres tipos de usuarios.
A continuación se pasa a comentar la funcionalidad común
proporcionada por la plataforma:
• Acceder a la zona personal de cada usuario
Situados en la página de inicio de la plataforma, para acceder a la zona
personal de cada usuario basta con introducir el usuario y la contraseña, y
seleccionar el tipo de usuario del que se trate.
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
126
• Sindicar los contenidos de la plataforma mediante RSS
Mediante la sindicación de contenidos RSS se puede disponer de las
nuevas asignaturas impartidas en la plataforma sin la necesidad de acceder a
ella. Para ello lo único que hay que hacer es pulsar sobre el icono de RSS
situado en la parte inferior derecha, y seleccionar donde queremos almacenar
los contenidos, bien sea el propio navegador, o un agregador de texto.
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
127
• Buscar un recurso dentro de la plataforma
La plataforma implementa un buscador interno de recursos por título del
documento. Basta con la introducción de una parte de la palabra buscada para
obtener todos los resultados que la contengan. El buscador se encuentra
situado en la parte superior central de todas las páginas.
Una vez introducida la palabra deseada, basta con pulsar el botón de
buscar, y se obtendrá la siguiente pantalla, en la que se muestran los
documentos obtenidos.
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
128
• Buscar en Internet
Asimismo, la plataforma permite la búsqueda en Internet a través del
buscador de Google. Esta funcionalidad se encuentra situada en la parte
superior izquierda, sobre el menú de la plataforma.
Al introducir la palabra clave de la búsqueda y pulsar el botón de buscar,
se redireccionará automáticamente a la página de resultados de búsqueda de
Google.
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
129
• Consultar citas
La plataforma proporciona distintas maneras de acceder a las citas
almacenadas por un usuario:
o En la parte central de la zona personal de cada usuario se
dispone de un calendario del año en curso. Los días que aparecen
en color azul indican la existencia de alguna cita con esa fecha,
pulsando sobre el día, se indica el asunto, así como la fecha y la
hora concreta de las citas existentes para ese día.
o Otra manera de acceder a las citas de un usuario es mediante el
botón existente en el menú con el nombre de “Consultar citas”.
De esta manera, el sistema mostrará al usuario todas sus citas
programadas para el mes en curso.
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
130
• Insertar nueva cita
Para insertar una nueva cita en la agenda, es necesario seleccionar en el
menú izquierdo la opción de “Insertar nueva cita”.
A continuación se deberán insertar todos los datos indicados, y pulsando
sobre el botón de enviar, la cita quedará fijada en la agenda del usuario.
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
131
• Consultar correo
El sistema proporciona un servicio de correo interno entre los usuarios de
la plataforma. Para acceder a él solo es necesario pulsar sobre el botón
“Consultar correo” del menú situado a la izquierda.
El sistema mostrará todos los mensajes disponibles para el usuario.
Junto al asunto del correo, aparecerá una si se trata de un mensaje nuevo
que todavía no ha sido leído por el usuario. Pinchando sobre el asunto del
correo, se procederá a mostrar el correo al completo.
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
132
• Enviar un correo
Una vez que el usuario se encuentra en la bandeja de entrada de su
correo en la que se muestran todos los correos que tiene disponibles, se
presenta la opción de enviar correos.
Pinchando sobre el botón que corresponda dependiendo del tipo de
usuario destino del mensaje, el sistema mostrará la siguiente pantallas, en la
que se incluye una lista de los nombres de las personas a las que puede enviar
el correo según el tipo de usuario seleccionado.
Una vez escrito el mensaje, solo es necesario pinchar sobre el botón
“Enviar” para que el correo sea enviado al usuario de destino.
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
133
• Acceder a los documentos del centro
El personal del centro docente almacenará en la plataforma los
documentos necesarios para su comunicación con los usuarios de la misma. En
el menú de la aplicación situado en la parte izquierda se presenta la opción de
“Acceder documentos centro”. Al seleccionarla se mostrarán todos los
documentos existentes en ese momento disponibles a los usuarios.
En el caso del personal del centro, esta opción será ligeramente
diferente, al añadir funcionalidad, como se comentará posteriormente.
Seleccionando el nombre del documento que se quiere consultar, dicho
documento se abrirá en una ventana diferente, utilizando para ello la aplicación
más adecuada al tipo de archivo del que se trate.
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
134
• Modificar datos personales
El sistema permite la modificación de los datos personales del usuario,
evitando así la necesidad de contactar con el centro docente para realizar el
cambio necesario.
Accediendo mediante el menú, se presentarán los datos del usuario que
permanecen almacenados en la plataforma en el momento. El usuario podrá
proceder a la modificación de los datos permitido: teléfono, dirección y
contraseña.
Para realizar la modificación de la contraseña se pide que la nueva sea
introducida en dos ocasiones, para evitar que errores mecanográficos asignen
una contraseña incorrecta a un usuario. Si las contraseñas introducidas por el
usuario no coincidiesen, se presentará un mensaje de error al usuario para que
este las vuelva a introducir correctamente.
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
135
B.3 Funcionalidad del módulo alumno A continuación se muestra un ejemplo de la zona personal
correspondiente a un alumno, pasando a indicar las funcionalidades existentes
para ellos, y la forma de realización de cada una.
En la zona personal del alumno se puede observar:
o El menú de la aplicación situado en la parte izquierda con la
funcionalidad disponible
o Buscador de Google sobre el menú
o Calendario en la parte central, indicando en azul los días en los
que hay almacenada alguna cita
o Buscador interno a la plataforma sobre el calendario
o Icono de sindicación RSS junto al nombre del usuario
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
136
• Sindicar tutorías mediante RSS
Mediante la sindicación de contenidos RSS un alumno puede conocer las
nuevas tutorías programadas en las asignaturas en las que está matriculado en
la plataforma sin la necesidad de acceder a ella. Para ello lo único que debe que
hacer es pulsar sobre el icono de RSS situado en la parte superior derecha de
su zona personal, y seleccionar donde se quieren almacenar los contenidos,
bien sea el propio navegador, o un agregador de texto.
A continuación se muestra la pantalla a la que se accede para realizar la
sindicación de contenidos, en la que se escoge donde almacenar la información,
junto con un pequeño resumen de la información a la que se sindica.
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
137
• Acceder a asignaturas
Para acceder a las asignaturas en las que está matriculado un usuario,
únicamente es necesario pulsar sobre el botón correspondiente situado en
primer lugar en el menú, y el sistema mostrará todas sus asignaturas.
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
138
• Acceder a una asignatura
Una vez que el alumno se encuentra en la página que muestra las
asignaturas en las que está matriculado, pulsando sobre el nombre de la
asignatura, se accederá a ella, mostrando los temas existentes en el momento
en la asignatura.
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
139
• Acceder a los recursos de un tema
Para consultar los recursos disponibles en un tema de la asignatura
seleccionada, es suficiente con pinchar sobre el tema, y el sistema mostrará
todos los recursos almacenados.
Seleccionando el recurso requerido, se abrirá el archivo en una nueva
ventana con la aplicación más adecuada.
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
140
• Consultar calificaciones
Si un alumno desea consultar las calificaciones disponibles para él en la
plataforma, únicamente deberá pulsar sobre la opción correspondiente en el
menú, y el sistema mostrará todas sus calificaciones almacenadas, indicando
para ello la asignatura a la que pertenece, la nota, tanto numérica como
alfanumérica asignada por el profesor, y una pequeña descripción indicando el
tipo de calificación del que se trata.
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
141
• Presentar ejercicio
Mediante esta opción, un alumno podrá enviar a un profesor cualquier
archivo solicitado por el mismo. Seleccionando la opción correspondiente en el
menú, se presentará la página deseada.
El usuario deberá introducir una descripción del ejercicio a presentar,
seleccionar el archivo y la asignatura a la que pertenece, y pulsando sobre el
botón de “Enviar”, el archivo será almacenado en la plataforma para ser
consultado por el profesor que corresponda.
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
142
• Matricular en nueva asignatura
Un alumno podrá matricularse en una nueva asignatura de las impartidas
en la plataforma de una manera sencilla y rápida. Pulsando sobre la opción de
“Matricularse en asignatura” del menú de su zona personal, el sistema muestra
todas las asignaturas en las que el alumno ya está matriculado, junto con
aquellas asignaturas en las que todavía no está matriculado.
Únicamente es necesario seleccionar la asignatura escogida y pulsar el
botón de matricular para que el sistema registre la nueva matricula, y el alumno
pueda acceder a los contenidos de la misma
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
143
B.4 Funcionalidad del módulo profesor A continuación se muestra un ejemplo de la zona personal de un
profesor, pasando a indicar las funcionalidades existentes para ellos, y la forma
de realización de cada una.
En la zona personal del profesor se puede observar:
o El menú de la aplicación situado en la parte izquierda con la
funcionalidad disponible
o Buscador de Google sobre el menú
o Calendario en la parte central, indicando en azul los días en los
que hay almacenada alguna cita
o Buscador interno a la plataforma sobre el calendario
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
144
• Acceder a asignaturas
Para acceder a las asignaturas en las que está matriculado un usuario,
únicamente es necesario pulsar sobre el botón correspondiente situado en
primer lugar en el menú, y el sistema mostrará todas sus asignaturas.
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
145
• Acceder a una asignatura
Una vez que el profesor se encuentra en la página que muestra las
asignaturas que imparte en la plataforma, pulsando sobre el nombre de la
asignatura, se accederá a ella, mostrando los temas existentes en el momento
en la asignatura. Debajo de los distintos temas existentes, se muestra un
submenú con la funcionalidad que el profesor puede realizar dentro de cada
asignatura.
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
146
• Modificar temas
Si el profesor selecciona modificar los temas existentes en una
asignatura, se muestra una pantalla en la que podrá optar por borrar alguno de
los temas existentes, o insertar un nuevo tema.
Para borrar alguno de los temas actuales, basta con seleccionar aquellos
que desee borrar y pulsar sobre el botón de “Borrar”.
Para insertar un nuevo tema, el profesor introducirá el nombre del nuevo
tema, y pulsar sobre el botón de “Nuevo tema”.
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
147
• Consultar lista de alumnos
Seleccionando la opción de “Lista de alumnos”, el sistema mostrará al
profesor los datos de los alumnos que se encuentran matriculados en la
asignatura que imparte, indicando para cada uno de ellos su DNI, nombre y
apellidos.
Seleccionando ahora la opción de “Descargar lista”, el profesor podrá
guardar un archivo con los datos mostrados de los alumnos de la asignatura.
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
148
• Consultar ejercicios
El profesor consultará los ejercicios que los alumnos de la asignatura le
han en enviado pulsando sobre el botón “Consultar ejercicios”.
El sistema muestra la lista de todos los ejercicios presentados por los
alumnos, y pinchando sobre el nombre que los alumnos han asignado al
ejercicio, podrá abrir los ejercicios en una nueva ventana con la aplicación
correspondiente.
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
149
• Insertar calificación
Para insertar una nueva calificación de un alumno, el profesor
seleccionará la opción correspondiente en el submenú de la asignatura,
accediendo a la página correspondiente.
El profesor deberá seleccionar el nombre del alumno, insertar una
descripción de la calificación a introducir, así como la nota numérica y
alfanumérica. Pulsando sobre el botón de “Enviar” la calificación será
almacenada en el sistema.
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
150
• Insertar tutoría
Para insertar una nueva tutoría programada para una asignatura, el
profesor seleccionará la opción correspondiente en el submenú de la
asignatura, accediendo a la página siguiente.
Una vez que el profesor haya introducido los datos necesarios, y
seleccionado la fecha y la hora de la tutoría, pulsando el botón de “Enviar”, el
sistema registrará la tutoría en su agenda y en la de los alumnos matriculados
en la asignatura, actualizando sus contenidos RSS.
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
151
B.5 Funcionalidad del módulo personal del centro A continuación se muestra un ejemplo de la zona personal del personal
del centro, pasando a indicar las funcionalidades existentes para ellos, y la
forma de realización de cada una.
En la zona personal del personal del centro se puede observar:
o El menú de la aplicación situado en la parte izquierda con la
funcionalidad disponible
o Buscador de Google sobre el menú
o Calendario en la parte central, indicando en azul los días en los
que hay almacenada alguna cita
o Buscador interno a la plataforma sobre el calendario
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
152
• Modificar documentos del centro
En el caso del personal del centro, además de consultar los documentos
del centro, estos pueden modificarlos, insertando nuevos documentos, o
borrando algunos de los documentos existentes en la plataforma.
Para ello, el personal del centro seleccionará la opción correspondiente
en el menú, accediendo a una página en la que se muestran todos los
documentos.
Si desea eliminar alguno de los documentos, bastará con marcarlos y
pulsar sobre el botón de “Borrar”.
El personal del centro seleccionará el documento a insertar, que
pulsando en el botón de “Enviar” será introducido en la plataforma.
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
153
• Consultar datos usuario
El personal del centro puede consultar los datos de los usuarios de la
plataforma. Seleccionando la opción en el menú principal, el usuario debe
seleccionar al usuario del que desea consultar sus datos.
Pulsando sobre el botón de “Consultar”, el sistema muestra todos los
datos almacenados del usuario seleccionado.
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
154
• Insertar nuevo usuario
Para insertar un nuevo usuario en la plataforma, se seleccionará la
opción correspondiente en el menú principal, accediendo a la página de
inserción de datos.
El personal del centro introducirá todos los datos del nuevo usuario,
excepto la contraseña, que por defecto será el DNI, para que el usuario la
modifique una vez acceda a la plataforma. Deberá seleccionar el tipo de usuario
al que pertenece el nuevo usuario.
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
155
• Modificar asignaturas
Seleccionando la opción de modificar asignaturas, se accede a la página
en la que se muestran todas las asignaturas que se imparten en la asignatura
en ese momento.
Seleccionando las asignaturas que se desean borrar, y pulsando el botón
“Borrar”, estas serán eliminadas de la plataforma.
Para insertar una nueva asignatura, se deberá pulsar sobre el botón de
“Nueva asignatura” pasando a la pantalla de introducción de datos.
En ella el personal del centro introducirá el nombre de la asignatura,
seleccionará el profesor que la impartirá, y pulsando sobre el botón de “Nueva
asignatura”, esta quedará registrada en la plataforma.
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
156
• Modificar noticias
Para modificar las noticias que se muestran aleatoriamente en la página
de inicio de la plataforma, se seleccionará la opción de modificar noticias del
menú principal. A continuación se accede a la página en la que se muestran las
noticias que se encuentran almacenadas en ese momento.
Seleccionando las noticias que se desean borrar, y pulsando el botón
“Borrar”, estas serán eliminadas de la plataforma.
Para insertar una nueva noticia, se deberá pulsar sobre el botón de
“Nueva noticia”, pasando a la pantalla de introducción de la información.
En ella, el personal del centro introducirá el título de la noticia, el texto
de la misma, y la foto correspondiente, y pulsando sobre el botón de “Enviar”,
esta quedará registrada en la plataforma y comenzará a aparecer en la página
de inicio de manera aleatoria.
Plataforma docencia virtual on-line Escuela Técnica Superior Ingeniería – ICAI
157