EL DIRECTOR DEL PROYECTO - IIT - Universidad Pontificia Comillas

EL DIRECTOR DEL PROYECTO - IIT - Universidad Pontificia Comillas
Autorizada la entrega del proyecto del alumno:
D. Jorge Valls Esteban
Madrid, 2 de septiembre de 2008
EL DIRECTOR DEL PROYECTO
Fdo.: Dña. Lourdes Viana López
Vº Bº del Coordinador de Proyectos
Fdo.: D. Eduardo Alcalde Lancharro
Fecha: ……/……/……
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
INGENIERO TÉCNICO EN INFORMÁTICA DE GESTIÓN
PROYECTO FIN DE CARRERA
PLATAFORMA DOCENTE UNIVERSAL
AUTOR: JORGE VALLS ESTEBAN
MADRID, SEPTIEMBRE DE 2008
PLATAFORMA DOCENTE UNIVERSAL
DEDICATORIA
A mi familia, por haberme apoyado y estar a mi lado hasta que hemos conseguido llegar aquí. A mi alma gemela, porque cuando yo veo cosas y me pregunto, “¿Por qué?”, tú sueñas cosas y te preguntas “¿Por qué no?”. GRACIAS A TODOS. I
PLATAFORMA DOCENTE UNIVERSAL
AGRADECIMIENTOS
Agradezco la finalización de este proyecto a mi directora de proyecto, Lourdes Viana, por el tiempo dedicado y sus buenos consejos, sin ellos este proyecto nunca podría haber llegado a su fin. También les doy las gracias a mis compañeros, y a la vez amigos, por su magnífica compañía durante estos años de carrera, que aquí acaban, y de amistad, que nunca acabarán. II
PLATAFORMA DOCENTE UNIVERSAL
RESUMEN
El sistema que se ha diseñado es un prototipo de plataforma e‐learning de múltiples contenidos. Los usuarios del portal pueden tener distintos perfiles: invitado y registrado. El usuario invitado tiene acceso sólo a una parte del portal, al área informativa y al foro. Sin embargo, el usuario registrado está formado por diferentes tipologías, la de profesor y la de alumno, cada una con distintas funcionalidades. El portal se ha estructurado en varias partes diferenciadas. La primera es la parte pública de la aplicación, que contiene información acerca de la plataforma y acceso a formularios con funciones de registro y contacto con el administrador. La segunda, la parte personalizada, es la zona a la que acceden los usuarios una vez se han autenticado y contiene funcionalidades especiales para cada uno de ellos. Las funcionalidades incluidas son: un foro, una aplicación de correo, una encuesta sobre el portal, una herramienta para recomendar la plataforma a un amigo, una zona de consulta y modificación de los datos personales y, por último, una aplicación de gestión de los cursos del portal. Esta última funcionalidad es la parte dedicada a los cursos que recibe un alumno y que da un profesor. Por lo tanto, se han establecido funciones diferenciadas para cada perfil de usuario debido a sus distintas necesidades. El usuario alumno tiene funciones para inscribirse y desapuntarse, descargase los diferentes temarios y ficheros de los cursos en los cuales está dado de alta y consultar la lista de alumnos con los que comparte un curso. Por otra parte, para el usuario profesor se han establecido las funciones de subida y descarga III
PLATAFORMA DOCENTE UNIVERSAL
de ficheros de un curso al servidor, consulta del listado de alumnos y generación de un fichero de texto con dicho listado para labores administrativas. Toda esta estructura de la plataforma, con sus diversas funciones, se ha implementado buscando las características de interactividad y personalización. Estas características han sido consideradas de gran importancia, ya que la mayoría de plataformas e‐learning que existen carecen de ellas, siendo hoy en día muy importante que una plataforma web tenga la capacidad de personalizarse para cada usuario además de tener características de diseño e interacción que la hagan atractiva para el público de la red. Para conseguir estas propiedades de interacción y personalización en la aplicación se han estudiado las tecnologías que podían aportarlas. Partiendo de que este proyecto se implementaría como una arquitectura cliente‐servidor, se ha elegido DHTML como lenguaje para el lado del cliente y PHP como lenguaje para el lado del servidor. Se ha de señalar que DHTML es un compendio de tecnologías (CSS, JavaScript y XHTML) que dotan a las páginas de interacción, dinamismo y apariencia visual, aparte de que pueden ser indexadas y optimizadas por los motores de búsqueda, que es una característica muy importante a la hora de anunciar y promocionar la plataforma. Mientras, PHP es un lenguaje muy potente que permite el manejo de datos, así como la administración de los datos a través de sistemas gestores, en el caso del proyecto se ha elegido MySQL. Todos estos lenguajes utilizados han cumplido con un requisito fundamental que es el pertenecer al software libre, que, además de ser gratuito, aporta una gran variedad de plataformas de soporte, tanto en páginas especializadas, como en foros. Por lo tanto con el proyecto se ha implementado una plataforma web docente, que puede ser usada para multitud de cursos diferentes, y logra ser agradable, interactiva, dinámica y personalizada para cada usuario. IV
PLATAFORMA DOCENTE UNIVERSAL
ABSTRACT
The system that it has been designed is a prototype of e‐learning software platform with numerous contents. The users of that web portal have got different profiles: guest user and registered user. The first one can access public area, which has got information about the software platform. On the other hand, the registered users are divided in student users and teacher users. The software platform has got different parts. The first one is an opened area where it is possible to find: some general information, some forms with registered tools and an area where you can contact with the administrator of the web portal. The second one, the personal area, is only for the registered users. Hence, this part of the platform has got specific functions depending on the type of user that access to it. Here there are: a forum, a mail application, a poll about the quality of the web site, an option that allows to recommend the software platform to a friend, a consulting area, an area for changing the personal details, and finally, an area to manage courses of the web site. This last area consists in the student´s courses and the teacher´s ones. Therefore, there are different functions depending if the user is a teacher or a student. In consequence, the student has got several options like enroll or delete himself from a course, download files… Meanwhile, the teacher can upload and download files of his courses, consult his students list, or create texts files with the student list. The goal of this structure is to do a software platform with two principal characteristics: the interactivity and a customized approach. It is important to notice that the majority of the e learning portals haven´t got these two characteristics, although nowadays it is so important that a web portal has V
PLATAFORMA DOCENTE UNIVERSAL
got the capacity of adaptation to each user, but also an attractive design and interactivity characteristics. Without that, the portal won´t be attractive for the public. To achieve this goal it has been used a client‐server architecture. It has been employed DHTML for the client side and PHP for the server side. DHTML is a programming language which gives to the web site interactivity and some attractive visual elements. PHP allows to manage the user´s data files, because it has the capacity of interact with the database management system, in that project it has been used MySQL. In conclusion, with that project it has been done an educational software platform that could be used for a lot of courses, but also it is interactive, dynamic, pleasant, and adapted to each different user. VI
PLATAFORMA DOCENTE UNIVERSAL
ÍNDICE
1. Introducción…………………...…………….…………………….....1 1.1. Estado del arte…………………….…...…………………..2 1.2. Innovaciones de la aplicación….…...……………………6 2. Identificación de necesidades...……………………………………8 2.1. Introducción a las necesidades…………………………..9 2.2. Objetivos de la aplicación………………………………..10 2.3. Alcance de la aplicación………………………………….11 2.4. Tipología de usuarios finales...………………………….12 2.5. Antecedentes……………..………………………………..14 2.6. Metodología………………….……………………………14 3. Análisis de requisitos.……….……………………………………..17 3.1. Introducción al análisis…………………………………..18 3.2. Reconocimiento del problema…………………………..19 3.3. Lista de requisitos….……………………………………..21 3.4. Evaluación y síntesis.…………………………………….32 4. Estudio de la arquitectura…………………………………………33 4.1. Introducción al estudio de la arquitectura….………….34 4.2. Alternativas de lenguajes cliente………………….…….35 4.3. Alternativas de lenguajes servidor……………………...41 4.4. Alternativas en SGBD……………………………………..46 4.5. Alternativas distintos elementos………………………...53 5. Diseño………………………………………………………………...55 5.1. Introducción al diseño……...…………………………......56 5.2. Partes de la aplicación y mapa de navegabilidad……..57 VII
PLATAFORMA DOCENTE UNIVERSAL
5.3. Elaboración del modelo lógico de la aplicación……….65 5.4. Elaboración del modelo RE/R……………………………71 6. Desarrollo técnico……………………………………………………80 6.1. Introducción al desarrollo técnico……………………….81 6.2. Lenguajes utilizados………………………………………82 6.3. Partes de la aplicación……………………………………103 6.3.1. Página de inicio………………………………….104 6.3.2. Página de registro de usuarios………………...105 6.3.3. Página de contactos con administrador……….106 6.3.4. Página del buscador……………………………..107 6.3.5. Página de autenticación de usuario……………108 6.3.6. Página de usuario invitado……………………..109 6.3.7. Página principal………………………………….111 6.3.8. Página del foro…………………………………...112 6.3.9. Página del correo………………………………...115 6.3.10. Página de encuesta sobre la plataforma……...116 6.3.11. Página de recomendación de la plataforma…117 6.3.12. Página de consulta de datos personales……..118 6.3.13. Página principal de cursos…………………….119 6.4. Manual de usuario………………………………………...129 6.4.1. Introducción al manual de usuario………….....129 6.4.2. Descripción general del sistema………………..131 6.5. Manual de explotación…………………………………….137 6.5.1. Información general de la aplicación…………...138 6.5.2. Información de entradas y salidas……………....139 6.5.3. Información sobre el control de operaciones…..140 6.5.4. Información sobre seguridad…………………….141 VIII
PLATAFORMA DOCENTE UNIVERSAL
7. Pruebas e implantación…………………………………………….142 7.1. Introducción a las pruebas e implantación…………….143 7.2. Pruebas del sistema………………………………………144 7.2.1. Pruebas de encadenamiento…………………...146 7.2.2. Pruebas de integración…….…………………...146 7.2.3. Pruebas de explotabilidad...…………………...146 7.2.4. Pruebas de seguridad……...…………………...147 7.2.5. Pruebas de sobrecarga……..…………………...147 7.2.6. Pruebas de recuperación……………………….147 7.2.7. Pruebas de regresión……….…………………...147 7.2.8. Pruebas de aceptación de usuario……………..148 7.2.9. Pruebas de usabilidad…………………………..148 7.3. Implantación……………………………………………….149 7.3.1. Configuración hardware y software…………...149 7.3.2. Pruebas de implantación………………………..152 7.3.3. Plan de contingencias……………………………152 8. Valoración económica y planificación……………………………..154 8.1. Valoración económica……………………………………..155 8.2. Planificación del proyecto………………………………...159 9. Conclusiones y estudios futuros…………………………………...167 10. Bibliografía…………………………………………………………..170 11. Anexo A: Guía de instalación……………………………………...173 IX
PLATAFORMA DOCENTE UNIVERSAL
CAPÍTULO 1: Introducción -1-
PLATAFORMA DOCENTE UNIVERSAL
En esta parte se han de definir conceptos generales como los antecedentes que existen en el mercado sobre plataformas e‐learning y por qué se ha decidido realizar una aplicación que complemente en algún punto a las aplicaciones actuales. Por tanto este apartado de introducción consta de un Estado del Arte (antecedentes) y un apartado de breve explicación de las innovaciones planteadas. 1.1
ESTADO DEL ARTE
En el Estado del Arte se han de definir los precedentes sobre el desarrollo de plataformas e‐learning existentes en el mercado. Esta investigación dará una visión de lo que ya se ha hecho y qué se puede mejorar. De manera general se puede definir el e‐learning como “el suministro de programas educacionales y sistemas de aprendizaje a través de medios electrónicos”. Esta enseñanza tecnológica posibilita y flexibiliza el aprendizaje, además de poder, igualmente, crear ambientes de trabajo colectivo por medio del uso de herramientas de comunicación síncronas y asíncronas. Pero esta labor tan generalista se puede abordar de diferentes maneras: existen plataformas e‐learning bastante sencillas en las que simplemente se editan tutoriales, y en las que el alumno ha de leer todos los pasos que se exponen y, en algunos casos, desarrollar problemas que se han planteado según la parte del tutorial que corresponda. También hay otros tipos de plataformas e‐learning, aquellas que no sólo se ciñen a exponer el tema sino que realizan una educación más a medida y con más dinamismo. Esto lo logran mediante el registro de usuarios y la actualización de los contenidos impartidos. -2-
PLATAFORMA DOCENTE UNIVERSAL
En la actualidad existen plataformas de e‐learning ya elaboradas que son adaptables por el usuario a sus necesidades. Estas plataformas pueden ser comerciales como: Blackboard, WebCT y Authorware o pueden ser Open Source como: ATutor, Moodle y Dokeos. Actualmente este sistema de aprendizaje, ya sea por medio de simples tutoriales, como por aplicaciones más elaboradas, está teniendo una gran demanda por parte de múltiples sectores. Algunos de ellos son: •
Sector servicios → La utilización de plataformas e‐learning por este sector está cada vez más extendida porque, por medio de ellas se puede dotar al cliente de ciertos conocimientos para liberar la carga que puedan tener servicios técnicos de empresas del sector de la informática, telecomunicaciones o de la banca. • Educación → Cada vez más los organismos que se dedican a la educación, como universidades, colegios o academias utilizan este tipo de aplicaciones para impartir determinados cursos. • Empresas → Las compañías utilizan plataformas online para la formación interna de los empleados. Ésta es una manera muy cómoda para la promoción de cada empleado, formándose en los conocimientos de cada área de conocimiento, mediante la gestión de la aplicación. • Gobierno → Se está acrecentando el uso de este tipo de aplicaciones por parte del gobierno porque mediante ellas se puede dotar al ciudadano de mayor independencia, ya que se le forma en el uso de varias disciplinas y así, se le facilitan unas determinadas tareas. -3-
PLATAFORMA DOCENTE UNIVERSAL
Los sitios web que pueden soportar este tipo de plataformas pueden ser plataformas pueden ser estáticos estáticos o dinámicos. Los sitios web estáticos están hechos de colecciones de documentos, escritos en HTML, y las páginas web que los forman están basadas en texto, esto hace que sean sencillas y siempre con el mismo aspecto. Este tipo de web sirve para enviar o recibir noticias, imágenes o artículos, pero no pueden manejar datos cambiantes, recordar los nombres de los usuarios o crear información personalizada de una base de datos de forma instantánea. NAVEGADOR
FIGURA 1: Web estática HTTP SERVIDOR
Los sitios web dinámicos generan contenido cada vez que el usuario carga el sitio. Estos sitios pueden tener todas las características que los estáticos no pueden. En una primera época de desarrollo de sitios web dinámicos el procesamiento de todas esas funciones personalizadas se realizaba mediante una pasarela de interfaz común, CGI, una tecnología del lado del servidor que permitía a los desarrolladores web crear dinamismo. La mayoría de los scripts CGI estaban escritos en Perl. Un navegador enviaba información desde una página web HTML a un servidor (por ejemplo un formulario), y este último se encargaba de procesarla. Para hacer esto, el servidor se comunicaba con un -4-
PLATAFORMA DOCENTE UNIVERSAL
programa externo, llamado script CGI. Este lenguaje Perl analizaba los datos y después generaba HTML basándose en ciertas condiciones o enviaba un correo electrónico o abría un archivo o una base de datos. El script enviaba entonces la información al servidor, a través de una pasarela, y el servidor la transmitía al navegador. Aunque el procedimiento básico para crear sitios web dinámicos no ha cambiado, han surgido nuevos lenguajes y han evolucionado otros. Esto ha hecho que el procedimiento sea mucho más simple, permitiendo que la parte del proceso esté junto al servidor. PHP es uno de estos lenguajes. El script PHP se embebe en una página web. El script ejecuta instrucciones PHP (o de otro lenguaje similar) e inserta los resultados, de vuelta, en la página web, antes de que el servidor envíe la página al navegador. Estos sitios web dinámicos manejan a menudo cantidades enormes de información. Por lo tanto se necesitan lenguajes de programación que puedan manejar gestores de bases de datos, ya que un sistema de bases de datos es esencial para almacenar, recuperar, y actualizar esta información. HTTP
CGI
NAVEGADOR
SERVIDOR
SCRIPT PERL
FIGURA 2: Web dinámica con Perl
HTTP NAVEGADOR
SERVIDOR
PHP
FIGURA 3: Web dinámica con PHP
-5-
BASE DATOS
BASE DATOS
PLATAFORMA DOCENTE UNIVERSAL
1.2
INNOVACIONES DE LA APLICACIÓN
El proyecto de la creación de una plataforma e‐learning se debe principalmente a que se quiere dotar a la misma de un mayor dinamismo. Se quiere afrontar este objetivo desde distintos aspectos, como por ejemplo, desde la gestión de los contenidos o desde la creación de una zona común de datos con la que poner en contacto a los diferentes usuarios de la aplicación. Estas funcionalidades son, de manera detallada, las siguientes: •
Elaboración de una aplicación web que gestione una base de datos alojada en el servidor. •
Generación de contenido personalizado para cada usuario. •
Autenticación de usuarios para servirles el contenido personalizado. •
Actualización fácil del material del portal, mediante una aplicación para subir contenido al servidor y otra para bajar ese contenido a cada usuario que lo requiera. •
Creación de zona en la que se puedan conocer datos de profesores y alumnos del mismo grupo para poder contactar y dotar de dinamismo la aplicación. •
Confección de un foro, para que los distintos usuarios de la aplicación puedan ponerse en contacto y resolver dudas, problemas, etc. Todas estas funciones son para darle a la plataforma una mayor funcionalidad y que sea actualizada de manera continua a medida que se quieran introducir ejercicios, apuntes, etc. De esa forma, se logrará que no sea -6-
PLATAFORMA DOCENTE UNIVERSAL
una aplicación que pueda quedar obsoleta o sea muy difícil su actualización, y de esta manera, se le da una mayor vida útil a todo el Portal. -7-
PLATAFORMA DOCENTE UNIVERSAL
CAPÍTULO 2: Identificación de necesidades -8-
PLATAFORMA DOCENTE UNIVERSAL
2.1
INTRODUCCIÓN A LAS NECESIDADES
En esta etapa se definen los problemas que, mediante la aplicación, se pretende resolver. Así mismo se establecen los límites que ha de tener el proyecto. También se establecen los objetivos, usuarios y antecedentes de la aplicación. El documento que especifica la información que se ha obtenido de la Identificación de Necesidades es el documento de Conceptos del Sistema. Esta información se fundamenta en: → Objetivos de la Aplicación: Son objetivos de tipo empresarial y no informático. → Alcance de la Aplicación: Identifica las funciones del negocio que se pretenden automatizar. → Tipología de usuarios finales: Detalla el perfil de los usuarios que van a utilizar la aplicación. → Antecedentes: Indica los motivos por los cuales es necesario acometer la elaboración de una nueva aplicación que cubra las carencias que tengan sus predecesoras. → Metodología de la Aplicación: Define los métodos y herramientas que se van a utilizar para la elaboración del proyecto. -9-
PLATAFORMA DOCENTE UNIVERSAL
2.2
OBJETIVOS DE LA APLICACIÓN
Los objetivos del sistema son los que se quieren alcanzar en el entorno empresarial y, por tanto, no son objetivos a nivel tecnológico o informático. El fin que se pretenderá conseguir con este proyecto es crear una plataforma e‐learning para la docencia virtual. La plataforma on‐line gestionará una base de datos para poder actualizar los contenidos de una manera dinámica. Además, la plataforma deberá tener elementos gráficos que la hagan más amena e intuitiva. Por tanto los objetivos principales que se quieren cubrir son: Crear una plataforma que maneje una base de datos de manera eficaz. Crear una plataforma con interfaz atractivo e intuitivo en su uso para los usuarios finales. Elaborar un registro de usuarios para poder dotar de mayor funcionalidad a la plataforma. Crear un blog que facilite el debate sobre los distintos contenidos de cada curso. Diferenciar contenidos dependiendo del usuario que acceda a la plataforma. Facilitar la actualización de los contenidos soportados por la plataforma. Potenciar el uso de plataformas e‐learning demostrando que son útiles para la adquisición de conocimientos eliminando barreras de tipo geográfico, horario, etc. - 10 -
PLATAFORMA DOCENTE UNIVERSAL
Incrementar el trabajo en grupo, que es uno de los puntos débiles de las plataformas e‐learning, por medio de zonas públicas de información. 2.3
ALCANCE DE LA APLICACIÓN
El alcance del sistema hace referencia a las funciones de negocio que se pretenden cubrir mediante la implantación de la aplicación. Como la aplicación será una plataforma e‐learning, tendrá que permitir gestionar cursos de manera on‐line. Las funciones que va a tratar son las siguientes: • Acceder a través de internet a la aplicación alojada en el servidor web. • Lograr una navegabilidad fácil a través de las distintas partes de la aplicación. • Mostrar de manera agradable y atractiva, por medio de diferentes técnicas, las distintas funciones y páginas de la aplicación. • Crear distintos perfiles de usuario que puedan acceder a la aplicación, y tengan disponibles distintas partes en función del tipo de usuario. • Crear un espacio para el registro de nuevos usuarios, que acceda a una base de datos, en la que se añadan nuevos registros, que representen los distintos perfiles de usuario. • Implantar un espacio para la autenticación de usuarios ya registrados, que compruebe en la base de datos del servidor si el nombre del usuario se corresponde con la contraseña, y si es así mostrar la parte de la aplicación que le corresponda a ese perfil de usuario. - 11 -
PLATAFORMA DOCENTE UNIVERSAL
• Configurar un blog dentro de la aplicación para la comunicación, el debate y las noticias que puedan tener lugar. • Facilitar la actualización del contenido docente de la plataforma, para dotarla de mayor dinamismo, mediante el uso de lugares específicos en la página para los contenidos educativos. • Desarrollar un espacio común en el que los usuarios especifiquen sus datos personales, así como su correo, para mejorar la comunicación entre los miembros de la plataforma. 2.4
TIPOLOGÍA DE USUARIOS FINALES
En este apartado se ha de conocer y definir el perfil de las distintas personas que van a utilizar la aplicación. Como existen distintas tipologías de usuario, habrá que tener en cuenta que cada uno tendrá unas necesidades y problemas distintos. Dentro de la aplicación hay que distinguir dos tipos de usuarios: los que van a utilizar su funcionalidad de plataforma e‐learning y los que se encargarán de su mantenimiento. Como usuarios de la aplicación se distinguen entre dos tipos, los que van a utilizar el portal a través de su interfaz web y aquellos que van a utilizarlo de manera interna. Como usuarios web se pueden nombrar los invitados que son usuarios no registrados y sólo tendrán acceso a la parte informativa de la aplicación. Por otro lado estarán los usuarios registrados, los cuales tendrán distintas funcionalidades dentro de la plataforma dependiendo del perfil al que correspondan. En este grupo se distinguen además entre: profesor, encargado de la gestión de los contenidos de los distintos cursos, y alumno, que podrá - 12 -
PLATAFORMA DOCENTE UNIVERSAL
acceder a los contenidos de la plataforma según los cursos en los que esté registrado. Por otro lado están los usuarios internos, que son aquellos encargados del mantenimiento de la web. Se pueden diferenciar entre administrador, para el mantenimiento general del portal web, administrador de bases de datos, que se encargará de gestionar todo el contenido de la base de datos generada, y la secretaría para el tratamiento de los datos personales y académicos de cada uno de los usuarios de la aplicación web. Un esquema general sería: APLICACIÓN Administrador Usuarios Web Invitado Secretaría
Registrado Profesor
Alumno FIGURA 4: Tipología de usuarios - 13 -
Administrador Base de Datos
PLATAFORMA DOCENTE UNIVERSAL
2.5
ANTECEDENTES
En este punto se ha de recoger cualquier información sobre las aplicaciones similares que se encuentran en el mercado y el motivo que mueve la creación de un nuevo sistema que cubra ciertas necesidades que otros no cubran. Se pueden encontrar dos tipos de plataformas e‐learning. Las primeras son plataformas bastante sencillas en las que el usuario tiene que leer cada uno de los pasos que se le indican y realizar los ejercicios que se exponen. Son plataformas que, por su sencillez, están hechas a medida pero en las que la interactividad con el usuario es nula. Por otro lado existen plataformas ya elaboradas y adaptables a cada usuario. Este tipo de aplicaciones tienen el inconveniente de no ser una realización a medida sino que son adaptables. Por el contrario aportan una cantidad de funcionalidades mayor que el primer tipo de plataformas porque se pueden actualizar contenidos y realizar un registro de usuarios. Por lo tanto se aborda el proyecto como la creación de una plataforma a medida, que aporte un mayor número de funcionalidades y, así, dotarla de un mayor dinamismo y personalización, en la medida de lo posible, de los contenidos que ha de soportar la aplicación. 2.6
METODOLOGÍA
En esta sección se definen los métodos y herramientas que se van a utilizar en la elaboración de la aplicación. La metodología a seguir en la elaboración del proyecto va a ser la metodología de Yourdon. Esta metodología utiliza la técnica denominada - 14 -
PLATAFORMA DOCENTE UNIVERSAL
Partición de Eventos, que consiste en partir de un diagrama de contexto para identificar al conjunto del sistema. Se irán completando las diferentes fases de esta metodología hasta llegar al producto final. Las fases que habrá que definir son las siguientes: ¾ Identificación de Necesidades ¾ Análisis de Requisitos ¾ Estudio de la Arquitectura ¾ Diseño Externo ¾ Diseño Interno ¾ Programación ¾ Pruebas ¾ Implantación ¾ Mantenimiento Se quiere implantar una infraestructura de internet. Para ello se ha recurrido al paquete de aplicaciones WampServer 2.0, que dispone de todas las funcionalidades necesarias para esta tarea: ¾ Funciona bajo Windows ¾ Apache ¾ MySQL ¾ Perl, PHP y Phyton - 15 -
PLATAFORMA DOCENTE UNIVERSAL
El uso de la aplicación WAMP permite configurar un servidor Apache. Soporta el uso de lenguajes PHP, Perl y Phyton que son lenguajes que se ejecutan en el servidor. Esta característica permite realizar gestiones de bases de datos y presentar los resultados en forma de páginas web visibles independientemente del navegador del usuario. El uso de MySQL como gestor de bases de datos se debe a que bajo la herramienta PhpMyAdmin se puede integrar el uso de MySQL y PHP. El paquete WAMP es gratuito debido a que todas las aplicaciones que recoge son de libre distribución, y esto hace que sea la opción más recomendable. • SISTEMA OPERATIVO: Windows, por ser el sistema operativo que cumple con la infraestructura WAMP. • GESTOR DE BASE DE DATOS: Se usará MySQL, utilizando una herramienta para manejar la administración, esta herramienta es PhpMyAdmin. Se trata de una herramienta, escrita en PHP, que facilita el manejo de MySQL a través de páginas web. • SERVIDOR: Se va a utilizar un servidor HTTP Apache, por ser de libre distribución, multi‐plataforma, extensible y cumple con la infraestructura de internet que se quiere implantar. • HERRAMIENTAS DE PROGRAMACIÓN: Adobe CS3 para el desarrollo de aplicaciones web, debido a que aúna los lenguajes HTML, PHP, JavaScript, XML. - 16 -
PLATAFORMA DOCENTE UNIVERSAL
CAPÍTULO 3: Análisis de requisitos - 17 -
PLATAFORMA DOCENTE UNIVERSAL
3.1
INTRODUCCIÓN AL ANÁLISIS
En esta fase el objetivo que se plantea es el de alcanzar un conocimiento suficiente de la aplicación. Para alcanzar este conocimiento se han de definir unas necesidades, problemas y requisitos de usuario, y conseguir precisar el funcionamiento de la aplicación mediante modelos de procesos y de datos. En resumen, en esta etapa se muestra qué debe hacer el sistema pero no cómo debe hacerlo. Se puede separar el Análisis de Requisitos en distintas actividades que se han de realizar como son: •
RECONOCIMIENTO DEL PROBLEMA •
CREACIÓN LISTA DE REQUISITOS •
EVALUACIÓN Y SÍNTESIS - 18 -
PLATAFORMA DOCENTE UNIVERSAL
3.2
RECONOCIMIENTO DEL PROBLEMA
El objetivo del analista es reconocer los elementos básicos del sistema tal y como lo percibe el usuario. De forma general, se dice que la aplicación es un portal e‐learning que pretende personalizar sus contenidos y funciones dependiendo del tipo de usuario registrado. También se pretende que la aplicación tenga contenidos fácilmente actualizables. Además, se intenta dotar a la plataforma de un medio válido para la comunicación entre usuarios. Por lo tanto, de manera general, se puede decir que se pretenden cubrir los siguientes requisitos mínimos: • Crear una base de datos fiable y segura. • Poder manejar de manera correcta todos los datos de la base de datos, para crear diversos ficheros, que serán utilizados por uno de los perfiles de usuario. • Clasificar las diversas tipologías de usuario, para dotar a la aplicación de funciones diferenciadas para cada uno de ellos. • Poder consultar las diversas funciones específicas para cada usuario. • Poder interactuar con los contenidos de la plataforma, mediante subidas y bajadas de archivos. • Potenciar la comunicación entre los usuarios del portal mediante la creación de un foro temático y de zonas personales que ayuden a la toma de contacto entre los mismos. - 19 -
PLATAFORMA DOCENTE UNIVERSAL
En este punto también se debe especificar el contexto general del sistema. Este contexto se representa normalmente mediante un diagrama en el cual, mediante símbolos y figuras representativas, se muestren las interacciones del sistema con los distintos usuarios o con la base de datos. FIGURA 5: Esquema del sistema - 20 -
PLATAFORMA DOCENTE UNIVERSAL
3.3
LISTA DE REQUISITOS
La lista de requisitos será una relación de los requisitos expresados por el cliente para el nuevo sistema. Se confecciona a partir de entrevistas realizadas con el cliente, que ayudan a recoger las características de cada uno de ellos, y así, ser especificados en una lista conjunta. Tras analizar y clasificar las respuestas de una muestra considerable de usuarios, tanto profesores como alumnos, se concluye en destacar los requisitos que confeccionan la lista final de requisitos, que se detallan a continuación en forma de fichas individuales: • Guardar los datos de los usuarios. • Realizar la autenticación de manera segura. • Diferenciar las funciones de los distintos perfiles. • Conseguir actualizar los contenidos. • Generar ficheros de texto con los datos de usuarios. • Crear un foro. • Contactar con el administrador. • Crear zona común de datos personales. • Realizar encuesta sobre la plataforma. • Guardar sesión de usuario. - 21 -
PLATAFORMA DOCENTE UNIVERSAL
IDENTIFICACIÓN
Proyecto: Plataforma Docente Universal Jefe de Proyecto: Jorge Valls Esteban REQUISITO
Título: Guardar los datos de los usuarios Fecha: 28‐03‐2008 Versión: 1.0 Estado: Aceptado Prioridad: Alta Página: 1 Identificador: R1 Categoría: Fiabilidad DESCRIPCIÓN DEL REQUISITO
Guardar la información de los usuarios en una base de datos, asegurando la integridad de los datos. BENEFICIOS
Esto proporcionará una mayor seguridad a los usuarios a la hora de facilitar sus datos personales al personal administrativo de la plataforma. COMENTARIOS / SOLUCIONES SUGERIDAS
El acceso a los datos de los usuarios sólo será posible si se está en un perfil de administrador de la base de datos de la aplicación. - 22 -
PLATAFORMA DOCENTE UNIVERSAL
IDENTIFICACIÓN
Proyecto: Plataforma Docente Universal Jefe de Proyecto: Jorge Valls Esteban REQUISITO
Título: Realizar la autenticación de manera segura Fecha: 28‐03‐2008 Versión: 1.0 Estado: Aceptado Prioridad: Alta Página: 2 Identificador: R2 Categoría: Seguridad DESCRIPCIÓN DEL REQUISITO
Realizar una autenticación del usuario poniendo medidas de seguridad para guardar la clave de usuario. BENEFICIOS
El usuario tendrá una mayor seguridad de que no se van a apropiar de su clave personal, y por tanto no habrá una suplantación de personalidad. COMENTARIOS / SOLUCIONES SUGERIDAS
La seguridad en la autenticación se llevará a cabo mediante el uso de algoritmos criptográficos. Se cifrará la clave antes de ser almacenada. - 23 -
PLATAFORMA DOCENTE UNIVERSAL
IDENTIFICACIÓN
Proyecto: Plataforma Docente Universal Jefe de Proyecto: Jorge Valls Esteban REQUISITO
Título: Diferenciar las funciones de los distintos perfiles Fecha: 28‐03‐2008 Versión: 1.0 Estado: Aceptado Prioridad: Alta Página: 3 Identificador: R3 Categoría: Funcional DESCRIPCIÓN DEL REQUISITO
Especificar las distintas funciones que va a tener cada una de las tipologías de usuario dentro de la aplicación. BENEFICIOS
Esto va a permitir individualizar la aplicación mediante la diferenciación de las funciones que van a poder utilizar cada usuario. COMENTARIOS / SOLUCIONES SUGERIDAS
Para poder diferenciar las funciones se tendrá una distinción del usuario en la base de datos y así, mediante autenticación, poder servirle sus funciones específicas dentro de la aplicación. - 24 -
PLATAFORMA DOCENTE UNIVERSAL
IDENTIFICACIÓN
Proyecto: Plataforma Docente Universal Jefe de Proyecto: Jorge Valls Esteban REQUISITO
Título: Conseguir actualizar los contenidos Fecha: 28‐03‐2008 Versión: 1.0 Estado: Aceptado Prioridad: Alta Página: 4 Identificador: R4 Categoría: Funcional DESCRIPCIÓN DEL REQUISITO
Conseguir que la aplicación tenga una plataforma para la actualización de los contenidos expuestos en ella. BENEFICIOS
Esto va a proporcionarle a la plataforma un medio para conseguir dinamizar los contenidos. COMENTARIOS / SOLUCIONES SUGERIDAS
Se van a crear zonas en las que se podrá cargar y descargar archivos, tanto en el perfil alumno como en el perfil profesor. - 25 -
PLATAFORMA DOCENTE UNIVERSAL
IDENTIFICACIÓN
Proyecto: Plataforma Docente Universal Jefe de Proyecto: Jorge Valls Esteban REQUISITO
Título: Generar ficheros de texto con los datos de usuarios Fecha: 28‐03‐2008 Versión: 1.0 Estado: Aceptado Prioridad: Alta Página: 5 Identificador: R5 Categoría: Operacional DESCRIPCIÓN DEL REQUISITO
Crear un fichero de texto con los datos personales de los usuarios para que sean utilizados por el profesor para usos administrativos de la gestión de los cursos. BENEFICIOS
La creación de este tipo de archivos automáticamente con los datos de usuarios agilizará el trabajo de gestión de cursos que deberá llevar a cabo el profesor, proporcionándole los datos de manera mucho más rápida. COMENTARIOS / SOLUCIONES SUGERIDAS
Se creará un formulario para la inscripción de los usuarios que se tratará desde la aplicación en la parte del servidor. Estos datos serán utilizados posteriormente para la creación del fichero de datos, que será accesible desde el perfil de profesor en una de sus funcionalidades específicas. - 26 -
PLATAFORMA DOCENTE UNIVERSAL
IDENTIFICACIÓN
Proyecto: Plataforma Docente Universal Jefe de Proyecto: Jorge Valls Esteban REQUISITO
Título: Crear un foro Fecha: 28‐03‐2008 Versión: 1.0 Estado: Aceptado Prioridad: Alta Página: 6 Identificador: R6 Categoría: Funcional DESCRIPCIÓN DEL REQUISITO
Diseñar un foro abierto a todos los usuarios de la aplicación, tanto inscritos como invitados, donde se expongan los temas que a cada uno le interesen. BENEFICIOS
Esto aportará un lugar al cual acudir para exponer dudas, solucionarlas o, simplemente, comunicarse con el resto de usuarios de la aplicación. COMENTARIOS / SOLUCIONES SUGERIDAS
Se construirá una aplicación mediante la cual cada usuario podrá añadir un nuevo tema al foro y el resto podrá entrar y aportar contenidos. Los usuarios no registrados también podrán aportar a los temas propuestos, aunque nunca crear un nuevo tema. - 27 -
PLATAFORMA DOCENTE UNIVERSAL
IDENTIFICACIÓN
Proyecto: Plataforma Docente Universal Jefe de Proyecto: Jorge Valls Esteban REQUISITO
Título: Contactar con el administrador Fecha: 28‐03‐2008 Versión: 1.0 Estado: Aceptado Prioridad: Alta Página: 7 Identificador: R7 Categoría: Funcional DESCRIPCIÓN DEL REQUISITO
Facilitar el contacto con el administrador de la aplicación por si hubiese fallos o errores dentro de la plataforma. BENEFICIOS
Ayudará a la solución de los errores que no sean detectados por el propio administrador. Además sumará un medio más para la comunicación con el creador de la plataforma. COMENTARIOS / SOLUCIONES SUGERIDAS
Se habilitará una zona de la plataforma para contacto con el administrador en el cual, mediante un formulario, se recogerán los datos del usuario afectado, para ponerse en contacto con él, y el problema que se ha planteado. - 28 -
PLATAFORMA DOCENTE UNIVERSAL
IDENTIFICACIÓN
Proyecto: Plataforma Docente Universal Jefe de Proyecto: Jorge Valls Esteban REQUISITO
Título: Crear zona común de datos personales Fecha: 28‐03‐2008 Versión: 1.0 Estado: Aceptado Prioridad: Alta Página: 8 Identificador: R8 Categoría: Funcional DESCRIPCIÓN DEL REQUISITO
Elaborar una zona, común al resto de usuarios, donde se vean algunos datos personales del resto, facilitando la comunicación entre ellos, pero siendo una comunicación privada. BENEFICIOS
Se pretende añadir una funcionalidad más a la plataforma, intentando conseguir una mayor interacción entre los diversos usuarios. COMENTARIOS / SOLUCIONES SUGERIDAS
La aplicación seleccionará los datos considerados para esta zona y los ordenará en un lugar de la plataforma específico para esta funcionalidad. - 29 -
PLATAFORMA DOCENTE UNIVERSAL
IDENTIFICACIÓN
Proyecto: Plataforma Docente Universal Jefe de Proyecto: Jorge Valls Esteban REQUISITO
Título: Realizar encuesta sobre la plataforma Fecha: 28‐03‐2008 Versión: 1.0 Estado: Aceptado Prioridad: Alta Página: 9 Identificador: R9 Categoría: Funcional DESCRIPCIÓN DEL REQUISITO
Desarrollar un sistema de encuesta para poder evaluar el portal. La encuesta será procesada para poder establecer estadísticas que estarán a disposición del administrador. BENEFICIOS
Con esta encuesta se intenta recoger las distintas opiniones de los usuarios para poder mejorar los múltiples aspectos de la aplicación COMENTARIOS / SOLUCIONES SUGERIDAS
La encuesta constará de múltiples preguntas y apartados que intentarán cubrir todos los puntos del portal. Algunos serán de opinión escrita y algunos de votación, para luego, al ser procesados, poder establecer estadísticas sobre las respuestas seccionándolo por perfiles de usuario. - 30 -
PLATAFORMA DOCENTE UNIVERSAL
IDENTIFICACIÓN
Proyecto: Plataforma Docente Universal Jefe de Proyecto: Jorge Valls Esteban REQUISITO
Título: Guardar sesión de usuario Fecha: 28‐03‐2008 Versión: 1.0 Estado: Aceptado Prioridad: Alta Página: 10 Identificador: R10 Categoría: Funcional DESCRIPCIÓN DEL REQUISITO
Crear un método para que se puedan guardar los datos del usuario de la aplicación en su equipo y no tener que volver a ingresar la autenticación cada vez que se accede al portal. BENEFICIOS
Este sistema conseguirá un acceso más rápido y fácil al portal, ya que la inserción de los datos personales, cada vez que se intenta acceder, puede resultar tediosa. COMENTARIOS / SOLUCIONES SUGERIDAS
Para conseguir el acceso al portal de manera fácil se establecerá una opción, en el formulario de ingreso, que consistirá en dar el consentimiento para guardar los datos de usuario para el resto de veces que se acceda a la plataforma. - 31 -
PLATAFORMA DOCENTE UNIVERSAL
3.4
EVALUACIÓN Y SÍNTESIS
Para cubrir los requisitos planteados en la lista de requisitos, la aplicación se deberá construir cumpliendo los siguientes apartados: ƒ La creación de una base de datos que cumpla ser sólo accesible por el administrador de la base de datos, mediante una parte de la aplicación, y cuyas claves serán guardadas en la base de datos después de ser cifradas con el algoritmo criptográfico md5. ƒ La autenticación de los usuarios de la aplicación, puesto que los distintos usuarios registrados podrán acceder a distintas funciones dentro de la plataforma, y los usuarios sin registrar sólo podrán acceder a la página principal y al foro temático, para dotar a la plataforma de mayor seguridad. ƒ La realización de un foro temático dentro de la web para facilitar el diálogo entre los usuarios de la aplicación y de internet, ya que será accesible para todo el mundo. ƒ La aplicación deberá permitir la gestión de contenidos mediante la creación de plataformas upload/download de ficheros, y la automatización en la generación de ficheros de datos de los alumnos para el perfil de profesor de la aplicación. Así como permitir también el contacto con el administrador de la aplicación por si sucediera algún problema. Esto se solucionará mediante un formulario que permitirá poner en contacto unos usuarios con otros. - 32 -
PLATAFORMA DOCENTE UNIVERSAL
CAPÍTULO 4: Estudio de la arquitectura - 33 -
PLATAFORMA DOCENTE UNIVERSAL
4.1
INTRODUCCIÓN AL ESTUDIO DE LA
ARQUITECTURA
El objetivo de esta fase es buscar las distintas soluciones de arquitectura, tanto software, como hardware, que satisfagan tanto los requisitos del usuario como las restricciones de diseño. La elección de una buena opción puede evitar tiempo y dinero, y es de vital importancia para realizar la aplicación de manera satisfactoria. Por tanto para esta fase se va a realizar las siguientes actividades: •
Identificar alternativas de desarrollo de la aplicación a nivel de presentación, es decir, el lado del cliente. •
Identificar las distintas alternativas para la creación del portal a nivel de aplicación, es decir, el lado del servidor. •
Estudiar las opciones que ofrece el mercado en cuanto a sistemas gestores de bases de datos. •
Estudiar las posibilidades que existen en cuanto al resto de software necesario, como soporte para el funcionamiento de la plataforma, esto es, sistemas operativos, servidores, etc. •
Buscar las alternativas que hay en cuestión de hardware que hagan posible soportar todo lo necesario para la visualización del portal. - 34 -
PLATAFORMA DOCENTE UNIVERSAL
4.2
ALTERNATIVAS DE LENGUAJES CLIENTE
En esta parte se deben mostrar las alternativas de software que se pueden encontrar en el mercado para el lado del cliente. El lado del cliente es fundamentalmente la parte de presentación de la aplicación. Se llama así porque funciona en el navegador, que es la parte que le corresponde al cliente. HTML Se puede considerar como el lenguaje principal de la Web en ciertos aspectos. Todos los navegadores lo entienden y debido a su simplicidad no es complicado para los ordenadores implicados. El uso de este lenguaje es principalmente para la creación de páginas estáticas, es decir, las que no cambian dependiendo de la incorporación de datos o interacción del usuario. El principal objetivo del HTML es dar formato a una página web de la misma manera para cada navegador, aunque en la práctica no siempre funciona de esa forma. XHTML XHTML es una evolución del HTML teniendo en cuenta el XML, que es un meta lenguaje, es decir, es un lenguaje para definir y describir otros lenguajes. XHTML y HTML comparten un vocabulario común pero tienen una sintaxis algo diferente. Las características principales de XHTML son: o Es exigente en la estructura de cabecera que implica el contenido del código que reside en su interior en función del tipo de documento, cada una de ellas utilizando un DTD (Definiciones de Tipo de Documento) diferente (transitional, frameset, strict). - 35 -
PLATAFORMA DOCENTE UNIVERSAL
o Es estricto en la redacción del código, en aspectos como ser sensibles al número de blancos o en la obligación de cerrar las etiquetas. o Deben, toda etiqueta y nombres de atributo XHTML, estar en minúscula y todos los valores de atributo deben estar entre comillas. o Se pueden anidar las etiquetas pero esto se debe hacer correctamente, sin solaparlas. o No se pueden abreviar los atributos y deben aparecer escritos en su totalidad. o Contiene características adicionales a HTML como son las meta etiquetas, etiquetas que contienen meta datos que son información entendible por la máquina sobre recursos Web. CSS Las hojas de estilo en cascada (CSS) se crearon para conseguir ordenar la presentación del contenido de HTML. Algunas de las características que tiene son: o Control del color de texto de cualquier elemento. o Control de colores de fondo. o Control de bordes alrededor de elementos. o Espaciado entre elementos y bordes. o Manipulación de texto y decoración. - 36 -
PLATAFORMA DOCENTE UNIVERSAL
Todo lo que se podía hacer con HTML se puede hacer con CSS y además añade funcionalidades como la inclusión de hojas de estilo CSS externas al fichero HTML lo que permite aprovecharse de estilos creados anteriormente para la elaboración de nuevas páginas y así estructurar mejor la aplicación y ahorrar trabajo. JAVASCRIPT JavaScript es un lenguaje de programación limitado en características utilizado por desarrolladores Web para hacer cosas que HTML no puede, tales como crear páginas Web dinámicas, responder a eventos como un rollover de ratón, crear formularios interactivos, validar información de que el visitante facilita en un formulario, controlar el navegador, etc. El problema es que existen inconsistencias en la forma que tienen los distintos navegadores de implementar el JavaScript ya que no es un estándar definido por el W3C. Algunas de las funcionalidades de JavaScript se detallan a continuación: o Crear páginas Web dinámicas. o Mostrar cuadros de alerta. o Escribir mensajes en la barra de estado del navegador. o Controlar características del navegador. o Personalizar las reacciones a las acciones del ratón y selección de teclas. o Abrir nuevas ventanas del navegador. - 37 -
PLATAFORMA DOCENTE UNIVERSAL
o Validar información en los formularios. o Realizar cálculos. o Mostrar mensajes cuando el cursor pasa por encima de un objeto en la pantalla. o Crear formularios interactivos. o Establecer la fecha y la hora. o Identificar navegadores y plugins de navegador como Flash. DHTML El HTML dinámico es un término comercial usado, tanto por Netscape, como por Microsoft, para describir un conjunto de tecnologías que se introdujeron en la versión 4 de sus navegadores web para mejorar las capacidades de interacción. Esto significa que la página puede actuar y reaccionar a los movimientos de los usuarios sin tener que estar recargando la página continuamente desde el servidor. DHTML es, por tanto, una combinación de diferentes estándares sobre tecnologías Web como son: CSS + JavaScript + DOM + XHTML = DHTML - 38 -
PLATAFORMA DOCENTE UNIVERSAL
FLASH Flash es un lenguaje utilizado para dotar de interactividad a los sitios Web, siendo, por tanto, el mayor competidor del DHTML. El formato de fichero Flash puede integrarse e interactuar con páginas HTML, pero es una tecnología separada que se ofrece a través de los navegadores Web. Algunas de las ventajas que ofrece Flash son: o Es consistente: Un fichero Flash funcionará más o menos igual en un Mac, que usa Internet Explorer 5.5, que en un Windows, que usa Safari 2.1. A diferencia de HTML, JavaScript y CSS que se interpretan de forma variada por parte de las compañías que desarrollan los navegadores, sólo una única compañía desarrolla Flash, aunque hay algunas diferencias en cómo se integra Flash con los navegadores. o Es omnipresente: Según Macromedia, el 95 por ciento de los navegadores Web tienen instalada alguna versión de plugin de Flash. o Es atractivo: Flash proporciona a los diseñadores un amplio rango de herramientas creativas para elegir. Los sitios Web creados con Flash ganan actualmente la mayoría de los premios de diseño. o Es pequeño: Si se hacen bien, los ficheros Flash ofrecen una gran cantidad de contenido dinámico en muy poco espacio. Viendo las distintas alternativas que se presentan en torno al software de desarrollo se pueden disminuir las opciones de elección a DHTML y Flash. - 39 -
PLATAFORMA DOCENTE UNIVERSAL
Para facilitar la elección además de tener en cuenta las ventajas se han de considerar los inconvenientes de ambas opciones DESVENTAJAS
DHTML
→ Incompatibilidades FLASH con el → Es difícil de aprender y crear. → No tiene optimización para navegador y el SO. → Es muy estricto. motores de búsqueda. → No funciona en dispositivos → Puede haber un rechazo de los portátiles. usuarios a los plugins. → La descarga de los ficheros es lenta FIGURA 6: Tabla de desventajas
Además de tener en cuenta las desventajas a la hora de la elección también se deben considerar otras cuestiones: • ¿Qué tecnología usarán los usuarios? ¿Tendrán navegadores con capacidades DHTML? ¿Tendrán el plugin de Flash instalado? • ¿Cuánto dinero se ha de invertir? Al contrario que DHTML, que no tiene costes añadidos sobre HTML, Flash requiere que se compre software específico para la creación. • ¿Se necesitan sonidos, animaciones u otros medios en el sitio web? Flash es, a menudo, mejor que DHTML para crear y presentar contenido multimedia. - 40 -
PLATAFORMA DOCENTE UNIVERSAL
• ¿Se va a ofrecer mucho texto? HTML y DHTML son más versátiles para presentar grandes cantidades de texto. • ¿Cuánto tiempo de desarrollo y de mantenimiento se tiene? Normalmente la creación de DHTML es más rápida. Teniendo en cuenta todos los puntos expuestos se elige como mejor opción para la parte del cliente el uso de DHTML. 4.3
ALTERNATIVAS DE LENGUAJES
SERVIDOR
En esta parte se deben mostrar las alternativas de software que se pueden encontrar en el mercado para el lado del servidor. El lado del servidor es fundamentalmente la parte de la aplicación dedicada a dar servicios al cliente que los requiera. Hay distintos tipos de servidores que proporcionan varios servicios, algunos de estos servicios son: •
Web. •
Archivos (posiblemente utilizando FTP). • Aplicación. •
Mensajería instantánea. •
Imagen. •
Sonido. - 41 -
PLATAFORMA DOCENTE UNIVERSAL
Todos estos servicios tienen una cosa en común: responden a peticiones entrantes y proporcionan un servicio. En el caso de un servidor Web, se realiza una petición utilizando el protocolo HTTP por el puerto 80 al servidor, que luego responderá con el elemento solicitado o un mensaje de error. Un servidor de archivo responderá, quizás por medio del protocolo FTP, de forma similar. Este modelo se conoce como cliente‐servidor donde existe un cliente que realiza las peticiones y un servidor que las trata FIGURA 7: Arquitectura cliente‐servidor - 42 -
PLATAFORMA DOCENTE UNIVERSAL
Para llevar a cabo las diversas funciones de un servidor se ha de utilizar un lenguaje de programación adecuado para estas funciones. Estos lenguajes son específicos para la parte de servidor y no para la de aplicación aunque algunos de ellos también pueden dar características de presentación. PHP Este es un lenguaje de programación basado en scripts que funciona embebido en el HTML y en el lado del servidor. PHP es un lenguaje de programación con capacidad de procesamiento y gestión de datos. Además PHP funciona muy bajo el protocolo HTTP, que es el usado para el envío de datos. CGI Es un lenguaje creado para permitir que su servidor Web almacene parámetros pasados desde el entorno de servidor a la Shell donde se podía generar un programa CGI como un proceso aparte. CGI plantea cuestiones de seguridad debido a la forma en que pasa información a cualquier tipo de programa fuera de un entorno Web seguro. PERL Se desarrolló originalmente para manipulación de texto, siguiendo la estructura del lenguaje de programación C. Es un lenguaje basado en procedimientos que se interpreta en lugar de compilarse, fácil de utilizar y práctico. Se utiliza para la programación de red, desarrollo Web y de interfaz gráfico de usuario (GUI). - 43 -
PLATAFORMA DOCENTE UNIVERSAL
ASP Es una tecnología de Microsoft del lado del servidor que sirve para generar páginas Web. Las páginas ASP se escriben normalmente en VBScript aunque se pueden seleccionar otros lenguajes utilizando directivas especiales. JAVA Aunque no es estrictamente un lenguaje de desarrollo Web, es probable que encuentre que se utiliza Java orientado a objetos en algún lugar. Es de mucha utilidad para varias tareas que implican tecnologías de red y Web ya que tiene bibliotecas y clases para la mayoría de eventualidades tanto si es XML, servicios Web, bases de datos, servlets, applets o escribir servidores completos. Java utiliza normalmente una máquina virtual (JVM) para ejecutar su código semicompilado, haciendo que su plataforma sea independiente. PLATAFORMA .NET El sistema Microsoft engloba muchos lenguajes diferentes de programación que proporciona una estrategia de servicios Web que puede conectar información, personas, sistemas y dispositivos por medio de software. Integra la plataforma Microsoft, proporcionando un medio para desarrollar rápidamente software seguro que tiene posibilidades de uso de servicios Web para comunicarse entre sistemas. Existen varios factores clave en la plataforma .NET: o Common Language Infraestructure (CLI): Conjunto de especificaciones para un entorno en tiempo de ejecución. - 44 -
PLATAFORMA DOCENTE UNIVERSAL
o Common Language Runtime (CLR): Proporciona una plataforma para ejecutar código que sigue el modelo CLI. Los lenguajes de desarrollo incluidos en la plataforma son: → C# → C++ → VISUAL BASIC .NET (VB.NET) → J# → ASP.NET Después de estudiar todas las opciones de la parte del cliente se decide implementar la aplicación con PHP ya que existen paquetes gratuitos en el mercado que integran todo el software necesario para la elaboración de un portal Web como es WAMP. Este software integra PHP (lenguaje para la creación Web), MySQL (gestor de bases de datos), Apache (software del servidor compatible con PHP) y Windows (sistema operativo). Además hay una gran comunidad de desarrolladores de PHP en Internet, que proporcionan información actualizada, fiable y útil de manera gratuita. También se puede ejecutar en la mayoría de plataformas (Windows, Linux, Mac OS X, Solaris…) - 45 -
PLATAFORMA DOCENTE UNIVERSAL
4.4
ALTERNATIVAS EN SISTEMAS GESTORES
DE BASES DE DATOS
En este apartado se va a estudiar las diferentes posibilidades que ofrece el mercado en cuanto a Sistemas Gestores de Bases de datos. Principalmente se enumeran los siguientes: ƒ MySQL 5. ƒ DB2 v.9. ƒ Oracle Database 10g. ƒ PostgreSQL 2005. ƒ SQL Server 2005. MySQL 5 Algunas tecnologías se combinan mejor que otras. PHP, un simple y poderoso lenguaje de script, y MySQL, un servidor de bases de datos sólido y fiable, hacen una pareja perfecta para la construcción de sitios Web dinámicos basados en bases de datos. Algunas de las ventajas de este sistema gestor de bases de datos son: - 46 -
PLATAFORMA DOCENTE UNIVERSAL
 Alto rendimiento MySQL es un gestor de bases de datos altamente optimizado, proporciona el tiempo de respuesta y el rendimiento necesarios para las aplicaciones más exigentes.  Extensibilidad MySQL es extensible, queriendo esto decir que los programadores pueden contribuir desarrollando módulos, que extiende su funcionalidad. De esta manera, el lenguaje permanece actual, de acuerdo con los estándares y las necesidades del mercado.  Bajo coste MySQL es un lenguaje de bajo coste porque, además de ser un software OpenSource, puede ejecutarse en casi cualquier plataforma y, por lo tanto, se pueden elegir múltiples posibilidades en cuanto al hardware necesario, lo que reduce los costes de implantación. También se hay que tener en cuenta que hay multitud de desarrolladores cualificados, que comparten información en Internet y, así, se obtiene una documentación excelente y gratuita. - 47 -
PLATAFORMA DOCENTE UNIVERSAL
 Portabilidad MySQL se puede ejecutar en cualquier plataforma. Esto incluye Linux, Windows, Mac OS X, FreeBSD y Solaris, entre otros.  Comunidad de desarrollo MySQL tiene una gran comunidad de desarrolladores en la red. Si se tiene algún problema se puede consultar en la Web rápidamente y encontrar la solución, ya que desarrolladores de todo el mundo están encontrando y resolviendo errores y agujeros de seguridad, mientras trabajan para mantener estos lenguajes actualizados y optimizados. DB2 v.9 DB2 es una marca comercial, propiedad de IBM, bajo la cual se comercializa el sistema de gestión de base de datos. Es un sistema de gestión de bases de datos relacionales (SGBD) basado en el lenguaje Transact‐SQL, capaz de poner a disposición de muchos usuarios grandes cantidades de datos de manera simultánea. Así de tener unas ventajas que a continuación se pueden describir. Entre sus características figuran: •
Soporte de transacciones. •
Escalabilidad, estabilidad y seguridad. - 48 -
PLATAFORMA DOCENTE UNIVERSAL
•
Soporta procedimientos almacenados. •
Incluye también un potente entorno gráfico de administración, que permite el uso de comandos DDL y DML gráficamente. •
Permite trabajar en modo cliente‐servidor donde la información y datos se alojan en el servidor y las terminales o clientes de la red sólo acceden a la información. •
Además permite administrar información de otros servidores de datos Oracle Database 10g Es un sistema de gestión de base de datos relacional (o RDBMS por el acrónimo en inglés de Relational Data Base Management System), fabricado por Oracle Corporation. Se considera a Oracle como uno de los sistemas de bases de datos más completos, destacando su: • Soporte de transacciones. • Estabilidad. • Escalabilidad. • Es multiplataforma. Ha sido criticada por algunos especialistas la seguridad de la plataforma, y las políticas de suministro de parches de seguridad, modificadas a comienzos de 2005 y que incrementan el nivel de exposición de los usuarios. En los parches - 49 -
PLATAFORMA DOCENTE UNIVERSAL
de actualización provistos durante el primer semestre de 2005 fueron corregidas 22 vulnerabilidades públicamente conocidas, algunas de ellas con una antigüedad de más de 2 años. Las últimas versiones de Oracle han sido certificadas para poder trabajar bajo Linux. PostgreSQL 2005 PostgreSQL es un servidor de base de datos objeto relacional libre, liberado bajo la licencia BSD. Algunas de sus principales características son: • Alta concurrencia Mediante un sistema denominado MVCC (Acceso concurrente multiversión, por sus siglas en inglés) PostgreSQL permite que mientras un proceso escribe en una tabla, otros accedan a la misma tabla sin necesidad de bloqueos. Cada usuario obtiene una visión consistente de lo último a lo que se le hizo commit. Esta estrategia es superior al uso de bloqueos por tabla o por filas común en otras bases, eliminando la necesidad del uso de bloqueos explícitos. •
Amplia variedad de tipos nativos PostgreSQL provee nativamente soporte para: o
Números de precisión arbitraria. o
Texto de largo ilimitado. o
Figuras geométricas (con una variedad de funciones asociadas) - 50 -
PLATAFORMA DOCENTE UNIVERSAL
o
Direcciones IP (IPv4 e IPv6). o
Bloques de direcciones estilo CIDR. o
Direcciones MAC. o
Arrays. Adicionalmente los usuarios pueden crear sus propios tipos de datos, los que pueden ser por completo indexables gracias a la infraestructura GiST de PostgreSQL. Algunos ejemplos son los tipos de datos GIS creados por el proyecto PostGIS. •
Otras características o
Claves ajenas también denominadas Llaves ajenas o Llaves Foráneas (foreign keys). o
Disparadores (triggers). Un disparador o trigger se define en una acción específica basada en algo ocurrente dentro de la base de datos. En PostgreSQL esto significa la ejecución de un procedimiento almacenado basado en una determinada acción sobre una tabla específica. Ahora todos los disparadores se definen por seis características: ‐El nombre del trigger o disparador ‐El momento en que el disparador debe arrancar ‐El evento del disparador deberá activarse sobre... ‐La tabla donde el disparador se activara ‐La frecuencia de la ejecución ‐La función que podría ser - 51 -
PLATAFORMA DOCENTE UNIVERSAL
llamada Entonces combinando estas seis características, PostgreSQL le permitirá crear una amplia funcionalidad a través de su sistema de activación de disparadores (triggers). o
Vistas. o
Integridad transaccional. o
Herencia de tablas. o
Tipos de datos y operaciones geométricas. SQL Server 2005 Es un sistema de gestión de bases de datos relacionales (SGBD) basado en el lenguaje Transact‐SQL, capaz de poner a disposición de muchos usuarios grandes cantidades de datos de manera simultánea. Así pues, tiene unas ventajas que a continuación se pueden describir. Entre sus características figuran: •
Soporte de transacciones. •
Escalabilidad, estabilidad y seguridad. •
Soporta procedimientos almacenados. •
Incluye también un potente entorno gráfico de administración, que permite el uso de comandos DDL y DML gráficamente. - 52 -
PLATAFORMA DOCENTE UNIVERSAL
•
Permite trabajar en modo cliente‐servidor donde la información y datos se alojan en el servidor y las terminales o clientes de la red sólo acceden a la información. •
Además permite administrar información de otros servidores de datos. Por las necesidades del proyecto se descartan inicialmente todas las opciones que no son software libre. También se ha tenido en cuenta la dimensión del proyecto, ya que los gestores de bases de datos no se comportan de igual manera para bases de datos grandes y con gran número de movimientos, que para bases de datos más pequeñas y con menos transacciones. Valorando todos estos aspectos, y la integración con PHP, que es lenguaje utilizado para el lado del servidor, se ha optado por MySQL 5 como solución a utilizar en la parte del sistema gestor de bases de datos. 4.5
ALTERNATIVAS DISTINTOS ELEMENTOS
El resto de elementos a considerar no muestran una gran diversidad en el mercado y por eso se pueden agrupar en este apartado. Para la elección del software del servidor, el principal requisito es que soporte PHP, ya que es el lenguaje elegido para que corra en dicho servidor. Otro requisito que es propio de este proyecto, pero para otras implantaciones no tiene por qué cumplirse es, que el software sea Open Source. Cumpliendo con estas especificaciones se elige Apache, ya que es un software para servidor Web que se integra perfectamente con PHP y además es gratuito. - 53 -
PLATAFORMA DOCENTE UNIVERSAL
En la elección del hardware no se encuentran restricciones de ningún tipo y, dependiendo del tipo de implantación que se quiera hacer, se podrá optar por una amplia gama de equipos, desde cualquier servidor de los que se encuentran en el mercado, hasta ordenadores de sobremesa que, previa instalación del software necesario, funcionen como servidor Web. Para la elaboración del proyecto se prefirió instalar Apache en un portátil para que trabajase como si fuera el servidor de la aplicación. - 54 -
PLATAFORMA DOCENTE UNIVERSAL
CAPÍTULO 5: Diseño - 55 -
PLATAFORMA DOCENTE UNIVERSAL
5.1
INTRODUCCIÓN AL DISEÑO
El objetivo de esta etapa es el de realizar un modelado específico de toda la aplicación, para después, plasmar este diseño en la fase de programación. Como la aplicación en este caso es una plataforma web se ha variado el esquema de realización típico de un diseño externo e interno, adecuándolo al desarrollo web. En primer término se definen las distintas partes de las que va a constar la plataforma. Cuando se hayan especificado estas partes, se ha de diseñar el mapa web de cada una de ellas. Una vez se tenga claro cuál es la navegabilidad que va a existir dentro de la plataforma se ha de realizar el modelo físico y lógico de la aplicación. Después de esta fase es cuando se saben perfectamente los flujos de datos que se intercambian en la aplicación y, por tanto, es cuando se puede modelar la base de datos mediante los diagramas relacionales de entidad‐relación (RE/R). - 56 -
PLATAFORMA DOCENTE UNIVERSAL
5.2
PARTES DE LA APLICACIÓN Y MAPA DE
NAVEGABILIDAD
PANTALLA DE BIENVENIDA
REGISTRO DE
USUARIOS
USUARIO
REGISTRADO
INICIO
NUEVO USUARIO
CONTACTO CON EL
ADMINISTRADOR
USUARIO INVITADO
FIGURA 8: Pantalla de bienvenida
La pantalla de bienvenida contiene información general, para todos los usuarios, sobre el tipo de plataforma educativa y los distintos usos que se pueden hacer de la misma. La parte de REGISTRO DE USUARIOS está formada por un formulario para la creación de nuevos usuarios, tanto profesores como alumnos. El apartado de CONTACTO CON EL ADMINISTRADOR es un formulario para que cualquier usuario de la aplicación, ya sea registrado o invitado pueda ponerse en contacto con el administrador e indicarle cuál es el - 57 -
PLATAFORMA DOCENTE UNIVERSAL
motivo de su queja o problema con el portal, dotando de un medio más de comunicación entre usuarios de la aplicación. La zona de INICIO es una pantalla con información de la aplicación, en la que además se puede acceder a las distintas formas de ingresar en la aplicación. • USUARIO REGISTRADO: Este apartado es un pequeño formulario donde se piden nombre de usuario y clave. Estos datos se contrastan con la base de datos (la clave, cifrada con el algoritmo md5) y según el tipo de usuario del que se trate tendrá acceso a una parte de la aplicación u otra. • NUEVO USUARIO: Esta parte es la misma que Registro de usuarios y por lo tanto remite a un formulario que se ha de rellenar. Los distintos campos serán almacenados en la base de datos y serán utilizados para dotar de las distintas funcionalidades a la aplicación. • USUARIO INVITADO: Podrá acceder a la primera parte de la aplicación (no a la parte relativa a los cursos impartidos) y así podrá tener una visión general de lo que es el portal. Con esta tipología de usuario sólo se podrá utilizar el foro del portal, ya que se pretende que todo el mundo que se conecte a internet pueda aportar ideas a los temas relacionados con los cursos, así como poder informarse sobre estos mismos temas. Que un alto número de internautas accedan al foro, para informarse o aportar información, mediante motores de búsqueda, dotará a la plataforma de una publicidad e importancia que no tendría si estuviera cerrada al mundo y sólo la conociesen unos pocos usuarios. - 58 -
PLATAFORMA DOCENTE UNIVERSAL
Según los distintos tipos de usuarios de la aplicación se pueden distinguir también las partes a las que tienen acceso. Los usuarios web de la plataforma que se han definido son tres: Profesor, Alumno e Invitado. PROFESOR / ALUMNO
IR A MIS CURSOS
IR AL FORO
CONSULTAR MI
CORREO
REALIZAR LA
ENCUESTA
RECOMENDAR LA
APLICACIÓN
CONSULTAR MIS
DATOS
DESCONECTARSE
FIGURA 9: Pantallas de profesor y alumno En esta primera parte de la aplicación, las funcionalidades para los usuarios registrados PROFESOR y ALUMNO son las mismas: • IR A MIS CURSOS: Es la parte de la aplicación que conecta con la segunda parte del portal, es decir, la parte que contiene todas las funcionalidades de los cursos en los que está registrado. - 59 -
PLATAFORMA DOCENTE UNIVERSAL
• IR AL FORO: Se tendrá acceso al foro de la aplicación, que es el que intentará dotar a la aplicación de una mayor interactividad entre los usuarios. • CONSULTAR MI CORREO: Se creará una aplicación de correo interno a la aplicación, apoyada en un servidor de SMTP externo, para que cada usuario pueda utilizarla si lo desea en vez de su cuenta de correo normal. • REALIZAR LA ENCUESTA: Se creará un sistema de encuesta para que los usuarios de la aplicación den su opinión acerca del portal. • RECOMENDAR LA APLICACIÓN: Se podrá recomendar el portal a un amigo mediante un correo generado por la aplicación, completando un sencillo formulario • CONSULTAR MIS DATOS PERSONALES: Se accederá a una zona en la cual se pueden consultar los datos públicos, mediante una consulta a la base de datos, de los usuarios de la aplicación. • LOGOUT: Se podrá salir de la aplicación para ser utilizada como invitado u otro perfil de usuario. - 60 -
PLATAFORMA DOCENTE UNIVERSAL
Desde la tipología de usuario INVITADO se pueden acceder a las siguientes funciones de la aplicación: INVITADO
REGISTRAR
NUEVOS USUARIOS
IR AL FORO
FIGURA 10: Pantallas de usuario invitado • IR AL FORO: Se tendrá acceso al foro de la aplicación, que es el que intentará dotar a la aplicación de una mayor interactividad entre los usuarios. • REGISTRAR NUEVOS USUARIOS: Se podrá acceder directamente al formulario de registro de nuevos usuarios para registrarse y poder tener todas las funciones disponibles para el perfil seleccionado. - 61 -
PLATAFORMA DOCENTE UNIVERSAL
Dentro de la segunda parte de la aplicación, la dedicada a los cursos en los que están matriculados los usuarios, sí que existen diferencias entre las diferentes tipologías. MIS CURSOS Æ ALUMNO
IR A MIS CURSOS
VER LISTA DE
CLASE
INSCRIBIRSE EN
UN CURSO
DESCARGAR
FICHEROS DE UN
CURSO
BORRARSE DE UN
CURSO
VOLVER AL MENÚ
PRINCIPAL
FIGURA 11: Pantallas de cursos de un alumno • IR A MIS CURSOS: Se mostrarán todos los cursos en los que está inscrito el alumno. • INSCRIBIRSE EN UN CURSO: Se podrá añadir un nuevo curso a los que ya tiene el alumno, todo ello mediante la implementación de un formulario. • BORRARSE DE UN CURSO: Se podrá eliminar un curso de los que se tienen registrados. - 62 -
PLATAFORMA DOCENTE UNIVERSAL
• VER LISTA DE CLASE: Se podrá tener acceso a una lista con los datos personales de todos los alumnos con los que el usuario comparte el curso. Esto proporcionará un método para facilitar el contacto entre los usuarios del portal. • DESCARGAR FICHEROS DE UN CURSO: Se tendrá acceso a todos los ficheros que cada profesor haya subido al servidor por cada curso determinado en el que el usuario esté inscrito. • VOLVER AL MENÚ PRINCIPAL: Se podrá volver a la primera parte de la aplicación en cualquier momento. - 63 -
PLATAFORMA DOCENTE UNIVERSAL
MIS CURSOS Æ PROFESOR
SUBIR FICHEROS A
UN CURSO
VER LISTA DE
CLASE
DESCARGAR
FICHEROS DE UN
CURSO
GENERAR FICHERO
DE ALUMNOS DE
UN CURSO
VOLVER AL MENÚ
PRINCIPAL
FIGURA 11: Pantallas de cursos de un profesor • SUBIR FICHEROS A UN CURSO: Se podrán subir al servidor todos los ficheros que se quieran por cada curso que el profesor imparte. • DESCARGAR FICHEROS DE UN CURSO: Se tendrá acceso a todos los ficheros que este profesor haya subido al servidor por cada curso del que se haga cargo. • VER LISTA DE CLASE: Se podrá tener acceso a una lista con los datos personales de todos los alumnos del curso del que el profesor es responsable. Esto proporcionará un método para facilitar el contacto entre profesor y alumno. - 64 -
PLATAFORMA DOCENTE UNIVERSAL
• GENERAR FICHERO DE ALUMNOS DE UN CURSO: Se creará un fichero de texto con todos los alumnos del curso para ayudar las labores administrativas del profesor. • VOLVER AL MENÚ PRINCIPAL: Se podrá volver a la primera parte de la aplicación en cualquier momento. 5.3
ELABORACIÓN DEL MODELO LÓGICO DE
LA APLICACIÓN
Los Diagramas de Flujo de Datos (DFDs) son una notación operacional semi‐formal que ha sido ampliamente adoptada para la especificación de sistemas de información. Son una de las herramientas gráficas más importantes del Análisis Estructurado. Un Diagrama de Flujos de Datos permite visualizar un sistema como una red de procesos funcionales. No sólo se usan para modelar sistemas de información, sino también para modelar organizaciones enteras, es decir, como una herramienta para la planificación estratégica y de negocios. Sirven para mostrar sólo una visión o punto de vista de un sistema: el orientado a la funcionalidad. En resumen, es una técnica que representa el flujo de la información y las transformaciones que se aplican a los datos al moverse desde la entrada hasta la salida. - 65 -
PLATAFORMA DOCENTE UNIVERSAL
ELEMENTOS DE UN DFD a) Procesos Un proceso también suele ser llamado burbuja, función, transformación. Consiste en una frase del tipo verbo‐objeto que representa qué se está realizando, por lo tanto transforma entradas en salidas de flujos de datos. b) Entidades externas Los terminadores o entidades externas representan objetos con los cuales el sistema se comunica. Estos producen información para ser transformada por el software o reciben información producida por el software. Un terminador puede ser una persona, una compañía, un departamento…pero siempre alguien que se encuentran fuera del sistema que se está modelando. - 66 -
PLATAFORMA DOCENTE UNIVERSAL
c) Almacén de datos Se usa para representar una colección de datos en reposo. Puede corresponder a una tabla en una base de datos, a un fichero en disco, pero también a datos almacenados en otros medios como cintas magnéticas e inclusive papeles en un cajón. d) Flujos de datos Se usa para describir el movimiento de paquetes de datos entre una parte del sistema a otra. Por esto se dice que los flujos de datos representan datos en movimiento. Se representa con una flecha que entra o sale de un proceso de un almacén o de de un entidad externa - 67 -
PLATAFORMA DOCENTE UNIVERSAL
ELABORACIÓN DEL DFD POR NIVELES I.
DIAGRAMA DE CONTEXTO → Consta de una sola burbuja, que representa el sistema completo. Los flujos de datos muestran la comunicación entre el sistema y las entidades externas (o almacenes externos si los hubiera).
FIGURA 12: Diagrama de contexto - 68 -
PLATAFORMA DOCENTE UNIVERSAL
II.
DIAGRAMA CONCEPTUAL → Es conocido como el nivel 0 y muestra los procesos de más alto nivel del sistema y sus principales interfaces. petición página
página
opción entrada
MOSTRAR PÁGINA 1 datos usuarios
opción autenticar usuario
opción nuevo usuario
REGISTRAR USUARIO 3 AUTENTICAR USUARIO 2 usuarioss autenticados
tipo usuario /
denegación
opción elegida
SELECCIONAR OPCIÓN 4 FIGURA 13: Diagrama conceptual - 69 -
datos requeridos
PLATAFORMA DOCENTE UNIVERSAL
DIAGRAMAS DEL SISTEMA → Son los distintos diagramas de los III.
que consta el sistema y que especifican, en mayor o menor medida cada uno de los procesos que tienen lugar en la plataforma.
1 MOSTRAR PÁGINA
petición página
ENVIAR PÁGINA DE INICIO 1.1 página
opción autenticar usuario
opción entrada
DISTINGUIR OPCIÓN 1.2 opción nuevo usuario
FIGURA 14: DFD‐Mostrar página ELEMENTOS DEL DFD o
Enviar página de inicio: Este proceso se encarga de atender la petición http dada por parte del cliente, sirviendo la página de inicio al navegador. - 70 -
PLATAFORMA DOCENTE UNIVERSAL
Distinguir opción: Este proceso distingue si el cliente lo que quiere es o
entrar a registrarse como nuevo usuario o quiere autenticarse porque ya es usuario. Petición página: Flujo de información enviada por el navegador web o
del cliente al servidor pidiendo una página mediante http. Página: Flujo de información que representa la página de inicio de la o
plataforma, que se envía por http, al navegador del cliente. Opción entrada: Flujo que representa la opción tomada por el o
usuario sobre la manera de acceder al portal web. Opción autenticar usuario: Flujo de información que representa que o
se quiere acceder a la autenticación de usuario. Opción nuevo usuario: Flujo que representa que el usuario quiere o
acceder a la parte de la aplicación donde pueden ingresar nuevos usuarios. 5.4
ELABORACIÓN DEL MODELO RE/R
El modelo RE/R, o diagramas Relacionales de Entidad / Relación, es un método gráfico que es una mezcla del Modelo Relacional de Datos y del diagrama Entidad / Relación (E/R). Es una combinación en el sentido de que se basa en el modelo E/R, pero es más riguroso que éste ya que también se sustenta en el Modelo Relacional de Datos, y por tanto toma provecho del rigor de este método. Este modelo permite empezar con un diagrama en el que se representan relaciones muy sencillas, en el sentido de pocos atributos, y aplicarle las reglas - 71 -
PLATAFORMA DOCENTE UNIVERSAL
para irlo transformando en otro de relaciones más complejas, con más atributos, hasta llegar a un diagrama que representa el diseño final. De esta forma se puede considerar el proceso de transformación de los diagramas RE/R como un método de diseño simétrico o inverso al de normalización. En éste se transforma una relación compleja, es decir, con muchos atributos, en otras más sencillas, al revés que con los diagramas RE/R. Por tanto, se puede decir que la normalización es un método de análisis, que va de lo complejo a lo sencillo (o “top down”), mientras que los diagramas RE/R lo serían de síntesis, yendo de lo sencillo a lo complejo (o “bottom up”). En este modelo se utiliza una cardinalidad para establecer la manera en la que se relacionan los distintos elementos de la base de datos, es decir, cómo se involucran en distinto número de instancias cada una de las entidades. Para expresar todo esto se puede establecer la siguiente simbología: C Æ El objeto participa una o ninguna vez de la relación. 1 Æ El objeto participa una vez en la relación. n Æ El objeto participa ninguna, una o varias veces de la relación. mÆ
El objeto participa una o varias veces en la relación. FIGURA 14: Tipos de cardinalidades Para realizar los diagramas se tienen que seguir los siguientes pasos: 1. Empezar representando como rectángulos los conjuntos de valores simples que interesa almacenar en la base de datos. 2. Establecer asociaciones explícitas entre ellos que representen las propiedades que interesa reflejar en la base de datos, con sus correspondientes cardinalidades. - 72 -
PLATAFORMA DOCENTE UNIVERSAL
3. Transformar las asociaciones explícitas en rectángulos, con sus correspondientes asociaciones implícitas. 4. Aplicar al diagrama tantas veces como sea posible las reglas de Definición de Clave, Agregación de Rectángulos y Supresión de Rectángulos, en este orden. 5. Cuando ya no se pueda transformar más el diagrama con las reglas anteriores, hay que considerar si aplicar o no la regla de Agregación Externa. Después del paso anterior ya se habría llegado al final de la modelización. En la mayor parte de los casos la obtención del diagrama RE/R conduce de forma directa a un diseño normalizado FNBC. Si esto no pasa, habrá que forzar la normalización. Este grado de normalización facilitará que la base de datos se adaptable, ampliable a posibles cambios previstos para un futuro sin dar lugar a errores. Los atributos de los que se va a constar la base de datos son: •
ID_ALUMNO: Se trata de un número entero que identifica a cada alumno unívocamente. •
ID_PROFESOR: Se trata de un número entero que identifica a cada profesor unívocamente. •
FICHERO: Se trata de un identificador alfanumérico de los diferentes ficheros que se pueden subir al servidor. •
CURSO: Elemento alfanumérico que representa un curso de los ofertados por la plataforma. - 73 -
PLATAFORMA DOCENTE UNIVERSAL
•
NOMBRE: Elemento alfanumérico que representa el nombre y los dos apellidos de un usuario. •
E‐MAIL: Elemento alfanumérico que representa un e‐mail de contacto. •
DNI: Número entero que representa el documento nacional de identidad de cada usuario de la aplicación. •
PASSWORD: Elemento alfanumérico que representa la clave elegida por el usuario para su autenticación en la plataforma. Las asociaciones explícitas que se han definido para este sistema son los las siguientes: •
Un alumno puede acudir más de un curso por año. También se sabe que un curso puede ser seguido por más de un alumno. •
Un alumno no tiene que estar inscrito en algún curso para poder registrarse en la plataforma. •
Un profesor puede dar más de un curso. Y un curso determinado sólo puede ser dado por un profesor. •
Un alumno puede tener más de un profesor, y viceversa. •
Un alumno registrado en el portal puede que no tenga ningún profesor. •
Un nombre de fichero determinado puede pertenecer a uno o varios cursos. Cada curso puede tener más de un fichero subido al servidor. - 74 -
PLATAFORMA DOCENTE UNIVERSAL
•
Un alumno (ID_ALUMNO) tiene un solo E‐MAIL, DNI, NOMBRE, y PASSWORD. •
Un profesor (ID_PROFESOR) tiene un solo E‐MAIL, DNI, NOMBRE, y PASSWORD. •
El elemento ID_PROFESOR e ID_ALUMNO son únicos para cada usuario, es decir, no hay elementos repetidos. Se sigue el método descrito antes para la obtención de un diagrama RE/R y se obtienen los siguientes atributos, asociaciones explícitas y cardinalidades: E‐MAIL DNI
NOMBRE
Rx PASSWORD
Rx
ID_ALUMNO
m R1 n ID_PROFESOR
FICHERO
m
m R2
R4 m
R3 n
CURSO
m
FIGURA 15: Diagrama RE/R - 75 -
PLATAFORMA DOCENTE UNIVERSAL
En este modelo se pueden obtener redundancias entre las asociaciones explícitas, es decir, que se obtiene la misma información yendo por dos caminos distintos. Esto sólo puede tener lugar cuando se producen bucles entre las asociaciones. Si se puede obtener la misma información de varias maneras se ha de eliminar alguna de las asociaciones que provocan dicha redundancia. En este paso hay que eliminar las redundancias. → R1 es redundante con R3 y R2. → R2 no es redundante. → R3 no es redundante. → R4 no es redundante. → Rx no son redundantes. Se han de eliminar las asociaciones explícitas redundantes, así que la asociación que se ha eliminado es: R1. - 76 -
PLATAFORMA DOCENTE UNIVERSAL
Se aplican las reglas descritas anteriormente para eliminar las asociaciones explícitas y para normalizar las asociaciones implícitas obteniendo un diseño final como el siguiente: (ID_PROFESOR,NOMBRE
,DNI,PASSWORD, E‐
MAIL) (CURSO, ID_PROFESOR)
m
m
(CURSO, FICHERO) m (CURSO, ID_ALUMNO)
(ID_ALUMNO,NOMBRE,
DNI,PASSWORD, E‐
MAIL) n
FIGURA 16: Diagrama RE/R Con esta implementación se puede observar que la base de datos está normalizada y es consistente a actualizaciones o errores. La base de datos se ha denominado PROYECTO, y siguiendo el diseño normalizado va a contar con cinco tablas: ƒ
ALUMNOS: Contiene los atributos ID_ALUMNO, E‐MAIL, DNI, NOMBRE, y PASSWORD. Esta tabla sirve para guardar los datos personales de cada alumno. La clave principal de la tabla, es decir, el elemento que no se puede repetir, es ID_ALUMNO. - 77 -
PLATAFORMA DOCENTE UNIVERSAL
ƒ
PROFESORES: Contiene los atributos ID_PROFESOR, E‐MAIL, DNI, NOMBRE, y PASSWORD. Esta tabla sirve para guardar los datos personales de cada profesor. La clave principal de la tabla es ID_PROFESOR. ƒ
ALUMNOS‐CURSO: Contiene los atributos CURSO e ID_ALUMNO. La tabla guarda la relación de los cursos que están cursando cada uno de los alumnos que tiene registrado algún curso. La clave principal de la tabla es (CURSO, ID_ALUMNO). La clave extranjera, es decir, el atributo que no es clave principal en esta tabla (puede ser un atributo o parte de la clave principal), pero sí en otra tabla de la base de datos, y cuya función es relacionar las diferentes tablas, es ID_ALUMNO en un caso y CURSO por otro lado. ƒ
PROFESORES‐CURSO: Contiene los atributos CURSO e ID_PROFESOR. La tabla guarda la relación de los profesores que están encargados de cada uno de los cursos. La clave principal de la tabla es CURSO. La clave extranjera es ID_PROFESOR y sirve para relacionar esta tabla con la de PROFESORES. ƒ
FICHEROS‐CURSO: Contiene los atributos CURSO y FICHERO. La tabla sirve para almacenar los ficheros que son almacenados por cada curso. . La clave principal de la tabla es (CURSO, FICHERO). La clave extranjera es CURSO y relaciona esta tabla con la de PROFESORES‐CURSO, en la que se almacenan todos los cursos que se están impartiendo (y sus respectivos profesores). - 78 -
PLATAFORMA DOCENTE UNIVERSAL
Por otro lado, para la creación de una de las funcionalidades del proyecto, la creación de un foro, se ha tenido que crear otra base de datos. A esta base de datos será FORO y está formada por una única tabla: foro1. La tabla foro1 contiene los siguientes atributos que permiten implementar el foro: •
ID: Se trata de un número entero que identifica a cada mensaje que se introduce en el foro. •
AUTOR: Es el identificador utilizado para almacenar a la persona que ha creado el nuevo mensaje. •
TITULO: Es el campo dedicado a la cabecera que se va a ver en el foro. •
MENSAJE: Es el campo utilizado para almacenar el cuerpo del mensaje. •
FECHA: Se trata del identificador utilizado para almacenar cada mensaje ordenado en el tiempo. •
RESPUESTAS: Es el campo utilizado para almacenar el número de respuestas que se han llevado a cabo sobre el mensaje en particular. •
IDENTIFICADOR: Es el campo utilizado para saber si el mensaje es un tema original o es una respuesta a un tema ya expuesto. - 79 -
PLATAFORMA DOCENTE UNIVERSAL
CAPÍTULO 6: Desarrollo técnico - 80 -
PLATAFORMA DOCENTE UNIVERSAL
6.1
INTRODUCCIÓN AL DESARROLLO
TÉCNICO
En esta etapa se pretende alcanzar la transformación del sistema en un conjunto de programas que puedan ser ejecutados correctamente bajo criterios de calidad. La dificultad estriba en cómo realizar esta transformación de la mejor manera posible, ya que va a depender de de factores como el lenguaje de programación a utilizar, herramientas de software disponibles y el equipo humano de programación. En este caso se trata de un portal Web con lo que una parte fundamental del desarrollo será la usabilidad y el diseño de toda la aplicación con vistas a satisfacer a los usuarios finales. En esta etapa tiene especial importancia la elección de las distintas tecnologías y lenguajes de programación para dotar de la interactividad necesaria en la realización de un proyecto web. También es, en la fase de programación, donde se han de realizar las pruebas unitarias sobre cada una de las partes del sistema. Las pruebas unitarias son aquellas realizadas sobre cada uno de los programas por separado para comprobar que funcionan correctamente de manera individual. Se tiene que trazar un manual de usuario, con los distintos pasos que tiene que realizar el mismo, para poder acceder a todas las funcionalidades de las que consta el portal. Por último se creará un manual de explotación, que es la guía que va dirigida a las personas que van a explotar la aplicación diariamente. Por lo tanto en este punto se van a exponer las razones sobre el uso de los distintos lenguajes de programación utilizados en relación con los requisitos que se quieren conseguir de interactividad entre cliente, servidor y gestor de base de datos, y usabilidad de la aplicación en general. También se dará una breve explicación de la forma en la que se ha implementado cada una de las partes del portal y de cómo han satisfecho las pruebas unitarias que se les ha - 81 -
PLATAFORMA DOCENTE UNIVERSAL
hecho por separado. Para finalizar se creará un manual de usuario con las distintas opciones que tiene al acceder a la plataforma y un manual de explotación para las personas que van a encargar de explotar el sistema. 6.2 LENGUAJES UTILIZADOS
Se ha utilizado, como lenguaje principal para la programación del portal, en la parte del cliente, DHTML, que es un término comercial que define un tipo de tecnología que se caracteriza por la interacción. Esta interacción se consigue debido a que la página reacciona a los cambios que introduce el usuario sin necesidad de enviar datos al servidor, ni de que éste tenga que recargar la página constantemente. La tecnología denominada DHTML es un compendio de tecnologías que se unen para lograr interacción, dinamismo y efectos visuales en la creación web. Este conjunto está formado por CSS, JavaScript y XHTML, cada uno de estos lenguajes aportan una serie de características que se han utilizado a la hora de crear el portal web. Para la parte del servidor se ha utilizado PHP. Este lenguaje está embebido en el HTML y tiene capacidades de procesamiento y gestión de datos. Otro punto fuerte de este lenguaje, y que para el proyecto tiene gran importancia, es que es un software gratuito, como el resto de tecnologías utilizadas para la implementación del portal. A continuación se hará una breve descripción de las características que tienen los distintos lenguajes utilizados en la elaboración del proyecto. - 82 -
PLATAFORMA DOCENTE UNIVERSAL
XHTML Acrónimo inglés de eXtensible Hypertext Markup Language (lenguaje extensible de marcado de hipertexto), es el lenguaje de marcado pensado para sustituir a HTML como estándar para las páginas web. Los cambios de HTML a la primera generación de XHTML (es decir, XHTML 1.x) están destinados a conseguir la conformidad con XML. El cambio más importante es el requisito de que el documento esté bien formado y que todas las etiquetas estén explícitamente cerradas, como se requiere en XML. Las principales ventajas del XHTML sobre el HTML son: ™ Se pueden incorporar elementos de distintos espacios de nombres XML (como MathML y Scalable Vector Graphics). ™ Un navegador no necesita implementar heurísticas para detectar qué quiso poner el autor. ™ Como es XML se pueden utilizar fácilmente herramientas creadas para procesamiento de documentos XML genéricos (editores, XSLT, etc.). Por lo tanto XHTML se ha utilizado en todo el proyecto en sustitución del HTML clásico. Los ficheros que únicamente contienen código XHTML son los nombrados como .html¸ así que todos aquellos ficheros que tengan esta misma extensión serán XHTML puro. Aquellos ficheros con otra extensión, por ejemplo .php, puede que tengan partes de XHTML, pero mezclado con código de otros lenguajes de programación. Un ejemplo de fichero cuyo código es sólo XHTML es la página de presentación del portal (inicio.html), que contiene información acerca de la - 83 -
PLATAFORMA DOCENTE UNIVERSAL
plataforma e‐learning a la que se está accediendo. El código que se ha implementado para esta página es el siguiente: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns='http://www.w3.org/1999/xhtml'>
<head>
<meta http-equiv='Content-Type' content='text/html;
charset=UTF-8' />
<title>PAGINA PRINCIPAL</title>
<link rel="shortcut icon"
href="http://localhost/PROYECTO/comillas.ico">
<link rel='stylesheet' type='text/css' href='pestanas.css'
/>
<link rel='stylesheet' type='text/css' href='inicio.css'
/>
</head>
<body id='index'>
<ul id='pestanas'>
<li id='pestana1'><div><div><a
href='inicio.html'><span>Inicio</span></a></div></div></li>
<li id='pestana2'><div><div><a
href='registro.html'><span>Registro de
Usuarios</span></a></div></div></li>
<li id='pestana3'><div><div><a
href='contacto.html'><span>Contacto con
Administrador</span></a></div></div></li>
<li id='pestana4'><div><div><a
href='google.html'><span>Buscar en Google</span></a></div></div></li>
</ul>
<div id='iframe'>
<iframe src='http://localhost/PROYECTO/presentacion.html'
frameborder='0' marginheight='0' marginwidth='0'></iframe>
</div>
</body>
</html>
- 84 -
PLATAFORMA DOCENTE UNIVERSAL
Visualizando el código anterior en un navegador se obtiene como resultado la siguiente página web: FIGURA 17
CSS Acrónimo inglés de Cascading Style Sheets (hojas de estilo en cascada), son un lenguaje formal usado para definir la presentación de un documento estructurado escrito en HTML o XML (y por extensión en XHTML). Lo que se intenta conseguir es separar la estructura de un documento de su presentación. El W3C (World Wide Web Consortium) es el encargado de formular la especificación de las hojas de estilo, que servirán para que los distintos navegadores puedan interpretar las diferentes etiquetas y mostrar los resultados en una pantalla, aunque cada navegador interpreta las - 85 -
PLATAFORMA DOCENTE UNIVERSAL
especificaciones de manera distinta y esto provoca diferencias a la hora de ejecutar un código. Para el proyecto se ha optimizado su visualización para el uso de un navegador Mozilla Firefox. Las ventajas de utilizar CSS son: ™ Control centralizado de la presentación de un sitio web completo, con lo que se agiliza de forma considerable la actualización del mismo. ™ Una página puede disponer de diferentes hojas de estilo según el dispositivo que la muestre o incluso a elección del usuario. ™ El documento HTML en sí mismo es más claro de entender y se consigue reducir considerablemente su tamaño (siempre y cuando no se utilice estilo en línea). Existen tres formas distintas de implementar hojas de estilo CSS en un documento HTML (o XHTML): ™ En línea, que es un método para insertar el lenguaje de estilo de página, directamente, dentro de una etiqueta HTML. Esta manera de proceder no es excesivamente adecuada, ya que incrementa en exceso el volumen de código que se escribe, y esto lo hace más complicado de entender, y por lo tanto de mantener. ™ Interna, es una hoja de estilo que está incrustada dentro de un documento HTML (dentro de las etiquetas <head> </head>). De esta manera se obtiene el beneficio de separar la información del estilo, del código HTML propiamente dicho. Como inconveniente se tiene que el código CSS no puede ser reutilizado para otras páginas web. - 86 -
PLATAFORMA DOCENTE UNIVERSAL
™ Externa, es una hoja de estilo que está almacenada en un archivo diferente al archivo donde se almacena el código HTML de la página web. Esta es la manera de programar más adecuada, porque separa completamente las reglas de formateo para la página HTML de la estructura básica de la página, logrando que el código sea por completo reutilizable. Para la elaboración del portal se han utilizado las tres posibles maneras de implementar las hojas de estilo CSS. La opción más utilizada ha sido la de crear hojas de estilo externas, ya que esto simplificaba las correcciones y modificaciones que se tuviesen que llevar a cabo. También se han utilizado las opciones de en CSS en línea y CSS internas en determinados ficheros en los que se ha considerado que el código no era reutilizable y era más entendible utilizando esas técnicas. Como ejemplo se va a exponer una hoja de estilos externa (formulario.css) que es utilizada por otro fichero (formulario.html) para lograr un mayor atractivo visual en un formulario de contacto con el administrador. El código del fichero CSS es el siguiente: - 87 -
PLATAFORMA DOCENTE UNIVERSAL
body{
background-image:url(fondo_html.bmp);
background-position:5% 77%;
margin: auto;
width: 596px;
padding-top: 5px;
margin-top: 20px;
border-top: 0;
}
#formulario {
margin: 10px;
padding: 0px;
border: 1px solid #f7f7f7;
background-color: #fcfcfc;
}
fieldset {
border: 0;
padding: 5px;
}
legend{
font-family: "Trebuchet MS", Vendana, Arial, sans-serif;
font-size: 14pt;
font-weight: bold;
border: 0;
margin-top:0;
padding-top:0;
margin-bottom: 0;
padding-bottom: 0;
color: #98bb79;
- 88 -
PLATAFORMA DOCENTE UNIVERSAL
margin-bottom: 20px;
margin-left:130px;
}
label,input {
font-family: "Trebuchet MS", Vendana, Arial, sans-serif;
font-size: 13pt;
display: block;
width: 185px;
float: left;
margin-bottom: 10px;
}
label {
color: #999;
text-align: right;
width: 70px;
padding-right: 10px;
}
input {
border: 1px solid #ccc;
color: #2F4165;
margin-right: 5px;
}
select {
font-family: "Trebuchet MS", Vendana, Arial, sansserif;
color: #98bb79;
font-size: 13pt;
cursor: pointer;
}
textarea{
- 89 -
PLATAFORMA DOCENTE UNIVERSAL
border: 1px solid #ccc;
font-family: "Trebuchet MS", Vendana, Arial, sans-serif;
font-size: 13pt;
color: #2F4165;
}
.submit {
background-color: #98bb79;
border-top: 1px solid #99CC66;
border-left: 1px solid #99CC66;
border-right: 1px solid #669900;
border-bottom: 1px solid #669900;
margin-top:10px;
margin-bottom:10px;
color: #fcfcfc;
cursor: pointer;
}
br {
clear: left;
}
.etiqueta_comentario{
margin-left: 5px;
margin-bottom: 1px;
}
.input_green{
color: #98bb79;
}
.no_style{
border: 0;
}
- 90 -
PLATAFORMA DOCENTE UNIVERSAL
#pie{
font-family: "Trebuchet MS", Vendana, Arial, sans-serif;
font-size: 10.5pt;
text-align: center;
color: #444;
}
El fichero formulario.html utiliza la hoja de estilo expuesta anteriormente (formulario.css) para mejorar el aspecto de la página. El resultado de esta combinación es la siguiente pantalla: FIGURA 18 - 91 -
PLATAFORMA DOCENTE UNIVERSAL
JAVASCRIPT JavaScript es un lenguaje de programación interpretado y orientado a objetos, es decir, que no requiere compilación, utilizado principalmente en páginas web, con una sintaxis semejante a la del lenguaje Java y el lenguaje C. Todos los navegadores modernos 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. DOM es un modelo computacional a través del cual los programas y scripts pueden acceder y modificar dinámicamente el contenido, estructura y estilo de los documentos HTML y XML. Las funciones de JavaScript son muchísimas pero se puede destacar que cumple funciones como el tratamiento de datos antes de ser enviados al servidor, o la posibilidad de dotar de interactividad a la aplicación en la capa de presentación del cliente. Existen dos formas distintas de implementar JavaScript en un documento HTML (o XHTML): ™ Interna, se incluye código JavaScript en un archivo HTML, utilizando para ello dos etiquetas especiales (<script> y </script>). ™ Externa, se incluye el código JavaScript en un fichero externo (con extensión .js). Este modo de utilizar esta tecnología aporta la posibilidad de reutilización de código. Para el proyecto se ha utilizado solamente la forma de inclusión de código JavaScript denominada como Interna. Esto se debe a que el código que - 92 -
PLATAFORMA DOCENTE UNIVERSAL
se ha implementado en este lenguaje no es reutilizable entre varios ficheros de los que se compone el portal. Como ejemplo de utilización de JavaScript en el proyecto se va a exponer el código que se ha utilizado para la validación del formulario de ingreso de nuevos usuarios en la aplicación (formulario2.html). En este caso se ha incluido el código de manera interna, por lo que se trata de un fichero HTML que contiene unos tags (<script> y </script>) en los que va encerrado todo el código JavaScript necesario para la validación de la no inclusión de letra en el campo de DNI. El código que se ha utilizado es el siguiente: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es"
lang="es">
<head>
<title></title>
<link rel="stylesheet" href="formulario2.css"
type="text/css" />
<script type="text/javascript">
function mostrarOcultar (evt)
{
evt = (evt) ? evt : event;
var target = (evt.target) ? evt.target :
evt.srcElement;
var block = document.getElementById("cursos");
if(target.id == "option2")
{
block.style.display = "block";
}
else
- 93 -
PLATAFORMA DOCENTE UNIVERSAL
{
block.style.display = "none";
}
}
</script>
<script type="text/javascript">
function comprobar(f,t)
{
if(isNaN(f[t].value))
{
alert("EL DNI debe ser insertado SIN la LETRA!!");
f[t].value="";
f[t].focus();
return false;
}
else
{
return true;
}
}
</script>
</head>
<body>
<div id="formulario">
<form action="nuevo_usuario.php" method="post"
name="comentarios" onsubmit="return comprobar(this,'dni')">
<fieldset>
<legend>REGISTRO DE USUARIOS</legend>
- 94 -
PLATAFORMA DOCENTE UNIVERSAL
<input class="no_style" type="hidden" name="id" /><br />
<label for="dni">dni*:</label>
<input id="dni" class="input_green" type="text" name="dni"
/><br />
<label for="nombre">nombre*:</label>
<input id="nombre" class="input_green" type="text"
name="nombre" /><br />
<label for="email">email*:</label>
<input id="email" class="input_green" type="text" name="email"
/><br />
<label for="password">password*:</label>
<input id="password" class="input_green" type="password"
name="password" /> <br />
<div id="opciones">
<label for="option1">alumno</label><input type="radio"
class="radio" name="tipo_usuario" id="option1" value="alumno"
onclick="mostrarOcultar(event)"/>
<br />
<label for="option2">profesor</label><input type="radio"
class="radio" name="tipo_usuario" id="option2" value="profesor"
onclick="mostrarOcultar(event)"/><br />
</div>
<br />
<div id="cursos">
<label for="curso">curso:</label>
<select name="curso" size="1" id="curso">
<option value="" selected="selected">ELIGE UNO...</option>
<option value="c">C</option>
<option value="java">JAVA</option>
- 95 -
PLATAFORMA DOCENTE UNIVERSAL
<option value="php">PHP</option>
<option value="sql">SQL</option>
</select>
</div>
<br />
<input class="submit" type="submit" value="Registrar" />
</fieldset>
</form>
</div>
<div id="pie">
<p>* Campos obligatorios en el formulario</p>
</div>
</body>
</html>
- 96 -
PLATAFORMA DOCENTE UNIVERSAL
El resultado de esta implementación es una página web que valida que no se introduzca un número de DNI con letra. Si esto pasa muestra un mensaje de error. Esto se puede ver en la siguiente pantalla: FIGURA 18 - 97 -
PLATAFORMA DOCENTE UNIVERSAL
PHP Es un acrónimo recursivo que significa PHP Hypertext Pre‐processor. Es un lenguaje interpretado de propósito general ampliamente usado y que está diseñado especialmente para desarrollo web y puede ser embebido dentro de código HTML. Generalmente se ejecuta en un servidor web, tomando el código en PHP como su entrada y creando páginas web como salida. Con PHP se puede realizar un tratamiento de los datos en el lado del servidor, así como permitir la conexión a diferentes tipos de servidores de bases de datos tales como MySQL, Postgres, Oracle, ODBC, DB2, Microsoft SQL Server, Firebird y SQLite. Este lenguaje también puede realizar funciones muy útiles para la creación de portales web como son el establecimiento de sesiones o el tratamiento de cookies. Pero sobre todo hay que resaltar que, aparte de ser un lenguaje del lado del servidor muy potente, pertenece a la categoría de software libre, por lo que resulta accesible que cualquier persona pueda programar sus propias aplicaciones sin coste alguno en la adquisición de licencias. Como ejemplo de la utilización de PHP en el proyecto se expone a continuación el código que se ha diseñado para la presentación de la página principal del foro. Esta página está diseñada en PHP porque el foro es una aplicación que, entre otras cosas, realiza accesos a una base de datos en la que se encuentran almacenados los mensajes de los usuarios, así como otros datos de interés como son el autor o el número de respuestas a ese mensaje. Para la interacción entre la página y el sistema gestor de la base de datos (en el caso del proyecto es MySQL, que también es software libre) se necesita un lenguaje de programación en el lado del servidor que la pueda realizar. Este lenguaje, en el caso del proyecto, es PHP, aunque, como ya se ha expuesto, hay muchos otros lenguajes que, de igual manera, podrían cumplir con esta tarea. El código que - 98 -
PLATAFORMA DOCENTE UNIVERSAL
se ha programado para la realización de la página principal del foro es el siguiente: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=utf-8" />
<link rel="shortcut icon"
href="http://localhost/PROYECTO/comillas.ico">
<title>FORO</title>
<style type="text/css">
<!-body{
background-image:url(../imagenes/bg126.gif);
color:#000000;
font-family:"Comic Sans MS";
}
h1{
text-decoration:blink;
text-align:center;
}
-->
</style>
</head>
<body>
<h1>FORO DE LA APLICACI&Oacute;N</h1>
<hr color="#990000" size="3"/>
<br />
- 99 -
PLATAFORMA DOCENTE UNIVERSAL
<table width="100%" border="0" cellspacing="0"
cellpadding="0">
<br /><br />
<tr>
<td width="5%"></td>
<td width="35%">
<b>T&Iacute;TULO</b>
</td>
<td width="30%">
<b>FECHA</b>
</td>
<td width="30%">
<b>RESPUESTAS</b>
</td>
</tr>
</table>
<?php
$dbhost='localhost';
$dbusername='root';
$dbuserpass='';
$dbname='foro';
$connect = mysql_connect ($dbhost, $dbusername,
$dbuserpass);
mysql_select_db($dbname,$connect) or die('NO SE PUEDE
CONECTAR CON LA BASE DE DATOS!!');
$consulta = mysql_query("SELECT * FROM foro1 WHERE
identificador = 0 ORDER BY fecha DESC",$connect);
$lado = mysql_num_rows($consulta);
echo "<hr size = \"5\" color = \"#990000\" width =
\"100%\" align = \"left\">";
- 100 -
PLATAFORMA DOCENTE UNIVERSAL
echo "<hr size = \"5\" color = \"#990000\" width =
\"100%\" align = \"left\">";
while($row = mysql_fetch_array($consulta))
{
$titulo= $row ["titulo"];
$id=$row["id"];
$titulo=$row["titulo"];
$fecha=$row["fecha"];
$respuestas=$row["respuestas"];
echo("<table width='100%' border='0' cellspacing='0'
cellpadding= '0'>\n");
echo("<tr>\n");
echo("<td width='40%'><a href=
foroforo.php?id=$id>$titulo</a></td>\n");
echo("<td width='30%'>". date("d-my",$fecha)."</td>\n");
echo("<td width='30%'>$respuestas</td>\n");
echo("</tr>\n");
echo("</table>\n");
echo "<hr size = 2 color='#990000' width = 100%
align = left>";
}
?>
<?php
session_start();
if($_SESSION['tipo_usuario']=="alumno")
{
$dir = "../alumno.php";
}
else
{
$dir = "../profesor.php";
}
?>
- 101 -
PLATAFORMA DOCENTE UNIVERSAL
<br />
<p align="center" style="font-family:Arial, Helvetica,
sans-serif; size:1;">
<a href="formularioforo.php?respuestas=0">Añadir
mensaje</a> | <a href=<?php echo $dir?>>Volver al men&uacute;</a>
</p>
</body>
</html>
El resultado de la página principal del foro se puede observar en la siguiente pantalla: FIGURA 19 - 102 -
PLATAFORMA DOCENTE UNIVERSAL
6.3
PARTES DE LA APLICACIÓN
El portal web que se ha diseñado está compuesto por varias páginas, que a su vez están compuestas por varios componentes como botones y menús, que pueden dar lugar a otras páginas. Todos estos elementos se han dispuesto en la aplicación buscando que ésta sea intuitiva y fácil de usar, a la vez que atractiva para el usuario. La división del portal en páginas es la misma para las distintas tipologías de usuarios. Sólo existe una diferencia en las diferentes páginas que conforman el portal, y es que, en la página de cursos, el menú al que se puede acceder es distinto dependiendo de si eres un alumno o un profesor. Por lo tanto se puede diferenciar entre un primer grupo de páginas que son las más generales y que, algunas de ellas, dan lugar a páginas más específicas. Estas primeras páginas son: o Página de inicio. o Página de registro de usuarios. o Página de contacto con el administrador. o Página del buscador. o Página de autenticación de usuario. o Página de usuario invitado. Algunas de estas primeras páginas dan lugar a otras partes del portal que, igualmente, están compuestas por páginas web diseñadas con las mismas premisas que antes se han expuesto. A continuación se muestra con mayor - 103 -
PLATAFORMA DOCENTE UNIVERSAL
detalle el contenido de cada una de ellas y del resto de páginas que se pueden visitar desde estas páginas generales. 6.3.1
Página de inicio
Ésta es la primera página que se ve cuando se accede a la aplicación. Contiene información publicitaria de la plataforma e‐learning. Se puede observar que se han diseñado varias posibilidades de navegación dentro de esta primera página. La primera son los enlaces que acceden a los distintos tipos de usuario que pueden conectarse a la aplicación antes de comprobar si están registrados: nuevo usuario, usuario registrado y usuario invitado. La segunda forma de navegación son las pestañas superiores, éstas llevan a zonas de la aplicación como son: registro de nuevos usuarios, contacto con el administrador y búsqueda en un buscador externo. FIGURA 20 - 104 -
PLATAFORMA DOCENTE UNIVERSAL
6.3.2
Página de registro de usuarios
Ésta es la página a la que hay que dirigirse cuando se quiere crear un nuevo usuario dentro de la aplicación. En esta página se verá un formulario en el que se han de introducir campos de información personal (el campo de password se trata de manera segura almacenándolo cifrado bajo el algoritmo md5), así como el tipo de usuario que se quiera registrar. En la tipología profesor, además, hay que introducir el curso del que se es profesor. El registro de este tipo de usuarios ha de ser validado por el administrador personalmente antes de ser dado de alta en el sistema. El formulario obliga a introducir unos campos y en el caso de que estos estén vacíos o sean incorrectos, el sistema da un mensaje de aviso y no se registra el nuevo usuario. FIGURA 21 - 105 -
PLATAFORMA DOCENTE UNIVERSAL
6.3.3
Página de contacto con el administrador
Esta página contiene un formulario para ponerse en contacto con el administrador del portal para cualquier tipo de notificación. Los campos de este formulario son datos personales, tipo de usuario así como un breve comentario sobre el motivo del uso de esta funcionalidad. El sistema valida y procesa este formulario en un fichero que queda almacenado en el servidor, para que sea consultado por el administrador de la aplicación. FIGURA 22 - 106 -
PLATAFORMA DOCENTE UNIVERSAL
6.3.4
Página del buscador
Esta página es un enlace interno a un buscador externo como es Google. Se le ha añadido esta funcionalidad al portal debido a que se ha pensado que si se trata de un portal donde se imparten materias se va a necesitar tener acceso a un buscador de internet. Por lo tanto, se ha considerado útil que se pudiese acceder a él sin tener que salir de la plataforma desde la que se están impartiendo esas materias. FIGURA 23 - 107 -
PLATAFORMA DOCENTE UNIVERSAL
6.3.5
Página de autenticación de usuario
Esta página consiste en un formulario para la autenticación de los usuarios que están registrados. Este formulario envía la información al servidor que consultará con la base de datos para comparar los datos y dar validez a la conexión del usuario o, en caso contrario, da un mensaje de error de conexión. Además, esta página tiene la funcionalidad de poder guardar los datos del usuario para agilizar las conexiones futuras. FIGURA 24 - 108 -
PLATAFORMA DOCENTE UNIVERSAL
6.3.6
Página de usuario invitado
Ésta es la parte de la aplicación que puede ver un usuario que no está registrado. En ella se le da la opción de registrarse o de acceder al foro, que es la única parte del portal que puede ver sin estar registrado, ya que el resto están deshabilitadas.
FIGURA 25
- 109 -
PLATAFORMA DOCENTE UNIVERSAL
Una vez el usuario está autenticado se puede acceder a las distintas funcionalidades de la aplicación, que son iguales para los distintos perfiles de usuario. También se tiene la posibilidad de desconectarse de la aplicación, con lo que se volvería a la página de inicio con la sesión restablecida, es decir, sin estar autenticado en ningún perfil de usuario. Las distintas opciones a las que se puede acceder son: o Página principal. o Página del foro. o Página del correo. o Página de encuesta sobre la plataforma. o Página de recomendación de la plataforma. o Página de consulta de datos personales. o Página principal de cursos. - 110 -
PLATAFORMA DOCENTE UNIVERSAL
6.3.7
Página principal
Es la parte de la aplicación que puede ver un usuario que está registrado. En ella se pueden ver las distintas opciones a las que se puede acceder, así como los datos personales del usuario y la fecha y hora de la conexión.
FIGURA 26 - 111 -
PLATAFORMA DOCENTE UNIVERSAL
6.3.8
Página del foro
Esta es la página principal del foro de la plataforma. Desde aquí se pueden ver los distintos temas del foro, su fecha de inicio y las respuestas que se le han dado a cada uno de los temas, también se puede volver a la página principal de la aplicación. Se puede ver el contenido de cada uno de los temas del foro o añadir un nuevo tema.
FIGURA 27 - 112 -
PLATAFORMA DOCENTE UNIVERSAL
Si se pincha encima de un tema del foro se accede al contenido del mensaje, así como a las diferentes respuestas que se le han dado, ordenadas por fecha de edición. A partir de este punto, se puede incluir otra respuesta al tema o volver a la página principal del foro. FIGURA 28 - 113 -
PLATAFORMA DOCENTE UNIVERSAL
Si se pincha a la opción de responder se accede a un formulario en el que el título del mensaje es el tema al que se quiere responder. Hay que añadir el nombre de quien responde y el contenido del mensaje. FIGURA 29 Si lo que se quiere es añadir un tema nuevo al foro, el formulario es igual al anterior pero sin un título predefinido. Una vez se han rellenado todos los campos del formulario el mensaje se publica como nuevo tema del foro, y aparece ordenado por fecha de edición. - 114 -
PLATAFORMA DOCENTE UNIVERSAL
6.3.9
Página del correo
Esta parte de la aplicación dedicada a la funcionalidad del correo. Se ha implementado en dos partes la aplicación. En la parte de la izquierda aparecen las distintas carpetas en las que se estructura el correo: bandeja de entrada, borradores, enviados y papelera. En la parte de la derecha se muestra el contenido de las carpetas, con datos como el asunto, remitente y fecha de cada mensaje. Si se pincha en cada uno de los mensajes se accede al contenido de los mismos. Por último se puede acceder de nuevo a la página principal pinchando en el botón de la esquina superior derecha.
FIGURA 30 - 115 -
PLATAFORMA DOCENTE UNIVERSAL
6.3.10 Página de encuesta sobre la plataforma
Esta página muestra una encuesta que se le realiza al usuario de la aplicación en la que se le preguntan sobre diversos temas en relación a su uso de la plataforma. Esta encuesta cada vez que se realice será enviada al servidor que creará un fichero con los datos del usuario y sus respuestas para que sea revisado por el administrador del portal. FIGURA 31 - 116 -
PLATAFORMA DOCENTE UNIVERSAL
6.3.11 Página de recomendación de la plataforma
Esta página muestra una fácil manera de recomendar el portal a otra persona. Se trata de un formulario en el que hay que rellenar el nombre y el email del remitente y del destinatario, utilizándolos para el envío de un correo electrónico en el que, en el cuerpo del mensaje, que lo genera la aplicación, aparece un texto con una recomendación de la aplicación. FIGURA 32 - 117 -
PLATAFORMA DOCENTE UNIVERSAL
6.3.12 Página de consulta de datos personales
Esta página muestra los datos personales (DNI, nombre, email y contraseña) que se encuentran memorizados en el sistema. Si se quiere se pueden cambiar, desde este formulario, los datos por otros distintos. La aplicación en este punto controla que los campos no queden vacíos ni que datos, como DNI o email, sean incorrectos, en caso de que no sean válidos se lanza un mensaje de error. FIGURA 33 - 118 -
PLATAFORMA DOCENTE UNIVERSAL
6.3.13 Página principal de cursos
Esta es la página principal de la parte de la aplicación destinada a la gestión de los distintos cursos. Esta funcionalidad es diferente dependiendo del perfil de usuario que se haya conectado, pues una tipología de alumno tiene opciones de bajar ficheros del sistema, y una tipología de profesor tiene opciones, tanto de bajar, como de subir ficheros. Es, a partir de la página principal de cursos, desde donde se puede acceder a las distintas partes del portal. Por lo tanto para especificar estas partes es importante distinguir entre perfiles: PERFIL ALUMNO En esta tipología se cuenta con una página principal desde la que se accede al resto de partes del portal de cursos, además de poder volver a la página principal de la aplicación. FIGURA 34 - 119 -
PLATAFORMA DOCENTE UNIVERSAL
Las diferentes funcionalidades en las que se divide la plataforma en el perfil alumno son cursos y recursos. La parte dedicada a cursos se compone de tres posibilidades: consultar los cursos en los que se está apuntado, inscribirse en un nuevo curso y borrarse de un curso. FIGURA 35 FIGURA 36 - 120 -
PLATAFORMA DOCENTE UNIVERSAL
FIGURA 37 La parte dedicada a recursos se compone de dos posibilidades: ver la lista de alumnos de un curso, la cual luego se podrá imprimir, y descargar los ficheros de una asignatura de la que se esté matriculado. FIGURA 38
- 121 -
PLATAFORMA DOCENTE UNIVERSAL
FIGURA 39 FIGURA 40 - 122 -
PLATAFORMA DOCENTE UNIVERSAL
FIGURA 41
PERFIL PROFESOR En esta tipología se cuenta con una página principal desde la que se accede al resto de partes del portal de cursos, además de poder volver a la página principal de la aplicación. FIGURA 42 - 123 -
PLATAFORMA DOCENTE UNIVERSAL
Las diferentes funcionalidades en las que se divide la plataforma en el perfil profesor son recursos y clases. La parte dedicada a recursos se compone de dos posibilidades: subir ficheros, de uno de los cursos de los que se imparte, al servidor del portal y bajar ficheros de los mismos cursos. FIGURA 43 - 124 -
PLATAFORMA DOCENTE UNIVERSAL
FIGURA 44 FIGURA 45 - 125 -
PLATAFORMA DOCENTE UNIVERSAL
La parte dedicada a clases se compone de dos posibilidades: ver el listado de los alumnos que asisten a un curso de los que se es profesor, y la cual se podrá imprimir, y generar un fichero de texto con los alumnos de esos cursos para trabajos administrativos. Después de generar el fichero, que se guardará en el servidor, se podrá descargar en el equipo cliente que solicitó esta función. FIGURA 46 - 126 -
PLATAFORMA DOCENTE UNIVERSAL
FIGURA 47
FIGURA 48 - 127 -
PLATAFORMA DOCENTE UNIVERSAL
FIGURA 49 Por lo tanto, después de la especificación de las partes de la aplicación, se puede concluir que la plataforma se ha estructurado en tres partes. La parte para usuarios no registrados, la parte para usuarios registrados que contiene las funcionalidades más generales del portal y la parte para usuarios registrados que contiene las funcionalidades de los cursos, y que es diferente según el perfil de usuario. - 128 -
PLATAFORMA DOCENTE UNIVERSAL
6.4
MANUAL DE USUARIO
La guía de usuario es un manual que incluye las instrucciones de operación del sistema. Gracias al manual, el usuario sin tener apenas experiencia en entornos Web puede moverse por el portal sabiendo en todo momento lo que está haciendo y en dónde se encuentra dentro de la plataforma. Todos los enlaces y botones del sistema son sencillos de utilizar, al igual que el foro, el correo o la aplicación de cursos. El manual de usuario, que se va a detallar a continuación, está compuesto por distintos apartados que contienen, a modo de resumen, todo lo que se ha expuesto en etapas anteriores con respecto a la estructura del portal. Con esta guía el usuario sabrá cómo acceder perfectamente a las distintas partes y funcionalidades de la aplicación. Los apartados en los que se ha dividido el manual son: 1.
Introducción: En este apartado se tratan los objetivos principales de la aplicación, así como el ámbito del proyecto y los documentos, dentro del proyecto, que están relacionados con estas especificaciones. 2.
Descripción general del sistema: En este apartado se tratan los temas de la aplicación más específicos, como son el entorno de trabajo, los perfiles de usuario y el funcionamiento general del sistema. 6.4.1
Introducción al manual de usuario
En esta parte del manual se presentan el objetivo del sistema, el ámbito de alcance, esto es, las funciones de negocio que se llevan a cabo en la plataforma, y las referencias a otros documentos que pueden ayudar al usuario - 129 -
PLATAFORMA DOCENTE UNIVERSAL
a comprender y manipular el sistema, como procedimientos de actuación, normas y estándares de la organización referentes a las funciones recogidas por la aplicación. OBJETIVO DE LA APLICACIÓN El principal objetivo que se persigue con la plataforma es la creación de un espacio web educativo dotado de una gran interactividad. Esta interactividad está referida a los usuarios con la aplicación, siendo ésta personalizada para cada cliente, y a los usuarios entre sí dentro de la aplicación. ÁMBITO DE LA APLICACIÓN La aplicación lleva a cabo las funciones: • Gestión documental. • Gestión de usuarios. • Gestión de las distintas aplicaciones que forman parte del sistema, como son: foro, correo, encuesta… DOCUMENTOS RELACIONADOS Los documentos, de entre todos los apartados del proyecto, que contienen más información acerca de los objetivos y ámbito del sistema son: • Identificación de necesidades. • Análisis de requisitos. • Diseño. - 130 -
PLATAFORMA DOCENTE UNIVERSAL
Si el usuario quiere tener una mayor información acerca del sistema tiene que recurrir a estos apartados, ya que son los documentos que tratan sobre los temas abordados. 6.4.2
Descripción general del sistema
La descripción general del sistema presenta una exposición general del portal estableciendo el entorno de trabajo donde se ejecuta o accede a la aplicación, describiéndose los elementos hardware y software más relevantes. Asimismo, se exponen los perfiles de usuario, asignándole a cada uno las operaciones que pueden realizar dentro de la plataforma. En este apartado también se muestra el funcionamiento general del sistema, haciendo un recorrido de las funciones de negocio en base al menú general de la aplicación. ENTORNO DE TRABAJO Los requisitos mínimos necesarios para poder acceder de manera rápida y eficaz a la plataforma son los siguientes: Elementos hardware: Intel Pentium 200 MHz, 64 MB de memoria RAM. Elementos software: Microsoft Windows 98, Mozilla Firefox 2.0. Cuando el usuario cumpla estos requisitos mínimos en cuanto a software y hardware podrá utilizar la plataforma sin tener problemas técnicos ni de rendimiento. PERFILES DE USUARIO Dentro de la aplicación se pueden distinguir tres tipologías de usuario distintas, con acceso a distintas partes de la plataforma. Los distintos perfiles de usuario son: - 131 -
PLATAFORMA DOCENTE UNIVERSAL
El perfil de usuario invitado es aquel usuario que no está registrado en la plataforma. Tiene un acceso limitado al portal, es decir, sólo puede acceder a las partes de presentación, contacto con el administrador y registro de nuevos usuarios, así como al foro de la aplicación. El perfil de usuario registrado es el que tiene acceso a todas las partes de la aplicación. Este perfil a su vez se divide en dos tipologías diferenciadas, el perfil de alumno y el de profesor. Estos distintos perfiles tienen las mismas funcionalidades generales, pero se distinguen en la parte de los cursos, ya que el profesor tiene funciones menos restrictivas que el alumno en lo que respecta a la gestión de ficheros en el sistema. El tercer perfil pertenece al administrador, y será el encargado de gestionar todos los recursos del sistema y asegurarse de que todo funciona correctamente, por lo que tendrá acceso a la base de datos, a todas las partes del portal y a los distintos ficheros del sistema. - 132 -
PLATAFORMA DOCENTE UNIVERSAL
FUNCIONAMIENTO DEL SISTEMA Un usuario de la aplicación no tiene por qué estar registrado para poder acceder a algunas de las partes y funcionalidades de la aplicación. Si el perfil es el de invitado se puede acceder a toda la parte inicial de la plataforma, así como al foro de la aplicación: USUARIO INVITADO
DESCONECTAR
FORO FIGURA 50 - 133 -
MENÚ
PLATAFORMA DOCENTE UNIVERSAL
Otra de las funcionalidades del sistema es el registro de nuevos usuarios. Para que un usuario se pueda registrar tiene que rellenar un formulario de registro de nuevos usuarios, en el cual se tienen que dar una serie de datos personales. El formulario se valida y, en el caso de que el proceso de registro sea correcto, se accede a la página principal de la plataforma. NUEVO USUARIO INICIO
REGISTRAR DESCONECTAR IR A LA APLICACIÓN
FIGURA 51 - 134 -
PLATAFORMA DOCENTE UNIVERSAL
Cuando el usuario está registrado puede acceder a las diferentes partes del portal una vez se ha autenticado. Para autenticarse debe introducir en un formulario el usuario y contraseña y, si todo es correcto, ingresa en la página principal de la plataforma, desde donde accede a todas las partes de su perfil de usuario. USUARIO REGISTRADO INICIO
AUTENTICAR DESCONECTAR IR A LA APLICACIÓN
MENÚ FORO CORREO CURSOS RECOMENDAR ENCUESTA FIGURA 52 - 135 -
MIS DATOS PLATAFORMA DOCENTE UNIVERSAL
Cuando el usuario registrado accede a la parte de la aplicación de los cursos se despliegan funcionalidades, que son diferentes para cada tipología de usuario. El perfil de usuario alumno tiene las posibilidades de inscripción y borrado de cursos, así como las posibilidades de ver la lista de alumnos de un curso (lista que podrá imprimir) y los ficheros relacionados con ese curso. El perfil de usuario profesor tiene menos restricciones ya que tiene la posibilidad, tanto de subir al servidor, como de bajar ficheros del servidor. También puede ver el listado de los alumnos que tiene en un curso (listado que podrá imprimir) y generar un fichero de texto con este listado. Esto tiene utilidad para labores administrativas ya que podrá descargárselo en el equipo desde el que esté accediendo a la plataforma.
- 136 -
PLATAFORMA DOCENTE UNIVERSAL
6.5
MANUAL DE EXPLOTACIÓN
El manual de explotación está dirigido a las personas que explotarán diariamente el sistema. Se debe establecer la planificación de tareas tanto programadas como aperiódicas, los soportes de entrada y salida que se manipulan, las operaciones de seguridad (backup), la obtención de históricos, la parada y mantenimientos del sistema… Las partes de las que se compone un manual de explotación se pueden dividir en tres: 1.
Información general de la aplicación: En este apartado se describe de manera general la aplicación, así como su arquitectura. 2.
Información de entradas y salidas: En este apartado se trata la gestión de las entradas y salidas, tanto la ubicación de las entradas, como el destino de las salidas. 3.
Información sobre el control de operaciones: En este apartado se aborda la estructura de los directorios de trabajo y las opciones de navegación que se tienen dentro de la aplicación. 4.
Información sobre seguridad: En este apartado se detallan los procedimientos de seguridad y los procesos de backup diseñados para el sistema. - 137 -
PLATAFORMA DOCENTE UNIVERSAL
6.5.1
Información general de la aplicación
La aplicación que se ha desarrollado es un prototipo de plataforma e‐
learning interactiva y personalizada para cada usuario. El portal ha sido creado en DHTML para dotarlo de dinamismo e interactividad sin necesidad de instalación de plugins. La gestión de las distintas funcionalidades para los diferentes perfiles de usuario se ha implementado utilizando PHP, que es un lenguaje que permite el procesamiento de datos, así como la interacción con sistemas gestores de bases de datos. La arquitectura que se ha implementado en este proyecto es cliente‐
servidor. En el lado del cliente un navegador, en el caso del proyecto Mozilla Firefox, presenta las páginas enviadas por el equipo servidor. Las páginas enviadas tienen los formatos HTML, CSS y PHP. El acceso a la base de datos se tiene que hacer desde el servidor, utilizando el lenguaje de programación PHP. Por lo tanto, es el servidor, que tiene instalado un módulo de PHP (por ejemplo Apache), el que interpreta el código PHP que va insertado en la página que se va a enviar al usuario y, una vez ha obtenido los resultados, manda la página final para que la visualice en su navegador. En el siguiente gráfico se puede ver la representación del funcionamiento general del sistema:
- 138 -
PLATAFORMA DOCENTE UNIVERSAL
SERVIDOR WEB CSS
PHP HTML
BASES DE DATOS USUARIO
FIGURA 53 6.5.2
Información de entradas y salidas
En este apartado se definen los nombres de los ficheros que deben utilizarse como entradas del sistema. También se obtiene la lista de salidas de la aplicación, especificando el destino de dichas salidas. Como entradas del sistema se pueden distinguir entre: •
Los datos de cada uno de los usuarios, que se encuentran almacenados en una base de datos dentro del servidor. •
Los diferentes ficheros que conforman la plataforma web, que se encuentran almacenados en un directorio dentro del servidor. •
Los distintos ficheros, que bajo el perfil de usuario profesor, se suben al servidor y que son los recursos de cada curso del portal. Como salidas del sistema se pueden distinguir: - 139 -
PLATAFORMA DOCENTE UNIVERSAL
•
Las distintas páginas web, que son el resultado de que el navegador interprete los ficheros enviados por el servidor. •
Los ficheros de texto, generados por el perfil de usuario profesor, con el listado de alumnos de una clase. •
Los ficheros, que los usuarios profesor, han subido al servidor y que forman parte del temario de cada curso, por lo que pueden ser descargados por los usuarios, tanto alumnos como profesores. 6.5.3
Información sobre el control de operaciones
En este apartado se establecen los procesos a operar. Se determina la estructura de los directorios de la aplicación y las distintas opciones de navegación por parte del administrador, es decir, los distintos accesos que tiene el administrador dentro de la plataforma. La estructura de los directorios es la siguiente: o C:\wamp\www\PROYECTO\: Este es el directorio que contiene la ramificación de los ficheros que componen la aplicación. o C:\wamp\bin\mysql\mysql5.0.45\data\proyecto\: Este directorio es en el que se encuentra la base de datos de la plataforma. o C:\wamp\www\BACKUP\: Este es el directorio en el que se sitúa la copia de seguridad de todos los ficheros del proyecto. Es el encargado de supervisar el ingreso de nuevos usuarios en general, y de dar validez a cada nuevo usuario, cuyo perfil sea el de profesor. También es el encargado de la actualización del portal en lo que tiene que ver a enlaces, apariencia y contenidos. La cuenta administrador tiene acceso a todas las partes - 140 -
PLATAFORMA DOCENTE UNIVERSAL
de la plataforma, ya que es la manera de comprobar la operatividad de todas las páginas y enlaces. 6.5.4
Información sobre seguridad
En este apartado se presenta información sobre la seguridad del sistema. En caso de fallo en el sistema se ha realizado una copia de seguridad de todos los ficheros, que se actualiza diariamente, para que, en caso de surgir algún problema, no se pierda información, o la que se pierda sea la menor posible. Este proceso de backup de la plataforma entera se guarda en una carpeta aparte del resto de la aplicación. - 141 -
PLATAFORMA DOCENTE UNIVERSAL
CAPÍTULO 7: Pruebas e Implantación - 142 -
PLATAFORMA DOCENTE UNIVERSAL
7.1
INTRODUCCIÓN A LAS PRUEBAS E
IMPLANTACIÓN
Una vez se han desarrollado y probado (pruebas unitarias) cada uno de los programas y componentes que forman el software, deben realizarse una serie de pruebas para conseguir integrar todo el sistema. Así, el objetivo será someter al sistema desarrollado y a sus componentes, a una serie de verificaciones encaminadas a garantizar un nivel de fiabilidad aceptable. Si los resultados de estas pruebas son satisfactorios, se procederá a la aceptación de las mismas y a la implantación del sistema, pero en caso contrario habrá que subsanar las anomalías encontradas, y esto quiere decir volver al diseño o a la codificación realizada. Una vez probada la integridad del software de la plataforma se debe especificar la configuración hardware y software necesarias para la puesta en marcha de la aplicación, así como proceder a la implantación de esos programas, para llevar a cabo la explotación del sistema. Cuando se haya implantado el software se ha de proceder a realizar las pruebas de implantación, ya que anteriormente el software no estaba instalado en la máquina final en la que iba a funcionar. Cuando se despliega el software de la aplicación sobre el equipo final se pueden encontrar una serie de fallos de implantación. Pero en este punto ya se ha interactuado con los distintos elementos que existiesen en ese equipo (bases de datos…), así que, para dejar todo como estaba antes de la implantación hay que elaborar una lista con las actividades necesarias para llevar a cabo esa tarea. Esta lista de actividades se llama plan de contingencias. Así pues en esta fase se van a detallar las pruebas a realizar sobre el software, la implantación sobre el equipo final y un plan de contingencias en caso de que la implantación no resulte satisfactoria. - 143 -
PLATAFORMA DOCENTE UNIVERSAL
7.2
PRUEBAS DEL SISTEMA
Se ha de definir un ciclo de pruebas al que se va a someter al software. Este ciclo de pruebas recoge todas las distintas pruebas que se pueden diseñar para el sistema, desde las pruebas de encadenamiento entre programas, hasta las pruebas de sobrecarga del sistema, o las de aceptación por parte del usuario. Para llevar a cabo este ciclo de pruebas se debe establecer un entorno de pruebas apropiado. Este entorno debe tener una arquitectura hardware y software similar al entorno final de producción donde se va a explotar la aplicación. Este entorno de pruebas suele adaptarse y configurarse antes de la realización de cada tipo de prueba, de modo que se consiga simular el entorno final de producción. Las características del entorno de pruebas realizado para el proyecto son: • CARACTERÍSTICAS HARDWARE: El sistema se ha probado bajo un Toshiba Intel Core 2 Duo T7300 4 GHz y 2 GB de memoria RAM. • CARACTERÍSTICAS SOFTWARE: Sistema operativo Windows Vista Home Premium, navegador Mozilla Firefox 2.0.0.16 y el paquete software WampServer 2.0 para la configuración del servidor. - 144 -
PLATAFORMA DOCENTE UNIVERSAL
Una vez establecido el entorno de pruebas hay que definir qué pruebas se van a realizar sobre el software. Las pruebas que se van a efectuar son: • PRUEBAS DE ENCADENAMIENTO: Verifican la llamada entre componentes. • PRUEBAS DE INTEGRACIÓN: Verifican la funcionalidad de todo el sistema integrado y el rendimiento de los recursos utilizados. • PRUEBAS DE EXPLOTABILIDAD: Verifican la correcta operación del sistema. • PRUEBAS DE SEGURIDAD: Verifican los aspectos de seguridad exigidos en los requisitos del sistema. • PRUEBAS DE SOBRECARGA: Verifican el correcto comportamiento del sistema ante estados de estrés en los que se puede ver envuelto. • PRUEBAS DE RECUPERACIÓN: Verifican la capacidad del sistema para recuperar información o ante incidencias anómalas. • PRUEBAS DE REGRESIÓN: Verifican el correcto comportamiento del sistema ante la modificación de alguno de sus componentes. • PRUEBAS DE ACEPTACIÓN DE USUARIO: Certifican, por parte de los usuarios, la funcionalidad y rendimiento del sistema, de acuerdo con los requisitos establecidos. • PRUEBAS DE USABILIDAD: Certifican, por parte de los usuarios, la manejabilidad y amigabilidad del sistema. - 145 -
PLATAFORMA DOCENTE UNIVERSAL
7.2.1
PRUEBAS DE ENCADENAMIENTO
Una vez comprobado el correcto funcionamiento de cada componente software, estas pruebas garantizan la adecuada comunicación entre unos componentes y otros. En la aplicación se han comprobado que todos los enlaces y las posibles rutas de navegación entre páginas sean satisfactorios. Las pruebas de encadenamiento han tenido un resultado exitoso. 7.2.2
PRUEBAS DE INTEGRACIÓN
Una vez verificadas las comunicaciones y llamadas entre programas de la plataforma, se ha de proceder a integrar todos sus componentes: bases de datos, ficheros, programas… La realización de la integración de componentes en el sistema ha resultado satisfactoria. 7.2.3
PRUEBAS DE EXPLOTABILIDAD
Estas son las pruebas encaminadas a determinar la facilidad que ofrece el sistema para su explotación. Para llevarlas a cabo se han ejecutado los procesos periódicos y aperiódicos recogidos en el manual de usuario y, siguiendo las instrucciones sobre registros de usuarios, entradas de datos, salidas de datos y mensajes de error que se pudieran dar en el manejo de la aplicación. - 146 -
PLATAFORMA DOCENTE UNIVERSAL
7.2.4
PRUEBAS DE SEGURIDAD
El sistema tiene incorporado mecanismos de seguridad en cuanto a la accesibilidad del sistema por los distintos perfiles de usuario. Las pruebas de seguridad verifican el correcto funcionamiento del acceso a las bases de datos y se asegura que, mediante usuario y contraseña, cada usuario sea reconocido dentro de su tipología de usuario. 7.2.5
PRUEBAS DE SOBRECARGA
Esta prueba establece, mediante el sometimiento de la plataforma a cargas masivas, cuál es el nivel de sobrecarga máximo que puede soportar el sistema, a partir del cual se hace necesario un escalado de la arquitectura en cuanto a software, hardware y comunicaciones. 7.2.6
PRUEBAS DE RECUPERACIÓN
Estas pruebas verifican el correcto funcionamiento de los procesos diseñados para las posibles pérdidas de información. Es sistema se ha diseñado para que, mediante procesos aperiódicos, se genere una copia de seguridad ante las actualizaciones que pueda sufrir el fichero o base de datos. 7.2.7
PRUEBAS DE REGRESIÓN
Una vez pasadas las pruebas anteriores, en caso de resultar alguna insatisfactoria, se deberá volver al diseño o la programación. Una vez subsanados los errores se deberá volver a testear mediante el ciclo de pruebas, pero hay que tener en cuenta que se han podido cometer nuevos errores en la programación, por lo que se deberán volver a probar de manera individual. - 147 -
PLATAFORMA DOCENTE UNIVERSAL
Estas pruebas sobre lo anteriormente probado son denominadas pruebas de regresión. 7.2.8
PRUEBAS DE ACEPTACIÓN DE USUARIO
Estas pruebas son realizadas por los usuarios, y cumplen con el objetivo de validar el sistema desde el punto de vista funcional y operativo. El usuario para realizar estas prueba debe utilizar el manual de usuario y navegar por las diversas partes de la aplicación. En el proyecto, esta prueba ha sido superada ya que los usuarios han dado su conformidad con la aplicación desarrollada. 7.2.9
PRUEBAS DE USABILIDAD
El objetivo de esta prueba, realizada por el usuario final de la aplicación, es la de verificar la facilidad de uso del sistema que debe manejar. Esta facilidad de uso se refiere al diseño de la interfaz y al manual de usuario. Esta es una de las pruebas más importantes ya que, al ser un portal e‐
learning, cobra especial importancia la facilidad y amigabilidad del interfaz, y es que en este tipo de aplicaciones la parte más importante es la interacción con el usuario. Una vez se han superado todas las pruebas anteriormente descritas se puede dar paso a la implantación final del sistema. Estas pruebas aseguran un correcto funcionamiento de la plataforma y aportan una experiencia para la siguiente fase, que es la de su instalación en el centro final de producción. - 148 -
PLATAFORMA DOCENTE UNIVERSAL
7.3 IMPLANTACIÓN
El objetivo de la implantación es el de elaborar una estrategia para la implantación del software en el sistema final de producción. Para cumplir los objetivos de esta fase se deben especificar las configuraciones hardware y software, las realización de unas pruebas de implantación, que garantizan el correcto funcionamiento de la aplicación, y un plan de contingencias, necesario para abordar el restablecimiento del sistema ante cualquier fallo en todo el proceso de instalación. 7.3.1
CONFIGURACIÓN HARDWARE Y SOFTWARE
En este apartado se deben abordar las adecuadas configuraciones hardware y software ya que el plan de implantación debe ser concebido de acuerdo a las características del sistema donde se va a implantar. Es en esta parte dónde se pretenden establecer las pautas, tanto a nivel de usuario como de programador, para la correcta instalación. También se deberán especificar las herramientas necesarias para que la plataforma funcione correctamente. - 149 -
PLATAFORMA DOCENTE UNIVERSAL
Los elementos básicos de la CONFIGURACIÓN HARDWARE son: SERVIDOR WEB Estación de trabajo:
‐ Ordenador TOSHIBA ‐ Procesador Intel(4 GHz) ‐ Memoria RAM 2 GB ‐ Disco Duro 200 GB BASES DE DATOS USUARIO
FIGURA 54 Según el gráfico anterior, entre los elementos hardware se pueden distinguir: ‐
En la parte del servidor: Un servidor web con acceso a internet y con acceso a una base de datos. ‐
En la parte del cliente: Un equipo dotado con componentes que soporten el desarrollo web. Si el equipo es un cliente web estos requisitos son inferiores: o Para Microsoft Windows: Procesador Intel Pentium 200 MHz, Windows 98, 64 MB de RAM (recomendado 128 MB), monitor en color de 16 bits con capacidad de resolución de 800x600 o superior. - 150 -
PLATAFORMA DOCENTE UNIVERSAL
o Para Macintosh: Power Macintosh, Mac OS 9.1, 64 MB de RAM (recomendado 128 MB), monitor en color de 16 bits con capacidad de resolución de 800x600 o superior. Los elementos básicos de la CONFIGURACIÓN SOFTWARE son: BASES DE DATOS Estación de trabajo:
‐ Microsoft Windows Vista SERVIDOR WEB ‐ Adobe Dreamweaver CS3 Servidor web:
‐ Microsoft Windows NT ‐ Mozilla Firefox ‐ Apache (con módulo de PHP) ‐ MySQL Ficheros:
‐ HTML ‐ PHP ‐ CSS USUARIO FIGURA 55 Según el gráfico anterior, entre los elementos software se pueden distinguir: ‐
En la parte del servidor: Se necesita un software Apache (con un módulo PHP instalado) y MySQL como sistema gestor de bases de datos. Para la realización del proyecto se ha optado por WampServer 2.0, que es un software que instala y configura todos estos elementos para un sistema operativo Windows. - 151 -
PLATAFORMA DOCENTE UNIVERSAL
‐
En la parte del cliente: Un equipo dotado con un sistema operativo Windows y un editor de páginas web como Dreamweaver CS3, que tiene la capacidad de editar ficheros HTML, PHP y CSS. Si el equipo es cliente los requisitos son menores, sólo sería necesario un sistema operativo Microsoft Windows 98 y un navegador Mozilla Firefox 2.0. 7.3.2
PRUEBAS DE IMPLANTACIÓN
Cuando se ha instalado el software de la aplicación, si esta no presenta disconformidades en el proceso, y antes de empezar el proceso de abrirlo a la totalidad de usuarios se han de realizar dos pruebas: La primera tiene como objetivo certificar el correcto funcionamiento de la aplicación compitiendo por recursos de máquina y red. La segunda es la aceptación final del usuario que, mediante el uso de la plataforma en todos sus perfiles, tiene que certificar el correcto funcionamiento del sistema. Después de la superación de estas pruebas, y si no se ha detectado un fallo que haga necesaria la utilización del plan de contingencias, se puede abrir el sistema a todos los usuarios. 7.3.3
PLAN DE CONTINGENCIAS
Al desplegar el software de la aplicación sobre las máquinas finales y realizar las pruebas de implantación, se pueden encontrar una serie de no conformidades graves que hacen inviable o no oportuna la implantación en ese estado. Sin embargo, ya se ha desplegado e instalado el software, incluso es posible que al haber puesto en marcha la plataforma se haya interactuado contra diferentes bases de datos de la propia aplicación. Para dar marcha atrás, - 152 -
PLATAFORMA DOCENTE UNIVERSAL
es necesario dejar el entorno tal como estaba antes de iniciar la implantación. Las actividades que se han de llevar a cabo tienen que ser recogidas en un plan de contingencias. En el caso de este proyecto se pueden encontrar múltiples fallos a la hora de la implantación en el sistema. Para poder dejar el equipo final como estaba antes se deberán seguir los siguientes pasos: 1º.
Desinstalar el software WampServer 2.0, que es el que configura un servidor Apache, con un modulo PHP, y un sistema gestor de bases de datos como es MySQL, para que interactúen entre sí. 2º.
Borrar la carpeta C:\wamp\www\PROYECTO\, que es la que tiene todos los ficheros que conforman el portal. 3º.
Borrar la carpeta que contiene la base de datos utilizada en el proyecto, C:\wamp\bin\mysql\mysql5.0.45\data\proyecto\. 4º.
Borrar la carpeta C:\wamp\www\BACKUP\, que es la carpeta donde se van a guardar las copias de seguridad de los ficheros. 5º.
Reiniciar el sistema operativo sobre el que se esté actuando. Al finalizar todos estos pasos, el sistema sobre el que se estaba realizando la implantación, y que sufrió un fallo, quedará restablecido al mismo estado en el que se encontraba en el momento anterior de iniciar el proceso de implantación del software. - 153 -
PLATAFORMA DOCENTE UNIVERSAL
CAPÍTULO 8: Valoración económica y Planificación - 154 -
PLATAFORMA DOCENTE UNIVERSAL
8.1
VALORACIÓN ECONÓMICA
En esta fase se realiza una valoración económica de los costes tangibles asociados al desarrollo e implantación del sistema. Los costes se analizan y estudian en este apartado son: • Costes de tecnología. • Costes de implantación. • Costes operacionales. COSTES DE TECNOLOGÍA Son los costes que provienen de adquirir los equipos hardware para el correcto funcionamiento del sistema, así como las licencias necesarias para utilizar las herramientas y los distintos lenguajes empleados en el proyecto. Para poder acceder de manera correcta a todas las partes de la aplicación, así como para poder utilizar las distintas plataformas de software, se necesita una estación de trabajo con las características: Intel Core 2 Duo T7300 4 GHz y 2 GB de memoria RAM y un servidor web con las mismas capacidades. Las necesidades software de la estación de trabajo para el desarrollo de la aplicación web son: MS Windows Vista Home Premium, MS Office Professional 2007, Adobe Dreamweaver CS3, Wampserver 2.0 y Mozilla Firefox 2.0. Las conexiones a Internet deben ser lo suficientemente buenas como para que la aplicación se ejecute de manera eficiente y para que se puedan llevar a cabo todas las funcionalidades que en ella están recogidas. - 155 -
PLATAFORMA DOCENTE UNIVERSAL
ELEMENTO
IMPORTE Estación de trabajo 1500 € Servidor web 1500 € MS Windows Vista 338,90 € MS Office Professional 2007 614,14 € Adobe Dreamweaver CS3 555,90 € Wampserver 2.0 0 € Mozilla Firefox 2.0 0 € ADSL 30 €/mes TOTAL
6.068,94 € - 156 -
PLATAFORMA DOCENTE UNIVERSAL
COSTES DE IMPLANTACIÓN Los costes de implantación son los costes ligados al desarrollo, a la implantación y al personal involucrado en el proyecto. FUNCIÓN Nº HORAS
COSTE/HORA COSTE
Programador 200 50 € 10.000 € Analista 225 60 € 13.500 € Jefe de Proyecto 50 75 € 3.750 € TOTAL 27.250 €
- 157 -
PLATAFORMA DOCENTE UNIVERSAL
COSTES OPERACIONALES Son los costes relacionados con la explotación y el mantenimiento del sistema. Se estima que los costes de manipulación y control de toda la plataforma junto con los costes del mantenimiento de las instalaciones, que consiste en tener el servidor en constante funcionamiento ascienden a euros al año. FUNCIÓN
Nº HORAS
Mantenimiento instalación 8760 0,5 € 4.380 € 40 40 € 1.600 € TOTAL 5.980 €
Administrador COSTE/HORA COSTE
COSTES TOTALES Por lo tanto los costes totales de la realización del proyecto son: CONCEPTO
Costes de tecnología IMPORTE 6.068,94 € Costes de implantación 27.250 € Costes operacionales 5.980 € TOTAL 39.298,94 € - 158 -
PLATAFORMA DOCENTE UNIVERSAL
8.2
PLANIFICACIÓN DEL PROYECTO
En esta etapa se va a exponer la planificación temporal que se ha hecho de cada una de las fases seguidas para la realización del proyecto. Las fases que se han seguido para completar el proyecto son: INTRODUCCIÓN En esta fase se definieron los antecedentes de la aplicación, así como las innovaciones planteadas. La duración de esta etapa fue: 05/11/2007 - 12/11/2007
lunes
martes
miércoles
jueves
viernes
sábado
domingo
noviembre 5
6
7
8
9
10
11
12
13
14
15
16
17
18
- 159 -
PLATAFORMA DOCENTE UNIVERSAL
IDENTIFICACIÓN DE NECESIDADES En esta fase se establecen los objetivos y el alcance de la aplicación, la tipología de usuarios y la metodología que se va a seguir en el proyecto. La duración de esta etapa fue: 12/11/2007 - 26/11/2007
lunes
martes
miércoles
jueves
viernes
sábado
domingo
noviembre 12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
diciembre 1
2
- 160 -
PLATAFORMA DOCENTE UNIVERSAL
ANÁLISIS DE REQUISITOS En esta fase se busca el reconocimiento del problema, la creación de una lista de requisitos y la evaluación y síntesis de los requisitos aceptados. La duración de esta etapa fue: 26/11/2007 - 17/12/2007
lunes
martes
miércoles
jueves
viernes
sábado
domingo
noviembre 26
27
28
29
30
diciembre 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
- 161 -
PLATAFORMA DOCENTE UNIVERSAL
ESTUDIO DE LA ARQUITECTURA En esta fase se estudian las distintas arquitecturas software y hardware que pueden ser utilizadas en la plataforma. También se ha de elegir la mejor de todas ellas y adoptarla en el proyecto. La duración de esta etapa fue: 17/12/2007 - 14/01/2008
lunes
martes
miércoles
jueves
viernes
sábado
domingo
diciembre 17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
enero 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
- 162 -
PLATAFORMA DOCENTE UNIVERSAL
DISEÑO En esta fase se realiza un modelo específico de toda la aplicación, para poder plasmar este diseño en la programación de la plataforma. La duración de esta etapa fue: 14/01/2008 - 31/01/2008
lunes
martes
miércoles
jueves
viernes
sábado
domingo
enero 14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
febrero 1
2
3
febrero de 2008
l
4
m
5
m
6
j
7
v
s
d
1
2
3
8
9
10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29
- 163 -
PLATAFORMA DOCENTE UNIVERSAL
DESARROLLO TÉCNICO En esta fase se pretende alcanzar la transformación del sistema en un conjunto de programas que puedan ser ejecutados correctamente bajo criterios de calidad La duración de esta etapa fue: marzo de 2008
l
3
m
4
m
5
j
6
v
7
s
d
1
2
8
9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
abril de 2008
l
7
m
m
j
v
s
d
1
2
3
4
5
6
8
9
10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
mayo de 2008
l
5
m
6
m
7
j
v
s
d
1
2
3
4
8
9
10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
- 164 -
PLATAFORMA DOCENTE UNIVERSAL
PRUEBAS E IMPLANTACIÓN En esta fase se pretende realizar un ciclo de pruebas sobre el sistema, que garanticen un nivel de fiabilidad adecuado. Otro punto que se cubre es la puesta en marcha de todo el sistema para su explotación. La duración de esta etapa fue: julio de 2008
l
7
m
m
j
v
s
d
1
2
3
4
5
6
8
9
10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
- 165 -
PLATAFORMA DOCENTE UNIVERSAL
VALORACIÓN ECONÓMICA Y DOCUMENTACIÓN En esta fase se realiza una estimación económica de los costes reales del sistema. Igualmente, se procede a dar el formato adecuado a la documentación del proyecto. La duración de esta etapa fue: 25/08/2008 - 01/09/2008
lunes
martes
miércoles
jueves
viernes
sábado
domingo
agosto 25
26
27
28
29
30
31
septiembre 1
2
3
4
5
6
7
- 166 -
PLATAFORMA DOCENTE UNIVERSAL
CAPÍTULO 9: Conclusiones y Estudios futuros
- 167 -
PLATAFORMA DOCENTE UNIVERSAL
En esta última parte del proyecto, el autor, describe sus conclusiones sobre el proyecto, es decir, sobre la metodología utilizada y los resultados obtenidos. El proyecto consiste en el diseño e implementación de un portal web educativo. La plataforma web tiene las características de ser personalizado para cada usuario y tener funcionalidades que lo dotan de gran interactividad, tanto para los usuarios entre sí, como para los usuarios con la aplicación. El desarrollo de este proyecto ha supuesto un gran desafío para el autor en multitud de aspectos. Para empezar se trata de una aplicación web y no se tenían conocimientos previos ni de diseño ni de desarrollo web. Este tipo de desarrollos es muy habitual hoy en día, por lo que un factor determinante a la hora de la elección de un proyecto ha sido el poder ampliar los conocimientos sobre el tema. Para la implementación del proyecto se han adquirido conocimientos de lenguajes y tecnologías web muy variadas, con lo que se han cubierto ciertas lagunas que existían en aspectos que hoy en día son fundamentales porque tienen que ver con Internet. Uno de los primeros pasos fue estudiar muchas de las tecnologías web del mercado ya que, sin tener conceptos de ninguna previamente, había que elegir una que se adaptase a lo que se pretendía en el proyecto, a la vez que su curva de aprendizaje fuese acorde al tiempo que se tenía para la realización de todo el proyecto. Se ha optado por el lenguaje de programación DHTML en el lado del cliente porque es un compendio de tecnologías gratuitas que aportan dinamismo e interactividad en las páginas web. Otro punto que ha influido en la elección de DHTML ha sido que puede ser indexado y optimizado por los diferentes motores de búsqueda, cosa que es muy importante para una plataforma docente. Para el lado del servidor se ha optado por PHP porque es un lenguaje muy potente que permite el manejo - 168 -
PLATAFORMA DOCENTE UNIVERSAL
datos a través de los sistemas gestores de bases de datos, entre otros MySQL, que es el elegido en la implementación de la plataforma, y cumple con que es un sistema gestor gratuito, requisito importante en todo el proyecto. Este requisito también se ha considerado importante en la elección de PHP ya que pertenece al software libre y, además de ser gratuito, tiene detrás muchas páginas y foros con soporte y ayuda sobre dicho lenguaje. Otro de los aspectos que han sido importantes para el autor ha sido reto de gestionar un proyecto desde el inicio hasta el final, eligiendo la metodología que más se adaptaba al proyecto y siguiéndola, en unas fechas también impuestas por el autor, hasta haber completado todo el sistema. Esta gestión integral ha sido una de las cosas más interesantes de acometer un proyecto de estas dimensiones. Como futuras líneas de trabajo con respecto a lo que son portales de e‐
learning hay muchísimas opciones. En el caso de este proyecto se ha pretendido la mejora en interactividad y personalización de la aplicación, y por ahí se puede seguir estudiando. Por ejemplo, se podría crear un foro que fuese personalizado para cada usuario, o dotar de mayores funcionalidades docentes, como seguimiento de los alumnos por parte de los profesores, a la plataforma. Por lo tanto, en este campo las posibilidades de mejorar, en el futuro, las actuales aplicaciones educativas por internet son infinitas, con lo que se podrá seguir personalizando este tipo de plataformas para cada uno de los usuarios que las necesiten. - 169 -
PLATAFORMA DOCENTE UNIVERSAL
CAPÍTULO 10: Bibliografía - 170 -
PLATAFORMA DOCENTE UNIVERSAL
La siguiente relación de libros incluye el material de consulta que se ha utilizado para la realización de este proyecto. Están listados por medio de unas referencias, que se componen de cuatro letras y dos cifras. Las letras indican el autor, siendo las cuatro primeras letras del primer apellido. Las cifras son los dos últimos dígitos del año de publicación. Al final de la bibliografía se indican unos enlaces web de interés, por su utilidad en diversas partes del proyecto. La relación de libros es la siguiente: [CRAN07] Cranford Teague, Jason; “CSS, DHTML y AJAX”, Anaya, 2007. [YORK06] York, Richard; “CSS Práctico”, Anaya, 2006. [GOOD07] Goodman, Danny; “JavaScript y DHTML”, Anaya, 2007. [QUIG07] Quigley, Ellie y Gargenta, Marko; “PHP y MySQL Práctico para diseñadores y programadores web”, Anaya, 2007. [PAVO07] Pavón Puertas, Jacobo; “Creación de un portal con PHP y MySQL”, Ra‐Ma, 2007. [BARR01] Barranco de Areba, Jesús; “Metodología del análisis estructurado de sistemas”, UPCO, 2001. La relación de direcciones de internet es la siguiente: http://www.chuidiang.com/chuwiki/index.php?title=Portada http://www.desarrolloweb.com/manuales/12/ - 171 -
PLATAFORMA DOCENTE UNIVERSAL
http://www.todoexpertos.com/categorias/tecnologia‐e‐internet/desarrollo‐de‐
sitios‐web/php/respuestas/873397/almacenar‐textos‐identicos‐en‐mysql http://www.tufuncion.com/login_autentificacion_php http://www.forosdelweb.com/f18/paginas‐privadas‐solo‐visibles‐si‐estas‐
conectado‐562219/ http://www.forosdelweb.com/f18/subir‐bajar‐ficheros‐147963/ - 172 -
PLATAFORMA DOCENTE UNIVERSAL
Anexo A:
Guía de instalación - 173 -
PLATAFORMA DOCENTE UNIVERSAL
En este anexo se detallan los pasos que habría que seguir para lograr instalar el software necesario para la explotación del proyecto. El software que se requiere en el servidor web es el siguiente: un sistema operativo, un software servidor HTTP con un módulo para ejecutar PHP, el sistema gestor de bases de datos MySQL. Dentro de dichas especificaciones se encuentran muchísimas opciones de instalación de software y cada cliente podrá elegir la que más se adecúe a sus posibilidades. Para la realización del proyecto se ha elegido el paquete de software WampServer 2.0, que aúna todas estas características descritas anteriormente. WampServer 2.0 es un paquete software que integra todos estos requisitos ya que funciona bajo un sistema operativo MS Windows y dota al sistema de un software Apache, que es un software servidor HTTP, dotado de un módulo de PHP y de MySQL como gestor de bases de datos. A continuación se expone la guía de instalación de este programa que consigue que un equipo funcione como un servidor web, acorde a las características necesarias para el proyecto: - 174 -
PLATAFORMA DOCENTE UNIVERSAL
1º.
Descargarse el ejecutable del programa: El primer paso será acceder a la página web de la compañía que lo ha desarrollado y descargarlo en el equipo. La dirección para descargar el ejecutable es: http://www.wampserver.com/en/download.php - 175 -
PLATAFORMA DOCENTE UNIVERSAL
2º.
Instalar el software: El segundo paso será instalar el programa que se acaba de descargar en el equipo. Para ello se siguen todos los pasos que indica el asistente: - 176 -
PLATAFORMA DOCENTE UNIVERSAL
Un paso importante es determinar el directorio en donde se quiere que se instale el programa. Este directorio va a contener los distintos ficheros que componen el paquete WampServer 2.0, es decir, los ficheros de Apache, los de PHP y los de MySQL entre otros. Este directorio será, igualmente, en el que, por defecto, haya que almacenar los ficheros de los desarrollos, ya que será el repositorio de ficheros del servidor Apache que se quiere instalar. - 177 -
PLATAFORMA DOCENTE UNIVERSAL
3º.
Elegir el navegador por defecto: Para abrir el servidor desde la aplicación WampServer hace falta elegir el navegador predeterminado que se va a utilizar. En el caso del proyecto Mozilla Firefox. - 178 -
PLATAFORMA DOCENTE UNIVERSAL
Antes de terminar la instalación se puede indicar el servidor de SMTP que se tiene instalado. Esto sirve para las distintas funciones de correo que se lleven a cabo desde las aplicaciones, que se estén ejecutando en el servidor. En el caso de este paquete, se tiene que especificar el servidor SMTP, para el uso de la función mail() de PHP, que es la que lleva a cabo estas funciones de correo. Si no se dispone de ninguno se deja el que viene por defecto - 179 -
PLATAFORMA DOCENTE UNIVERSAL
4º.
Ejecutar la aplicación: Una vez se ha instalado el programa, se procede a ejecutarlo. Lo primero de todo es pinchar en el icono de la aplicación. Con esto se inician todos los servicios del servidor de http. Una vez se ha iniciado la aplicación saldrá en la barra de tareas un icono. Pinchando con el botón izquierdo se accede a todas las funciones y aplicaciones que se han instalado con el paquete WampServer 2.0. - 180 -
PLATAFORMA DOCENTE UNIVERSAL
5º.
Acceder al servidor: Cuando se tiene arrancado el servidor se puede acceder a la página inicial del servidor si se elige la opción Localhost. Esto lleva a la página desde la cual se puede acceder a las diferentes opciones de configuración y a todos los proyectos que estén almacenados. - 181 -
PLATAFORMA DOCENTE UNIVERSAL
6º.
Acceder a los proyectos: Desde la página principal de la aplicación se puede acceder a los diferentes proyectos. Estos proyectos deben ser almacenados en un directorio específico. Este directorio es www, que se encuentra alojado dentro del directorio donde se instaló WampServer 2.0, en este caso C:\wamp\. Cada proyecto debe ir en un directorio aparte dentro de C:\wamp\www\. Si esto se hace así, para acceder al proyecto lo único que habrá que hacer es entrar en Localhost y buscar el proyecto para ver los ficheros que contiene. Dentro de las funciones del servidor Apache se puede configurar que dependiendo de por qué puerto se acceda al servidor se lance una página u otra. - 182 -
PLATAFORMA DOCENTE UNIVERSAL
- 183 -
Was this manual useful for you? yes no
Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Download PDF

advertising