Professional Documents
Culture Documents
Abstract
Abstract
Este proyecto tiene como objetivo desarrollar una solucin a medida para gestionar diferentes recursos humanos del Grup de Recerca en Sistemas Intel.ligents (GRSI) de 'Enginyeria i Arquitectura La Salle' de la Universidad Ramon Llull. Con el objetivo de facilitar el acceso a la aplicacin por parte de todos los miembros, se proponer una aplicacin de arquitectura cliente-servidor a travs de la web. Se abarcan cuatro fases del ciclo de vida en cascada: anlisis de requisitos, diseo, implementacin y puesta en explotacin, adems de todas las pruebas y la documentacin necesaria. Para todo ello, se hace un estudio de las diferentes metodologas y tecnologas a fin de conseguir una solucin robusta, fiable, segura y usable.
Resumen
Resumen
El objetivo de este proyecto es el de crear una aplicacin web segura, fiable y fcil de utilizar que permita gestionar los recursos humanos del GRSI de la universidad 'Enginyeria i Arquitectura La Salle'. Para su desarrollo se ha empleado un ciclo de vida en cascada. En su primera fase, anlisis de requisitos funcionales, se han obtenido las necesidades del cliente para poder definir los requerimientos de la aplicacin. A continuacin, se ha realizado un estudio, eleccin y documentacin exhaustiva sobre las tecnologas necesarias, para as obtener los mejores resultados de una forma ptima. Posteriormente se prosigue a realizar el diseo ntegro de las bases de datos y funcionalidades necesarias para la aplicacin. ste se ha realizado siguiendo la metodologa UML (lenguaje unificado de modelado) que ha permitido seguir un estndar. Para las bases de datos se han utilizado los diagramas Entidad-Relacin y para las funcionalidades la combinacin de los DFD (diagramas de flujos de estado) y diagramas WAE (extensin de UML para aplicaciones web), con lo que se consigue proporcionar una definicin clara y completa de la aplicacin. La siguiente fase consiste en el desarrollo de todas las funcionalidades del sistema. Para ello se han utilizado los diagramas diseados en la fase anterior. De forma paralela, se han realizado las pruebas unitarias, de interfaz y de sistema que han permitido verificar que los resultados obtenidos eran los esperados por el cliente. Por ltimo, se encuentra la puesta en explotacin del sistema en el que se instala la aplicacin web en los servidores del CSI (centro de seguridad informtica) y se inicializan todos los datos necesarios para hacer la migracin al nuevo sistema. Durante todo el ciclo de vida, se ha ido realizado una documentacin exhaustiva y minuciosa de todos los detalles a tener en cuenta para mayor entendimiento y facilitar un posterior mantenimiento. Para finalizar, se han desarrollado manuales de la aplicacin que pueden encontrarse en el anexo de la memoria.
ndice general
ndice general
1.- INTRODUCCIN ..................................................................................................... 1 1.1.- EL CLIENTE ............................................................................................................ 1 1.2.- EL PROYECTO ........................................................................................................ 2 2.- ANLISIS .................................................................................................................. 5 2.1.- ESPECIFICACIN DE REQUERIMIENTOS ................................................................... 5 2.1.1.- Mdulo de gestin de usuarios...................................................................... 6 2.1.2.- Mdulo de gestin de proyectos .................................................................... 7 2.1.3.- Mdulo de gestin de trabajos ...................................................................... 8 2.2.- ESTUDIO DE LAS TECNOLOGAS.............................................................................. 9 2.2.1.- Desarrollo mediante paquetes..................................................................... 13 2.2.2.- Solucin hecha a medida............................................................................. 14 2.3.- METODOLOGA UTILIZADA .................................................................................. 17 3.- DISEO.................................................................................................................... 21 3.1.- BASES DE DATOS .................................................................................................. 21 3.1.1.- Tabla Personas............................................................................................ 22 3.1.2.- Tabla Proyectos........................................................................................... 24 3.1.3.- Tabla Areas ................................................................................................. 25 3.1.4.- Tabla Asignaturas ....................................................................................... 26 3.1.5.- Tabla Categoria........................................................................................... 26 3.1.6.- Tabla Requisitos .......................................................................................... 27 3.1.7.- Tabla Operaciones ...................................................................................... 27 3.1.8.- Tabla Idiomas.............................................................................................. 28 3.1.9.- Otras Tablas ................................................................................................ 29
3.1.9.1.- Tabla Personas_Areas ......................................................................................29 3.1.9.2.- Tabla Notas ......................................................................................................29 3.1.9.3.- Tabla Personas_Categoria ................................................................................30 3.1.9.4.- Tabla Permisos .................................................................................................30 3.1.9.5.- Tabla Proyectos_Requisitos .............................................................................31 3.1.9.6.- Tabla Personas_Proyectos................................................................................31
ndice general
4.- DESARROLLO ....................................................................................................... 96 4.1.- PROCESO DE IMPLEMENTACIN ........................................................................... 96 4.2.- CONSIDERACIONES GENERALES ......................................................................... 100 4.2.1.- Archivo de configuracin .......................................................................... 100 4.2.2.- Variables de sesin.................................................................................... 105 4.3.- SISTEMA DE INFORMACIN ................................................................................ 107 4.3.1.- Sentencias de creacin .............................................................................. 107 4.3.2.- Sentencias de inicializacin ...................................................................... 111 4.4.- SEGURIDAD EN EL SISTEMA ................................................................................ 116 4.4.1.- Inicio de sesin .......................................................................................... 117 4.4.2.- Mdulo de seguridad................................................................................. 120 4.4.3.- HTTPS ....................................................................................................... 122 4.4.4.- Formularios............................................................................................... 122 4.5.- SOPORTE PARA VARIOS IDIOMAS ........................................................................ 123 4.6.- FUNCIONALIDADES ............................................................................................ 125 4.6.1.- Operaciones de usuarios ........................................................................... 125 4.6.2.- Operaciones de proyectos ......................................................................... 127 4.6.3.- Operaciones de trabajos............................................................................ 130 4.6.4.- Operaciones de gestin ............................................................................. 132 4.6.5.- Otras operaciones ..................................................................................... 134 5.- IMPLANTACIN ................................................................................................. 136
ndice general
5.1.- INSTALACIN DE LA APLICACIN WEB ............................................................... 136 5.2.- INICIALIZACIN DEL SISTEMA ............................................................................ 138 6.- ESTUDIO ECONMICO .................................................................................... 140 6.1.- COSTES HARDWARE ........................................................................................... 140 6.2.- COSTES SOFTWARE ............................................................................................ 140 6.3.- RECURSOS HUMANOS ......................................................................................... 141 6.3.1.- Distribucin en fases ................................................................................. 141 6.3.2.- Costes de personal..................................................................................... 145 7.- CONCLUSIONES Y LNEAS FUTURAS ......................................................... 147 7.1.- BENEFICIOS DEL PROYECTO ............................................................................... 147 7.2.- CONCLUSIONES .................................................................................................. 150 7.3.- LNEAS DE FUTURO ............................................................................................ 152 BIBLIOGRAFA ........................................................................................................ 154 ANEXO - MANUALES.............................................................................................. 156 A.1.- MANUAL DE ADMINISTRADOR .......................................................................... 156 A.1.1.- Puesta a punto........................................................................................... 156
A.1.1.1.- Situacin inicial.............................................................................................156 A.1.1.2.- Configuracin................................................................................................159
ndice general
A.3.- MANUAL DE COLABORADOR ............................................................................. 185 A.3.1.- Registro ..................................................................................................... 185 A.3.2.- Acceso al sistema ...................................................................................... 186 A.3.3.- Operaciones sobre proyectos.................................................................... 186
A.3.3.1.- Solicitar proyectos.........................................................................................186 A.3.3.2.- Proponer un proyecto ....................................................................................187
A.4.- MANUAL DE PROGRAMADOR: ADAPTACIN DE MDULOS ................................ 192 A.4.1.- Variables de sesin ................................................................................... 192 A.4.2.- Mdulo de seguridad ................................................................................ 193 A.4.3.- Soporte para varios idiomas ..................................................................... 195 A.4.4.- Utilizar archivo de configuracin............................................................. 197 A.4.5.- Ejemplo prctico: mdulos de noticias y publicaciones........................... 199
ndice de figuras
ndice de figuras
Figura 2.1.- Componentes de la comunicacin............................................................... 18 Figura 2.2.- Ciclo de vida del proyecto........................................................................... 20 Figura 3.1.- Diagrama Entidad-Relacin de la base de datos ......................................... 22 Figura 3.2.- DFD de Nivel 0 - La aplicacin web .......................................................... 33 Figura 3.3.- DFD de Nivel 1 Operaciones de usuarios ................................................ 35 Figura 3.4.- DFD de Nivel 2 Entrada al sistema.......................................................... 36 Figura 3.5.- DFD de Nivel 2 Formularios de usuarios ................................................ 38 Figura 3.6.- DFD de Nivel 2 Muestra informaciones .................................................. 40 Figura 3.7.- DFD de Nivel 1 Operaciones de proyectos.............................................. 43 Figura 3.8.- DFD de Nivel 2 Lista de proyectos solicitados........................................ 44 Figura 3.9.- DFD de Nivel 2 Formularios de proyectos .............................................. 45 Figura 3.10.- DFD de Nivel 2 Lista de proyectos libres.............................................. 47 Figura 3.11.- DFD de Nivel 1 Operaciones de trabajos............................................... 48 Figura 3.12.- DFD de Nivel 2 Lista de trabajos solicitados ........................................ 49 Figura 3.13.- DFD de Nivel 2 Formularios de trabajos ............................................... 50 Figura 3.14.- DFD de Nivel 2 Lista de trabajos libres................................................. 52 Figura 3.15.- DFD de Nivel 1 Operaciones de gestin................................................ 53 Figura 3.16.- DFD de Nivel 1 Otras operaciones ........................................................ 56 Figura 3.17.- DFD de Nivel 2 Correo .......................................................................... 57 Figura 3.18.- WAE Registrar usuario .......................................................................... 65 Figura 3.19.- WAE Validacin de usuario .................................................................. 66 Figura 3.20.- WAE Insertar usuario............................................................................. 67 Figura 3.21.- WAE Consultar usuario ......................................................................... 68 Figura 3.22.- WAE Eliminar usuario........................................................................... 69 Figura 3.23.- WAE Modificar usuario......................................................................... 70 Figura 3.24.- WAE Aceptacin de alta........................................................................ 71 Figura 3.25.- WAE Rechazo de alta ............................................................................ 72 Figura 3.26.- WAE Registrar proyecto ........................................................................ 73 Figura 3.27.- WAE Consultar proyecto ....................................................................... 74 Figura 3.28.- WAE Eliminar proyecto......................................................................... 75 Figura 3.29.- WAE Modificar proyecto....................................................................... 76
ndice de figuras
Figura 3.30.- WAE Proponer proyecto ........................................................................ 77 Figura 3.31.- WAE Asignar proyectos ........................................................................ 78 Figura 3.32.- WAE Solicitar proyecto ......................................................................... 79 Figura 3.33.- WAE Registrar trabajo........................................................................... 80 Figura 3.34.- WAE Consultar trabajo .......................................................................... 81 Figura 3.35.- WAE Eliminar trabajo ........................................................................... 82 Figura 3.36.- WAE Modificar trabajo ......................................................................... 83 Figura 3.37.- WAE Proponer trabajo........................................................................... 84 Figura 3.38.- WAE Asignar trabajos ........................................................................... 85 Figura 3.39.- WAE Solicitar trabajo ............................................................................ 86 Figura 3.40.- WAE Insertar rea.................................................................................. 88 Figura 3.41.- WAE Eliminar rea ................................................................................ 88 Figura 3.42.- WAE Modificar rea .............................................................................. 89 Figura 3.43.- WAE Formulario de insercin de operacin.......................................... 90 Figura 3.44.- WAE Formulario de modificacin de operacin ................................... 91 Figura 3.45.- WAE Formulario de insercin de contenido.......................................... 91 Figura 3.46.- WAE Formulario de modificacin de contenido ................................... 92 Figura 3.47.- WAE Gestin permisos.......................................................................... 92 Figura 3.48.- WAE Adoptar usuario............................................................................ 93 Figura 3.49.- WAE Datos personales .......................................................................... 94 Figura 3.50.- WAE Enviar correo................................................................................ 95 Figura 4.1.- Fases del desarrollo ..................................................................................... 98 Figura 4.2.- Protocolo para validar el inicio de sesin ................................................. 119 Figura 4.3.- Protocolo de validacin del mdulo de seguridad .................................... 121 Figura 6.1.- Dedicacin de horas por fases................................................................... 144 Figura 6.2.- Dedicacin de horas por empleados.......................................................... 146 Figura A.1.- Captura de la pgina de acceso ................................................................ 186
ndice de tablas
ndice de tablas
Tabla 2.1.- Estudio de paquetes ...................................................................................... 13 Tabla 2.2.- Estudio de lenguajes ..................................................................................... 15 Tabla 3.1.- Atributos de la tabla Personas ...................................................................... 24 Tabla 3.2.- Atributos de la tabla Proyectos..................................................................... 25 Tabla 3.3.- Atributos de la tabla Areas ........................................................................... 25 Tabla 3.4.- Atributos de la tabla Asignaturas ................................................................. 26 Tabla 3.5.- Atributos de la tabla Categoria ..................................................................... 26 Tabla 3.6.- Atributos de la tabla Requisitos.................................................................... 27 Tabla 3.7.- Atributos de la tabla Operaciones ................................................................ 28 Tabla 3.8.- Atributos de la tabla Idiomas........................................................................ 28 Tabla 3.9.- Atributos de la tabla Personas_Areas ........................................................... 29 Tabla 3.10.- Atributos de la tabla Notas ......................................................................... 30 Tabla 3.11.- Atributos de la tabla Personas_Categoria................................................... 30 Tabla 3.12.- Atributos de la tabla Permisos.................................................................... 31 Tabla 3.13.- Atributos de la tabla Proyectos_Requisitos................................................ 31 Tabla 3.14.- Atributos de la tabla Personas_Proyectos................................................... 32 Tabla 3.15.- Atributos y restricciones de los formularios............................................... 64 Tabla 4.1.- Fases del desarrollo ...................................................................................... 99 Tabla 4.2.- Atributos del archivo de configuracin ...................................................... 104 Tabla 4.3.- Variables de sesin ..................................................................................... 106 Tabla 4.4.- Sentencias SQL para la creacin de la base de datos ................................. 110 Tabla 4.5.- Sentencias SQL para la inicializacin de la base de datos ......................... 116 Tabla 4.6.- Inicializacin de las variables de sesin..................................................... 120 Tabla 4.7.- Estudio de las alternativas para soportar varios idiomas............................ 124 Tabla 4.8.- Operaciones de usuario .............................................................................. 127 Tabla 4.9.- Operaciones de proyectos........................................................................... 129 Tabla 4.10.- Operaciones de trabajos............................................................................ 132 Tabla 4.11.- Operaciones de gestin............................................................................. 134 Tabla 4.12.- Otras operaciones ..................................................................................... 135 Tabla 5.1.- Archivos y carpetas de la instalacin ......................................................... 138 Tabla 6.1.- Relacin de costes software........................................................................ 141
ndice de tablas
Tabla 6.2.- Dedicacin de horas en la fase de anlisis de requerimientos.................... 141 Tabla 6.3.- Dedicacin de horas en la fase de diseo ................................................... 142 Tabla 6.4.- Dedicacin de horas en la fase de implementacin.................................... 143 Tabla 6.5.- Dedicacin de horas en la fase de pruebas ................................................. 143 Tabla 6.6.- Dedicacin de horas en la fase de implantacin......................................... 143 Tabla 6.7.- Dedicacin de horas en la fase de documentacin ..................................... 144 Tabla A.1.- Parmetros de configuracion.conf ............................................................. 160 Tabla A.2.- Campos de formulario para insertar un usuario......................................... 162 Tabla A.3.- Campos de formulario para insertar un rea.............................................. 163 Tabla A.4.- Campos de formulario para insertar una asignatura .................................. 164 Tabla A.5.- Campos de formulario para insertar un requisito ...................................... 165 Tabla A.6.- Campos de formulario para insertar un contenido..................................... 166 Tabla A.7.- Campos de formulario para insertar una categora.................................... 167 Tabla A.8.- Campos de formulario para insertar una operacin................................... 169 Tabla A.9.- Campos de formulario para insertar un usuario......................................... 172 Tabla A.10.- Criterios de consulta de usuarios ............................................................. 173 Tabla A.11.- Detalles del formulario de modificacin de usuario................................ 174 Tabla A.12.- Campos de formulario para registrar un proyecto ................................... 176 Tabla A.13.- Funcionalidades de la asignacin de proyectos....................................... 177 Tabla A.14.- Criterios de consulta de proyectos........................................................... 178 Tabla A.15.- Detalles del formulario de la modificacin de proyectos ........................ 179 Tabla A.16.- Campos del formulario para registrar un trabajo..................................... 181 Tabla A.17.- Funcionalidades de la asignacin de trabajos.......................................... 182 Tabla A.18.- Criterios de consulta de trabajos.............................................................. 182 Tabla A.19.- Detalles del formulario de la modificacin de trabajos........................... 184 Tabla A.20.- Campos del formulario para proponer un proyecto................................. 188 Tabla A.21.- Campos del formulario para proponer un trabajo.................................... 189 Tabla A.22.- Variables de sesin utilizadas en la aplicacin........................................ 193 Tabla A.23.- Parmetros del archivo de configuracin ................................................ 198 Tabla A.24.- Campos y valores de la insercin de un contenido.................................. 203
Captulo 1 - Introduccin
1.- Introduccin
1.1.- El cliente
El cliente de este proyecto es el Grup de Recerca en Sistemas Intel.ligents de 'Enginyeria i Arquitectura La Salle' de la Universidad Ramon Llull. Antes de la implantacin, la gestin de sus recursos era lenta y costosa en personal. Tareas que se realizan de forma peridica como son la asignacin de proyectos, registro de nuevos colaboradores, proposicin de nuevos trabajos, requeran que los profesores y alumnos establecieran una va de comunicacin directa en el que el proceso resultaba lento y confuso. Adems, la gestin de todos sus recursos tal como los usuarios, trabajos y proyectos, y las relaciones que surgen entre ellos resultaba bastante engorroso. Gracias a este proyecto se consigue informatizar toda la gestin de los recursos humanos del GRSI y automatizar las tareas que se hacen de manera peridica. Se ofrece al cliente una aplicacin web con la que se consigue dar un espacio privado a cada uno de los componentes del GRSI, con su correspondiente nivel de acceso y sus propias preferencias, donde podrn realizar todas las operaciones que se le permitan. Este proyecto se adapta a la situacin inicial del cliente y consigue mantener su jerarqua de usuarios en un sistema seguro, estable y eficiente. Adems de las operaciones bsicas de gestin, a travs de una interfaz muy intuitiva, se ofrece al usuario la posibilidad de envo de correos electrnicos, escoger el idioma en el que se le mostrar la informacin y un sin fin de nuevas funciones que, gracias a la facilidad que ofrece la aplicacin web para expandirse y agregar funcionalidades, garantizan un dinamismo constante de la aplicacin adaptndose a las necesidades que vayan surgiendo en el da a da.
Captulo 1 - Introduccin
1.2.- El proyecto
La gran revolucin a lo largo de la historia de la informtica y de las comunicaciones es, sin duda alguna, la aparicin de Internet. Con ella cambi la lgica interna de muchas empresas y el modo de enfrentarse al mundo de los negocios. En sus orgenes slo existan pginas estticas, documentos, que se podan consultar y descargar, pero ms tarde aparecieron las primeras aplicaciones web, que permiten generar pginas dinmicas prestando diferentes servicios. Sus principales ventajas vienen determinadas por la conectividad de cualquier usuario remoto y las facilidades para actualizar y mantener la aplicacin sin necesidad de distribuir e instalar software en miles de potenciales clientes. Este proyecto trata de solucionar todas las necesidades de recursos humanos del Grup de Recerca en Sistemas Intel.ligents (GRSI), y para ello, se recurre al desarrollo de una aplicacin web con la que se facilita la gestin remota de los recursos. Para entender este proyecto, es muy importante tener presente cuales son los principales recursos: Usuarios o componentes del GRSI: profesores, colaboradores, becarios todos los usuarios potenciales de la aplicacin y que de alguna manera estn relacionados con el GRSI. Proyectos: en los que se encuentran los trabajos y proyectos finales de carrera (TFC y PFC) que se llevan a cabo en el GRSI. Trabajos: representan todas aquellas colaboraciones que recibe el GRSI a travs de sus componentes. Resulta evidente que gestionar estos recursos no se reduce nicamente a consultar, modificar, insertar y eliminar, sino que tambin existen una serie de relaciones entre ellos que se han de poder controlar, tales como las solicitudes de proyectos, sus posteriores asignaciones, las propuestas de trabajos No obstante, para poder automatizar todas estas gestiones tambin es necesario tener presente otros factores, que a su vez se han de gestionar, como pueden ser los perfiles de usuarios que se encuentran en el sistema, sus permisos, las operaciones del
Captulo 1 - Introduccin
sistema, los requisitos que pueden presentar los proyectos, las reas a las que pueden pertenecer los usuarios, las asignaturas de las que se quiere guardar informacin y los contenidos de la aplicacin web. Todo esto permitir establecer un sistema fiable, seguro y eficiente que permita una gestin rpida y eficaz sobre todos los recursos del GRSI. Con este nuevo control se consigue informatizar y archivar mucha informacin que antes resultaba difcil de mantener, adems de reducir tiempo y recursos en la ejecucin de muchas de las tareas que se realizaban en el GRSI. El proyecto sigue un ciclo de vida en cascada formada por cuatro fases: Anlisis de requerimientos: aqu se recoge toda la informacin necesaria para determinar los objetivos del proyecto, los cuales vendrn determinados por las necesidades del GRSI. Cabe destacar que al tratarse de un cliente familiarizado con la informtica, esta parte resulta bastante rpida y fluida. Tambin se hace un estudio amplio y exhaustivo sobre las tecnologas que permiten realizar el tipo de aplicaciones requerido, con la posterior eleccin de los ms adecuados. Diseo de la aplicacin: esta es una de las fases ms costosas del proyecto, ya que resulta bastante difcil especificar y visualizar el funcionamiento de un sistema antes de su creacin. Para ello, se ha utilizado la metodologa UML (lenguaje unificado de modelado) que ha permitido seguir un estndar. En el diseo de la base de datos se ha utilizado el diagrama Entidad-Relacin, y para las funciones la combinacin de los DFD (diagramas de flujos de datos) y diagramas WAE (extensin UML para aplicaciones web). Desarrollo: aqu se implementan todos los diseos realizados en la fase anterior. De forma paralela, se han realizado pruebas unitarias (que prueban cada componente desarrollado), integracin (que prueban el funcionamiento conjunto de los componentes) y de sistema (que prueban la globalidad del sistema) para garantizar que los resultados obtenidos sean los esperados por el cliente. Durante todo el desarrollo se ha tenido presente que el mantenimiento es la fase ms costosa de muchos proyectos informticos y, en consecuencia, de muchas aplicaciones web,
Captulo 1 - Introduccin
por eso mismo se ha utilizado un cdigo sencillo, esquemtico, comentado y claro. Implantacin: debido que para el desarrollo y testeo se ha utilizado el mismo software que el de puesto en explotacin, la instalacin de la aplicacin es muy rpida. La inicializacin del sistema consiste, en su mayor parte, en la insercin de todos los datos necesarios para hacer la migracin al nuevo sistema. Adems de estas cuatro fases cabra comentar la documentacin, que se ha realizado a lo largo de todo el ciclo de vida y que se ha llevado de una forma clara, concisa y minuciosa con el fin de facilitar todo tipo de consultas y dudas sobre el proyecto. Tambin se han desarrollado a modo de Anexo del proyecto unos manuales para formar a los diferentes tipos de usuarios sobre la aplicacin y su funcionamiento. Por cada una de las fases se ha realizado un amplio estudio de las tecnologas, metodologas, mtodos y sistemas que existen para desarrollar aplicaciones web. De esta manera se contrastan y utilizan conjuntamente todos los conocimientos adquiridos a los largo de la carrera, desde la creacin de las bases de datos hasta la metodologa a seguir en los proyectos informticos.
Captulo 2 - Anlisis
2.- Anlisis
2.1.- Especificacin de requerimientos
Para el desarrollo del siguiente proyecto se especifican una serie de mdulos que permitirn realizar todas las operaciones requeridas por el cliente. Estas operaciones informatizarn muchas de las tareas realizadas, con lo que se conseguir una mayor rapidez en su ejecucin y una menor necesidad de interaccin humana. Los mdulos son: Mdulo de gestin de usuarios: facilita el mantenimiento de todos los usuarios, permitiendo altas, bajas, modificaciones, consultas y nuevas inserciones. Mdulo de gestin de proyectos: se encarga del mantenimiento de los proyectos del sistema, as como del proceso de solicitud, propuestas y asignaciones. Mdulo de gestin de trabajos: tiene el mismo cometido que el mdulo anterior pero sobre trabajos. Los trabajos tendrn unos datos diferentes a los de proyectos. Adems, se solicita adaptar dos mdulos ya creados para que funcionen con la nueva aplicacin: mdulo de Noticias y Publicaciones. Para este ltimo, se han de agregar dos nuevas funcionalidades: Ordenacin por varios criterios: ofrece la posibilidad de ordenar las Generador de Bibtex: para cada publicacin se ha de facilitar su publicaciones por el nombre del publicador o por la fecha de su publicacin. generacin en el formato Bibtex.
Captulo 2 - Anlisis
Captulo 2 - Anlisis
Registro de nuevos colaboradores a los cuales se les asignar un determinado estado (en proceso de admisin) y el responsable de las altas de usuarios se encargar de aceptar o rechazar la solicitud. Insercin de cualquier tipo de usuario en el sistema sin la necesidad de una aceptacin posterior. Modificacin de los datos, tanto del propio usuario que ha accedido al sistema como de otros usuarios, dependiendo del nivel de acceso del susodicho usuario. Eliminacin de usuarios, borrando todos los datos almacenados que guarden relacin con los usuarios en cuestin.
Captulo 2 - Anlisis
Modificacin de los datos, excepto el identificador que permanecer invariable desde su insercin en el sistema. Proposicin de nuevos proyectos, que permitir a los colaboradores presentar sus alternativas y enviarlas por e-mail al encargado de las propuestas. Registrar proyectos, que los inserta directamente en la base de datos sin ningn envo de e-mail o posterior confirmacin. Asignacin de proyectos, que permitir asignar los proyectos a los usuarios (que previamente habrn realizado la solicitud) y generar dos tipos de listas: 1. Usuarios-Proyectos: lista de los proyectos solicitados por cada usuario. 2. Proyectos-Usuarios: lista de los usuarios que han solicitado cada proyecto.
Captulo 2 - Anlisis
Proposicin de nuevos trabajos, que permitir a los colaboradores presentar sus alternativas y enviarlas por e-mail al encargado de las propuestas. Registrar trabajos, que inserta directamente en la base de datos los nuevos trabajos sin ningn envo de e-mail o posterior confirmacin. Asignacin de trabajos, que permite asignar los trabajos a los usuarios (que previamente habrn realizado la solicitud) y generar dos tipos de listas: 1. Usuarios-Trabajos: lista de los trabajos solicitados por cada usuario. 2. Trabajos-Usuarios: lista de los usuarios que han solicitado cada trabajo.
Adems de los tres mdulos, el sistema ha de garantizar cierta seguridad (integridad, autenticidad y privacidad) sobre los datos de los usuarios y permitir que los contenidos de la pgina web se visualicen en varios idiomas (castellano, cataln e ingls).
Captulo 2 - Anlisis
Centralizacin de los datos en el servidor, el usuario tendr acceso transparente a la informacin y adems estar habilitado para procesarla como guste.
No obstante tambin presenta una serie de inconvenientes: Requiere un fuerte rediseo de todos los elementos involucrados en los sistemas de informacin (modelos de datos, procesos, interfaces, comunicaciones, almacenamiento de datos, etc.). Es ms difcil asegurar un elevado grado de seguridad en una red de clientes y servidores que en un sistema con un nico ordenador centralizado. Se deben hacer verificaciones en el cliente y en el servidor. Existen multitud de costos ocultos (formacin en nuevas tecnologas, licencias, cambios organizativos, etc.) que encarecen su implantacin. En la aplicacin ha desarrollar se necesita: Sistema gestor de base de datos: En el mercado existen muchos Sistemas Gestores. Hay desde sistemas muy simples centralizados para monousuarios, hasta sistemas distribuidos, complejos configurar y monitorizar. Acto seguido se explican algunos de ellos: o Microsoft Access: Sistema muy sencillo, que guarda la informacin en un fichero. til para desarrollar aplicaciones bsicas sin concurrencia y con una cantidad de datos media-baja. Como todos los productos Microsoft, debe funcionar sobre una plataforma Windows.
o Microsoft SQL-Server: Sistema ms potente que el anterior. Representa la gama media-alta de Microsoft en Bases de Datos. Se basa en un motor ms rpido y ptimo que Access, mejorando el tema de la concurrencia y la rapidez en buscar los datos. No permite usar un Sistema de Ficheros diferente al del Sistema Operativo. Es de pago, excepto su variante MSDE, que es gratuita. 10
Captulo 2 - Anlisis
o MySQL: Sistema gratuito, de gran compatibilidad y muy implantado en entornos Web. Sistema bsico para multiusuarios, menos potente que SQL-Server, pero de gran portabilidad [2].
o DB2: Sistema de la casa IBM de gama alta, potente y robusto. Representa uno de los mejores sistemas que existen en la actualidad. De gran implantacin en entornos que se necesitan SGBD potentes. Perfecto para gestionar la concurrencia de usuarios, y de gran rapidez. Permite trabajar con sistemas distribuidos y permite trabajar con Sistema de Ficheros propio.
o Informix: Sistema comprado recientemente por IBM, que pese a su gran potencia, va ha ser desbancado del mercado. Con caractersticas parecidas a DB2, va a ser retirado para potenciar una sola lnea de produccin. Pese a que el proceso va a ser muy lento y tarden muchos aos en ir dejndolo de lado, esta opcin est casi descartada porque se quiere evitar migrar en un futuro la BD a la de otro fabricante.
o Oracle: Es el sistema ms potente que existe actualmente en el mercado. Forma parte de los sistemas de gama alta, que permiten trabajar en modo distribuido, con sistema de ficheros propio, sistema de balanceo de carga, gran rapidez en acceso a disco, buena resolucin de planes de ejecucin, multi-concurrencia, y otros 11
Captulo 2 - Anlisis
aspectos de gran relevancia. Como factor negativo, su adquisicin es gratuita solo para pruebas, pero para trabajar de manera comercial se ha de pagar una licencia, que no se caracteriza precisamente por su bajo coste.
Servidor web: Esta eleccin ir muy relacionada con la plataforma Web (lenguaje de programacin) que se desee utilizar. Aunque existen muchsimos servidores Web, a continuacin se explican los dos ms utilizados para servir pginas dinmicas: o Internet Information Server (IIS): Es el servidor Web de la casa Microsoft. Viene instalado con todos los Sistemas Operativos Windows, a partir de Windows 2000. Es gratuito y soporta todas las plataformas (no de manera nativa), tanto las de Microsoft como las que no lo son (JSPs, PHP). Como punto dbil, comentar que no se caracteriza por su seguridad, sino que tiene fama de ser un sistema ms sencillo que los dems de hackear/crackear. Slo funciona bajo sistema operativo de. Microsoft.
o Apache: Es una de las soluciones gratuitas ms estables que hay. De gran difusin en los sistemas Linux/Unix, pero tambin de uso en sistemas Windows. Da soporte a la mayora de las plataformas Web, y es sencillo de configurar y gestionar [3].
12
Captulo 2 - Anlisis
La eleccin del servidor web y el sistema gestor de base de datos, vienen fijadas por el lugar donde se instalar la aplicacin. As pues, se escogern Apache y MySQL respectivamente.
Para desarrollar la aplicacin web, existen dos posibles alternativas: Desarrollo mediante paquetes: que permitirn una programacin ms rpida. Solucin hecha a medida: con gran coste de programacin pero adaptada al cliente.
Logo:
NEOIDEAS
De pago
www.neoideas.net
Tabla 2.1.- Estudio de paquetes
Debido al carcter del proyecto, descartamos las que son de pago. As pues, las opciones ms vlidas son PhpNuke y PostNuke. Ambos paquetes utilizan PHP como lenguaje de desarrollo. Su filosofa es la de separar la creacin de una aplicacin web 13
Captulo 2 - Anlisis
en: bloques, mdulos y temas. Siendo los mdulos los que se tendran que desarrollar para este proyecto. Este mtodo de desarrollo presenta una serie de ventajas e inconvenientes. Por un lado, se hace mucho ms rpida la codificacin, ya que la apariencia grfica estara desarrollada, as como las amplias bibliotecas existentes en Internet de mdulos ya creados. No obstante, estas bibliotecas presentarn incertidumbre sobre el cdigo utilizado. Adems, al ser utilizado por gran cantidad de usuarios en todo el mundo, se convierte en el objetivo de muchos piratas informticos con la consecuencia lgica de ser un sistema con gran cantidad de errores conocidos, y que precisa de actualizaciones continuadas.
Zona de cdigo Lenguaje: FrameWork: Servidor Web: HTML independiente: Gratuito De pago IIS, Apache IIS IIS Tomcat, IIS, OC4J (JSP) x (Servlets) x Velocidad (sobre 5) 4 3 4
ASP
De pago Gratuito
14
Captulo 2 - Anlisis
CGI's
Gratuito
Apache
PHP: Sistema gratuito, de gran difusin en Internet, sobretodo por su gran escalabilidad. Muy implantado en el mbito de foros, grupos, etc. Permite trabajar con mdulos independientes, que hacen ms sencilla su programacin, y es directamente interpretado por el servidor Web [4]. Active Server Pages (ASP): Sistema dinmico que permite interactuar cliente-servidor. Cada accin que realiza el cliente, se enva al servidor Web, quien la procesa y devuelve cdigo HTML con la nueva pgina. Sistema de la casa Microsoft, de gran difusin en pginas profesionales. Active Server Pages .NET (ASP .NET): Evolucin del sistema anterior. Consiste en ampliar la capacidad del lenguaje ASP, mejorando temas de seguridad e interfaz de usuario, ya que da soporte a 2 lenguajes: Visual Basic y C#. Con esto se quiere decir, que el programador puede programar qu acciones realizar para cada evento que presenta el usuario en los lenguajes que ya conoce. Como desventaja, gran lentitud a la hora de servir las pginas, en comparacin con otros sistemas de su misma categora. Lenguaje compilado y con posibilidad de debugar en tiempo de compilacin. Java Server Pages (JSPs) y Servlets: Sistema gratuito de la casa Sun Microsystems, que permite gestionar las peticiones de los clientes en banda servidor, al igual que las plataformas comentadas anteriormente. La diferencia entre JSPs y Servlets, se basa en el hecho de que JSPs permite tener una zona de cdigo html, y otra zona de cdigo java (de manera semejante a PHP y ASP), por otro lado, Servlets, no tiene una zona de HTML, y es ntegramente cdigo Java. Funcionalmente sirven para lo mismo, pero los Servlets son ms potentes para clculo matemtico, por el contrario, para pginas sencillas, denota una lentitud considerable.
15
Captulo 2 - Anlisis
CGIs: Sistema basado en uso de ficheros. Es gratuito, y el lenguaje para manipular los ficheros lo define el Servidor Web.
Teniendo presente que el servidor web donde se establecer la aplicacin web ser un servidor Apache, PHP es el lenguaje que proporciona mayor rapidez, mejor se adapta a las necesidades y est soportado por las especificaciones. Adems PHP es el nico lenguaje que actualmente se encuentra instalado. Una vez establecido el lenguaje principal de desarrollo slo queda escoger el lenguaje que se utilizar para el sistema gestor de bases de datos. Recordemos, que el sistema de gestor de bases de datos sealado por las especificaciones es MySQL. Para este caso, PHP facilita el acceso a las bases de datos, con lo que nuestra eleccin se mantiene y SQL ser el lenguaje de acceso. Combinados con PHP, se utilizarn: HTML (HiperText Markup Language): lenguaje que se utiliza para la representacin de las pginas web. Adems de texto normal tambin incluye: elementos multimedia (grficos, video, audio) y existencia de enlaces (links) que permiten saltar a otras partes del documento o incluso a otros sitios de Internet. Es portable (en cualquier sistema operativo) y de fcil aprendizaje [5]. JavaScript: lenguaje interpretado como VisualBasic, Perl, TCL, sin embargo, tiene una caracterstica que lo hace especialmente idneo para trabajar en Web, ya que son los propios navegadores del cliente los que interpretan y ejecutan los programas escritos en este lenguaje. De esta forma, permite enviar documentos a travs de la Web que llevan incorporado cdigo fuente de programas, convirtindose de esta forma en documentos dinmicos, y dejando de ser fuentes de informacin estticas [6]. CSS (Cascading Style Sheets): lenguaje formal usado para definir la presentacin de un documento HTML, es el encargado de formular la especificacin de las hojas de estilo. Su principal objetivo es la de separar la estructura de un documento y su presentacin [7].
16
Captulo 2 - Anlisis
Gracias a la combinacin de estos tres lenguajes se consigue: DHTML (Dynamic HTML): es la denominacin genrica de las tcnicas usadas para la generacin de pginas HTML dinmicas, estas pueden ser: HTML, JavaScript y CSS. As pues, permitir crear sitios Web interactivos no estticos [8].
Como resumen tenemos que las tecnologas a utilizar sern: Servidor web: Apache. Servidor gestor de bases de datos: MySQL. Lenguaje de desarrollo de la aplicacin web: PHP + DHTML (HTML, JavaScript y CSS).
Captulo 2 - Anlisis
Una vez vistas las comunicaciones que se establecern entre los diferentes componentes del desarrollo, se puede hablar de la metodologa utilizada en el desarrollo. El ciclo de vida del proyecto es en cascada [9] y se compone de las siguientes fases: Anlisis de requerimientos: En una primera reunin, sponsor y director de proyecto establecen las bases de lo que sern los requisitos del proyecto en cuestin. El ponente recoge los requisitos y asesora al cliente en sus elecciones y posibilidades. Las siguientes reuniones son entre ponente y desarrollador donde ambos definen las funcionalidades formalmente.
Anlisis y diseo: En esta fase, el desarrollador hace un anlisis y diseo de todos los
requisitos. En el diseo, se utiliza la metodologa UML (lenguaje unificado de modelado) [10] con el fin de formalizar, ya que provee de un lenguaje consistente para especificar, visualizar, construir y documentar los componentes de cualquier sistema de software. As pues, para representar los requerimientos funcionales se utilizan los DFD (diagramas de flujos de datos), consistentes en una red de procesos, almacenes y entidades que se intercomunican de manera asncrona, que juntamente con los diagramas WAE (extensin para aplicaciones web), en los que se describe la relacin existente entre los ficheros para la arquitectura cliente-servidor, se permite representar con toda fidelidad y de manera muy sencilla el proceso que sigue cada una de las funcionalidades del sistema. 18
Captulo 2 - Anlisis
Para el diseo de la base de datos se utilizaran los diagramas EntidadRelacin, que permiten conocer y nombrar toda la informacin que se guardar en el sistema. Todo esto se realizar mediante la herramienta ErWin. Completados los diseos, se produce otra reunin ponente-proyectista poder validar los planos sobre los que se orientar el desarrollo del proyecto. Una vez validados se pasa a la siguiente etapa.
lenguaje de programacin escogido. Tambin se llevan a cabo: pruebas unitarias (para probar cada componente software), pruebas de integracin (para validar que los componentes integrados se ejecutan como se especific) y pruebas de sistema (que ven el sistema como una caja negra y validan que tenga la funcionalidad que el usuario final, en este caso el cliente, desea). Una vez implementadas y probadas las funcionalidades, se produce otra reunin ponente-proyectista con el objetivo de aprobar el desarrollo hasta el momento. Si est satisfecho, el desarrollo puede continuar y posiblemente el ponente se ponga en contacto con el cliente para comunicarle los avances. Cuando se ha finalizado el desarrollo de la aplicacin completa se vuelven a reunir ponente y desarrollador con el mismo objetivo que la ltima reunin: validar el desarrollo, pero en este caso el prototipo final. Si la reunin es satisfactoria se renen: proyectista, ponente y GRSI para la validacin final del proyecto. Del mismo modo que la anterior reunin, si el cliente no est satisfecho con los resultados, se tendrn que introducir las modificaciones pertinentes y repetir la reunin. En caso contrario, el ciclo de vida podra verse concluido dependiendo de si fuera necesario realizar el mantenimiento de la aplicacin. Hay que destacar, que la documentacin de la aplicacin se realiza en cada una de las fases, adaptndose a los contenidos del ciclo de vida en cuestin.
19
Captulo 2 - Anlisis
Ponente GRSI
Ponente Proyectista
Ponente Proyectista
! OK OK
DESARROLLO
Ponente Proyectista
! OK OK
20
Captulo 3 - Diseo
3.- Diseo
3.1.- Bases de datos
Tal como se ha comentado anteriormente, para el diseo de la base de datos se utiliza el diagrama Entidad-Relacin [11]. ste ha sido desarrollado con la herramienta ErWin versin 4.1. A continuacin se explica cual es la notacin utilizada: Tablas: son las entidades del diagrama y representan almacenes de datos. Estn compuestos por atributos primarios, que servirn para indexar la informacin, y secundarios.
Tabla Atributos primarios Atributos
Relaciones 1-N: A puede tener N relaciones de B, y B solo puede tener una relacin de A. o Con identificacin: B tomar como llaves primarias las de A. o Sin identificacin: B tomar las llaves primarias de A como atributos secundarios.
21
Captulo 3 - Diseo
son ponentes Personas_Proyectos piden ID_Login (FK) ID_Proyecto (FK) Prioridad son pedidos
Notas Asignaturas ID_Asignatura Descripcion son cursadas ID_Asignatura (FK) ID_Login (FK) Convocatoria Nota Comentario Curso
han cursado
Permisos ID_Categoria (FK) ID_Operacion (FK) Categoria pueden hacer ID_Categoria Descripcion pueden estar
A continuacin se explica el objetivo de cada tabla, as como la informacin que guarda, las relaciones con otras tablas y tipos de sus atributos:
Captulo 3 - Diseo
o 1-N ya que 1 persona puede realizar N proyectos/trabajos, pero 1 proyecto/trabajo slo puede estar realizado por 1 persona. o 1-N ya que 1 persona puede ser ponente de N proyectos, pero 1 proyecto slo puede tener 1 ponente. o N-M ya que 1 persona puede pedir N proyectos/trabajos, y 1 proyecto/trabajo puede estar pedido por M personas.
Descripcin: Llave primaria que identifica de qu usuario se trata. Campo que representa el nombre del usuario. Primer apellido de la persona. Segundo apellido de la persona. Direccin de correo electrnico. Contrasea codificada en md5 a partir del ID_Login y el Nombre.
Char(100) Direccin url donde se encuentra la foto del usuario. Char(20) A (alta) sistema. FA (falta alta) sistema. indica que el usuario ha solicitado el registro pero todava no se le ha dado el alta en el indica que el usuario est dado de alta en el
Idioma
Char(10)
los textos que se mostrarn estarn en los textos que se mostrarn estarn en
Intentos Ultimo_Intento
Integer Char(30)
Representa el nmero de intentos de accesos fallidos antes del bloqueo del usuario. Fecha y hora del ltimo intento de acceso fallido al sistema. Fecha y hora del ltimo acceso satisfactorio. 23
Ultimo_Acceso Char(30)
Captulo 3 - Diseo
Tipo: Char(30)
Char(100) Ttulo del proyecto/trabajo. Char(50) TFC (trabajo final de carrera) trata de un proyecto de tipo TFC. PFC (proyecto final de carrera) se trata de un proyecto de tipo PFC. Trabajo indica que se trata de un trabajo, no de un proyecto. indica que indica que se
Descripcion Parte_Practica
Text Text
24
Desarrollo de una aplicacin web Fecha_Maxima Estado Date Char(30) Fecha mxima de
proyecto/trabajo. Libre cogido. Asignado est libre. Nota Fecha_Entrega ID_Login_Alumno Char(10) Date Char(15) Evaluacin que ha recibido el proyecto/trabajo. Fecha en la que se ha entregado el indica que el proyecto/trabajo no indica que el proyecto/trabajo no est
proyecto/trabajo. Llave fornea que identifica al alumno que realiza el proyecto/trabajo. Si se trata de un trabajo en grupo, indica su representante. ID_Login_Ponente_FK Char(15) Url Llave fornea que identifica al profesor que lleva el proyecto. Char(100) Enlace a travs del cual se recibe ms informacin del proyecto/trabajo.
Tabla 3.2.- Atributos de la tabla Proyectos
Descripcin: Llave primaria que identifica de qu rea se trata. Descripcin del rea en particular.
Tabla 3.3.- Atributos de la tabla Areas
25
Captulo 3 - Diseo
Descripcin: Llave primaria que identifica de qu asignatura se trata. Descripcin de la asignatura en particular.
Tabla 3.4.- Atributos de la tabla Asignaturas
Descripcin: Llave primaria que identifica de qu categora se trata. Descripcin de la categora en particular.
Tabla 3.5.- Atributos de la tabla Categoria
26
Captulo 3 - Diseo
Descripcin: Llave primaria que identifica de qu requisito se trata. Descripcin del requisito en particular.
Tabla 3.6.- Atributos de la tabla Requisitos
Atributo: ID_Operacion
Tipo: Char(30)
Descripcin: Llave primaria que identifica de qu operacin se trata. Ha de tener una traduccin en la tabla Idiomas para poder mostrar la operacin por el men.
Path
27
Captulo 3 - Diseo Indica a qu categora pertenece la operacin. Este campo permite clasificar las operaciones por categoras a la hora de mostrar el men. As pues, ha de tener una traduccin en la tabla Idiomas.
Descripcion
Text
Tipo:
Descripcin: se trata.
Char(254) Llave primaria que identifica de qu contenido Text Text Text Char(20) Traduccin del contenido en cataln. Traduccin del contenido en castellano. Traduccin del contenido en ingls. Operacion indica que el origen del contenido se debe a la insercin de una nueva operacin. Si se borra de esta tabla, en el men, la operacin aparecera por su Identificador. Contenido nueva operacin.
Tabla 3.8.- Atributos de la tabla Idiomas
28
Captulo 3 - Diseo
Surge de la relacin entre Areas y Personas. Indica a qu reas ha pertenecido y pertenece cada persona.
Descripcin: Llave primaria y fornea que identifica de qu rea se trata. Llave primaria y fornea que identifica de qu persona se trata. Indica el ao en que la persona perteneci al rea indicada. As, se mantiene un histrico de la evolucin.
Tabla 3.9.- Atributos de la tabla Personas_Areas
Surge de la relacin entre Asignaturas y Personas. Indica qu asignaturas han cursado los Colaboradores, las evaluaciones que obtuvieron y cuando lo consiguieron.
Descripcin: Llave primaria y fornea que identifica de qu asignatura se trata. Llave primaria y fornea que identifica de qu persona se trata.
29
Captulo 3 - Diseo indica que la persona tiene NP de la indica que la persona finaliz la indica que la persona finaliz la indica que la persona finaliz la
NP
asignatura. Junio asignatura en el mes de Junio. Septiembre asignatura en el mes de Septiembre. Febrero Nota Char(5) asignatura en el mes de Febrero. Evaluacin obtenida por la persona en la asignatura.
Tabla 3.10.- Atributos de la tabla Notas
Surge de la relacin entre Categora y Personas. Indica a qu categoras han pertenecido y pertenecen cada una de las personas.
Descripcin: Llave primaria y fornea que identifica de qu categora se trata. Llave primaria y fornea que identifica de qu persona se trata. Indica el ao en que la persona perteneci a la categora indicada. As se mantiene un histrico de la evolucin.
Tabla 3.11.- Atributos de la tabla Personas_Categoria
Surge de la relacin entre Categora y Operaciones. Indica qu operaciones estn disponibles para cada una de las categoras.
30
Captulo 3 - Diseo
Descripcin: Llave primaria y fornea que identifica de qu categora se trata. Llave primaria y fornea que identifica de qu operacin se trata.
Tabla 3.12.- Atributos de la tabla Permisos
Surge de la relacin entre Proyectos y Requisitos. Indica cuales son los requisitos de cada uno de los proyectos/trabajos del sistema.
Descripcin: Llave primaria y fornea que identifica de qu proyecto se trata. Llave primaria y fornea que identifica de qu requisito se trata.
Tabla 3.13.- Atributos de la tabla Proyectos_Requisitos
Surge de la relacin entre Personas y Proyectos. Indica cuales son las peticiones de trabajos y proyectos, y sus prioridades.
Descripcin: Llave primaria y fornea que identifica de qu persona se trata. Llave primaria y fornea que identifica de qu proyecto se trata. Alta 31 peticin con mxima prioridad por
Captulo 3 - Diseo
3.2.- Funcionalidades
Las funcionalidades representan todas las acciones que permite la aplicacin web. Cada operacin tiene gran cantidad de informacin asociada, por ese motivo resulta bastante difcil reflejar todas sus necesidades con un solo diagrama. As pues, y tal como se ha comentado anteriormente, se utilizarn dos tipos de esquemas: Diagrama de flujo de datos o DFD. Diagramas de la extensin UML para aplicaciones web o WAE.
Cliente externo
32
Captulo 3 - Diseo
Almacn de datos
Proceso: se asimila a opciones de men o funciones del sistema. Tienen asociados un nmero que los identifica en los diagramas.
Proceso
Flujo de informacin: representa los movimientos de la informacin en el sistema. A travs de ellos se pueden comunicar los procesos y, segn la orientacin de la flecha, consultar y modificar los almacenes.
Flujo de informacin
La representacin ms general de la aplicacin, siguiendo la notacin especificada, es la siguiente:
Usuario
Sistema de RRHH
Bases de datos
Figura 3.2.- DFD de Nivel 0 - La aplicacin web
33
Captulo 3 - Diseo
Los diferentes elementos que aparecen son: Usuario: cliente externo de la aplicacin web. Puede adquirir varios roles segn la configuracin de la aplicacin, pero por defecto sern: o Admin o Profesor o Colaborador Sistema de RRHH: es el proceso que representa el conjunto del sistema. En l se llevan a cabo todas las operaciones solicitadas en los requisitos. Base de datos: almacn que constituye el conjunto de todas las bases de datos. Como es de esperar, ste es consultado y modificado. Debido al gran nmero de procesos que existen, el resto de niveles de los diagramas se explican en diferentes apartados que corresponden a los diferentes tipos de operaciones.
En este apartado se ven reflejadas todas las operaciones que tienen que ver con la gestin de usuarios; insercin, modificacin, eliminacin y consulta.
34
Captulo 3 - Diseo
Usuario
Lo gin Pa + ss wo rd
Logi n
Entrada al sistema 1
Buscador de usuarios 2
ri o
ID = se In r/ ra i o st a r gi su Re U rt ar
Muestra informaciones 6
Ant er ior
do
Personas
de
al
ta s
Permisos
Correo 5
A continuacin se explica para qu sirven cada uno de los procesos: Proceso 1 - Entrada al sistema Aqu se llevan a cabo todas las operaciones necesarias para validar el acceso de un usuario y generar el men correspondiente a su nivel de acceso.
35
Lo
gi n
st a
ID de + us An ua te rio rio r
a s Us u ID = Alt ari os
Formularios de usuarios 3
Lista de registros 4
ID io + su ar eu d gin Lo i or ter An
Captulo 3 - Diseo
ID
ar is tr Reg =
a Usu
rio
! OK
L ogin + Passwo rd
Login + Password
OK
Personas_Categoria Personas
ID
Operaciones, Permisos
o Proceso 1.1 - Formulario de acceso Representa la pgina de acceso que se encuentra el usuario para insertar su login y contrasea. Adems, si la configuracin del sistema lo permite, muestra la opcin de registro de nuevos colaboradores. Corresponde al fichero: index.php. o Proceso 1.2 Verificacin de datos Se encarga de validar que el login y la contrasea sean correctos. Si lo son, permite el acceso al sistema. En caso contrario, vuelve al proceso 1.1 e incrementa un intento de acceso fallido al usuario. Si el usuario ha acumulado un nmero determinado de accesos incorrectos, tambin se bloquear su cuenta por un tiempo predefinido. Para poder realizar todas estas operaciones, es necesario consultar y modificar el almacn Personas, y consultar Personas_Categoria.
36
Desarrollo de una aplicacin web Corresponde al fichero: control.php. o Proceso 1.3 Creacin de la pgina
Captulo 3 - Diseo
Si el acceso se ha realizado correctamente, este proceso genera el men correspondiente al nivel de acceso del usuario. Desde aqu, se podr acceder a todas las funcionalidades del sistema. El flujo ID representar la operacin escogida por el usuario. Para todo ello, es necesario consultar los almacenes de Operaciones y Permisos. Corresponde a los ficheros: pagina.php y menu.php.
Proceso 2 Buscador de usuarios Este proceso es un buscador de los usuarios dados de alta en el sistema, permitiendo generar listas sobre ellos. Solamente se podr llegar hasta aqu, si la operacin escogida por el usuario en el proceso 1.3 es: Modificar Usuario, Eliminar Usuario o Consultar Usuario. Al poder realizar bsquedas segn diferentes criterios, este proceso consulta los almacenes de: Personas, Areas, Categora, Personas_Areas y Personas_Categoria. Corresponde al fichero: ConsultaUsuarios.php.
Proceso 3 Formularios de usuarios Aqu se gestionan los datos de los usuarios, tanto si se quiere insertar o registrar uno nuevo, como la modificacin de los de uno ya existente.
37
Captulo 3 - Diseo
ID
=R
ID =
r
ID + Informacin de usuario
Personas, Notas, Asignaturas Areas, Asignaturas, Categoria Personas, Notas, Personas_Areas, Personas_Categoria
o Proceso 3.1 Formulario de datos de usuarios Representa el formulario donde se pondrn introducir datos y la modificacin de ellos. Al ser dinmico, es necesaria la consulta de los almacenes: Areas, Asignaturas y Categora. Corresponde al fichero: FormularioUsuario3.php. o Proceso 3.2 Tratamiento de datos de usuarios Este proceso recibe la informacin de un usuario y la operacin que se est realizando, para llevar a cabo los cambios pertinentes en los almacenes de: Personas, Notas, Personas_Areas y Personas_Categoria. No obstante, tambin sern necesarias algunas verificaciones para garantizar la estabilidad del sistema. stas se llevan a cabo con la consulta de los almacenes: Personas, Notas y Asignaturas. Corresponde al fichero: FormularioUsuario33.php.
38
Captulo 3 - Diseo
Proceso 4 Lista de registros Aqu se llevan a cabo todas las operaciones necesarias para realizar las altas o bajas de los Colaboradores. Se permite eliminar y mostrar informacin detallada de los usuarios a travs del proceso 6, y enviar correos sobre las operaciones llevadas a cabo a travs del 5. Consulta los almacenes: Permisos y Personas, y tambin modifica ste ltimo. Corresponde al fichero: AltasUsuarios.php.
Proceso 5 Correo Debido al carcter de este proceso, se explicar en el punto 3.2.5.Otras operaciones.
Proceso 6 Muestra informaciones Este proceso permite mostrar las relaciones que existen cuando se muestra la informacin detallada de un usuario, trabajo o proyecto. Adems de permitir el borrado de cada uno de ellos. Aunque contenga informacin relacionada con otro tipo de operaciones, se explicar aqu ya que se agrupa en un mismo proceso.
39
Captulo 3 - Diseo
I n fo
rma
An
Permitido
Proyectos
ID r + ad o o t i fi c ent ro yec to Id p yec pro de n de ci rm a r Proyecto In f o ID = Modifica + ecto n de proy Informaci Anterior
Requisitos, Proyectos_Requisitos
ID = E lim i fi nt
to o ec ct oy ye Pr ro ar in + e p rd
ca
Personas, Personas_Categoria,
Personas_Proyectos, Personas_Areas, Notas
do
Permisos
P er m it id o
Personas_Categoria,
Personas_Areas, Notas Eliminar usuario 6.4
Proyectos_Requisitos, Personas_Proyectos
ba
jo
Proyectos, Personas_Proyectos
Id
en
El im ti f ic ad
ina
Proyectos_Requisitos
El im in + dor
or
rP + ro y ec to de pr oy ec to
In f or
ma
ti fi c a
et ra
Personas_Proyectos
Eliminar trabajo 6.6
o Proceso 6.1 Muestra usuario Muestra toda la informacin relacionada con un usuario, de ah que deba consultar todos los almacenes relacionados con personas; Proyectos, Permisos, Personas, Personas_Categoria, Personas_Proyectos, Personas_Areas y Notas. Si recibe el ID = Eliminar Usuario, permitir eliminar el usuario enviando el login al proceso 6.4. Si recibe ID = Modificar Usuario, permitir modificar el usuario enviando toda su informacin al proceso 3.1. Para cualquier otra operacin se limitar a mostrar su informacin (con la posibilidad de volver a la pgina Anterior) o retornar el contenido de la pgina (informacin de usuario). Si al consultar el almacn Permisos, el usuario en cuestin tiene privilegios sobre las consultas de proyectos o trabajos, podr acceder a la ficha de cada uno de los que aparezcan en la informacin del usuario. 40
rio r
ajo
Captulo 3 - Diseo
Corresponde al fichero: MuestraUsuario.php. o Proceso 6.2 Muestra proyecto Muestra toda la informacin relacionada con un proyecto, de ah que deba consultar todos los almacenes relacionados con proyectos; Proyectos, Permisos, Personas_Proyectos, Requisitos y Proyectos_Requisitos. Si recibe el ID = Eliminar Proyecto, permitir eliminar el proyecto enviando el identificador al proceso 6.5. Si recibe ID = Modificar Proyecto, permitir modificar el proyecto enviando toda su informacin al proceso 8.1. Para cualquier otra operacin se limitar a mostrar su informacin (con la posibilidad de volver a la pgina Anterior) o retornar el contenido de la pgina (informacin de proyecto). Si al consultar el almacn Permisos, el usuario en cuestin tiene privilegios sobre las consultas de usuarios o trabajos, podr acceder a la ficha de cada uno de los que aparezcan en la informacin del proyecto. Corresponde al fichero: MuestraProyecto.php. o Proceso 6.3 Muestra trabajo Muestra toda la informacin relacionada con un trabajo, de ah que deba consultar todos los almacenes relacionados con trabajos; Proyectos, Permisos y Personas_Proyectos. Si recibe el ID = Eliminar Trabajo, permitir eliminar el trabajo enviando el identificador al proceso 6.7. Si recibe ID = Modificar Trabajo, permitir modificar el trabajo enviando toda su informacin al proceso 12.1. Para cualquier otra operacin se limitar a mostrar su informacin (con la posibilidad de volver a la pgina Anterior) o retornar el contenido de la pgina (informacin de trabajo). Si al consultar el almacn Permisos, el usuario en cuestin tiene privilegios sobre las consultas de usuarios o proyectos, podr acceder a la ficha de cada uno de los que aparezcan en la informacin del trabajo. Corresponde al fichero: MuestraTrabajo.php.
41
Captulo 3 - Diseo
o Proceso 6.4 Eliminar usuario Este proceso recibe el login de un usuario y borra toda la informacin asociada a l. Para ello, es necesario modificar los almacenes: Personas, Personas_Categoria, Personas_Proyectos, Personas_Areas y Notas. No obstante, tambin sern necesarias algunas verificaciones para garantizar la estabilidad del sistema. stas se llevan a cabo con la consulta de los almacenes: Personas_Categoria, Personas_Areas y Notas. Corresponde al fichero: EliminaUsuario.php. o Proceso 6.5 Eliminar proyecto Este proceso recibe el identificador de un proyecto y borra toda la informacin asociada a l. Para ello, es necesario modificar los almacenes: Proyectos, Personas_Proyectos y Proyectos_Requisitos. No obstante, tambin sern necesarias algunas verificaciones para garantizar la estabilidad del sistema. stas se llevan a cabo con la consulta de los almacenes: Proyectos_Requisitos y Personas_Proyectos. Corresponde al fichero: EliminaProyecto.php.
o Proceso 6.6 Eliminar trabajo Este proceso recibe el identificador de un trabajo y borra toda la informacin asociada a l. Para ello, es necesario modificar los almacenes: Proyectos y Personas_Proyectos. No obstante, tambin sern necesarias algunas verificaciones para garantizar la estabilidad del sistema. stas se llevan a cabo con la consulta del almacn Personas_Proyectos. Corresponde al fichero: EliminaTrabajo.php.
42
Captulo 3 - Diseo
En este apartado se ven reflejadas todas las operaciones que tienen que ver con la gestin de proyectos; insercin, modificacin, eliminacin, consulta, asignacin, propuestas y solicitudes.
Usuario
Lo
ID
na sig =A
P ro
r Pr
s ct o o ye
Pa + ss wo rd
gi n
Entrada al sistema 1
ID =
Muestra informaciones 6
Informacin de usuario
ac i n
Formularios de proyectos 8
Pro p
u es
ta
Ide
n ti
fi
o ID ect + ro y ep d or c ad
t er An ior
ID = Solicitar Proyecto
Correo 5
Bsqueda de proyectos 9
Correo 5
li c So d itu
43
Captulo 3 - Diseo
A continuacin se explica para qu sirven cada uno de los procesos: Proceso 7 Lista de proyectos solicitados Aqu se llevan a cabo todas las operaciones necesarias para realizar una correcta asignacin de los proyectos. Adems permite la posibilidad de generar dos tipos de listas para facilitar su estudio.
cto ID ye + e pro d or ad
p ro yec to
ID = Asignar Proyectos
I de
f ic nt i
ci rma In fo
e nd
Lo gin
I n fo r
ID + de us u ari o
maci n
de u s
u ario
Proyectos, Personas_Proyectos
Personas, Personas_Proyectos
o Proceso 7.1 Asignacin de proyectos Este proceso se encarga de asignar los proyectos a los usuarios que los hayan solicitado. Para ello, es necesario consultar los almacenes: Personas y Personas_Proyectos, y modificar: Proyectos y Personas_Proyectos. Desde aqu se permite la opcin de generar los dos tipos de listas (proceso 7.2). Adems, cada vez que se realiza una asignacin, se enva un correo electrnico al usuario afectado a travs del mdulo 5. Corresponde al fichero: AsignarProyectos.php. o Proceso 7.2 Generador de listas de proyectos y usuarios Dependiendo de la eleccin realizada en el proceso 7.1, aqu se generar una de las dos posibilidades: Usuarios-Proyectos: lista de los proyectos solicitados por cada usuario.
44
Captulo 3 - Diseo Proyectos-Usuarios: lista de los usuarios que han solicitado cada proyecto.
Toda la informacin relacionada con los usuarios y proyectos se obtendr mediante peticiones al proceso 6, y as ser posible acumular toda la informacin en una sola pgina. Para ello ser necesaria la consulta de los almacenes: Personas y Personas_Proyectos, y as obtener los logins de usuarios y los identificadores de los proyectos. Corresponde al fichero: GeneradorListaSolicitados.php.
Proceso 8 Formularios de proyectos Aqu se gestionan los datos de los proyectos, tanto si se quiere insertar o registrar uno nuevo, como la modificacin de los de uno ya existente.
ID
=P
P ro p u e
sta
45
Captulo 3 - Diseo
o Proceso 8.1 Formulario de datos de proyectos Representa el formulario donde se podrn introducir datos y la modificacin de ellos. Al ser dinmico, es necesaria la consulta de los almacenes: Requisitos, Personas, Personas_Categoria y Personas_Areas. Corresponde al fichero: FormularioProyecto3.php. o Proceso 8.2 Tratamiento de datos de proyectos Este proceso recibe la informacin de un proyecto y la operacin que se est realizando para realizar los cambios pertinentes en los almacenes de: Proyectos y Proyectos_Requisitos. No obstante, tambin sern necesarias algunas verificaciones para garantizar la estabilidad del sistema. stas se llevan a cabo con la consulta de los almacenes: Requisitos, Proyectos y Personas. Cabe destacar, que si se trata de ID = Proponer Proyecto se remitir la propuesta al mdulo 5 para enviarla por correo electrnico. Corresponde al fichero: FormularioProyecto33.php.
Proceso 9 Bsqueda de proyectos Este proceso es un buscador de los proyectos del sistema, permitiendo generar listas sobre ellos. Solamente se podr llegar hasta aqu, si la operacin escogida por el usuario en el proceso 1.3 es: Modificar Proyecto, Eliminar Proyecto o Consultar Proyecto. Al poder realizar bsquedas segn diferentes criterios, este proceso consulta los almacenes de: Proyectos, Requisitos, Personas_Proyectos y Proyectos_Requisito. Corresponde al fichero: ConsultaProyectos.php.
Proceso 10 Lista de proyectos libres Aqu se muestra un listado de todos los proyectos disponibles, y se facilita la solicitud de tres de ellos.
46
Captulo 3 - Diseo
ID
=S ol
ici t
ar
Pr o
ye ct
S olicitud
Proyectos, Personas_Proyectos
Personas_Proyectos
o Proceso 10.1 Solicitud de proyectos A este proceso se llega siempre que ID = Solicitar Proyecto. A partir de sucesivas peticiones al mdulo 6, se consigue mostrar la informacin de todos los proyectos que se encuentran libres. Adems, se muestra un formulario que facilita la solicitud de tres proyectos. Como se puede suponer, para realizar dichas operaciones es necesario consultar los almacenes: Proyectos y Personas_Proyectos. Corresponde al fichero: SolicitarProyectos.php. o Proceso 10.2 Tratamiento de solicitudes de proyectos Aqu se reciben los identificadores de los tres proyectos solicitados con sus respectivas prioridades. Se actualiza la informacin del almacn Personas_Proyectos para as poder conservar un histrico, y se enva la solicitud al mdulo 5 para enviar un correo. Corresponde al fichero: SolicitarProyectos2.php. 47
Captulo 3 - Diseo
En este apartado se ven reflejadas todas las operaciones que tienen que ver con la gestin de trabajos; insercin, modificacin, eliminacin, consulta, asignacin, propuestas y solicitudes.
Personas_Proyecto, Proyectos
aj os rab
Usuario
Lo gi Pa + n ss wo rd
ID
ar T sig n =A
Entrada al sistema 1
ID =
P ro po n Tra er / R b aj e o gi st rar
ID + Id enti fi c ad o r d
In fo rmac
e trabaj o
Informacin de usuario
ID cto + oy e e pr or d ic ad ntif
Muestra informaciones 6
a gn n ci
Formularios de trabajos 12
P r op
ues t a
I de
Correo 5
er Ant
i or
Bsqueda de trabajos 13
Proyectos, Personas_Proyectos
So lic
itu
Correo 5
48
Captulo 3 - Diseo
A continuacin se explica para qu sirven cada uno de los procesos: Proceso 11 Lista de trabajos solicitados Aqu se llevan a cabo todas las operaciones necesarias para realizar una correcta asignacin de los trabajos. Adems permite la posibilidad de generar dos tipos de listas para facilitar su estudio.
a ID ab + de tr r do ca ti fi n jo
ID = Asignar Trabajos
I de
Anterior
In fo
ci rma
e nd
trab
ajo
Login
ID + de us u ario
In fo r
maci n
d e us
uario
Proyectos, Personas_Proyectos
Personas, Personas_Proyectos
o Proceso 11.1 Asignacin de trabajos Este proceso se encarga de asignar los trabajos a los usuarios que los hayan solicitado. Para ello, es necesario consultar los almacenes: Personas y Personas_Proyectos, y modificar: Proyectos y Personas_Proyectos. Desde aqu se permite la opcin de generar los dos tipos de listas (proceso 11.2). Adems, cada vez que se realiza una asignacin, se enva un correo electrnico al usuario afectado a travs del mdulo 5. Corresponde al fichero: AsignarTrabajos.php. o Proceso 11.2 Generador de listas de trabajos y usuarios Dependiendo de la eleccin realizada en el proceso 11.1, aqu se generar una de las dos posibilidades: Usuarios-Trabajos: lista de los trabajos solicitados por cada usuario.
49
Captulo 3 - Diseo Trabajos-Usuarios: lista de los usuarios que han solicitado cada trabajo.
Toda la informacin relacionada con los usuarios y trabajos se obtendr mediante peticiones al proceso 6, y as ser posible acumular toda la informacin en una sola pgina. Para ello ser necesaria la consulta de los almacenes: Personas y Personas_Proyectos, y as obtener los logins de usuarios y los identificadores de los trabajos. Corresponde al fichero: GeneradorListaSolicitados.php.
Proceso 12 Formularios de trabajos Aqu se gestionan los datos de los trabajos, tanto si se quiere insertar o registrar uno nuevo, como la modificacin de los de uno ya existente.
ID + Informacin de trabajo
P ropue
st a
Personas, Personas_Categoria
Proyectos
50
Captulo 3 - Diseo
o Proceso 12.1 Formulario de datos de trabajos Representa el formulario donde se podrn introducir datos y la modificacin de ellos. Al ser dinmico, es necesaria la consulta de los almacenes: Personas y Personas_Categoria. Corresponde al fichero: FormularioTrabajo3.php. o Proceso 12.2 Tratamiento de datos de trabajos Este proceso recibe la informacin de un trabajo y la operacin que se est realizando para realizar los cambios pertinentes en el almacn Proyectos. Cabe destacar, que si se trata de ID = Proponer Trabajo se remitir la propuesta al mdulo 5 para enviarla por correo electrnico. Corresponde al fichero: FormularioTrabajo33.php.
Proceso 13 Bsqueda de trabajos Este proceso es un buscador de los trabajos del sistema, permitiendo
generar listas sobre ellos. Solamente se podr llegar hasta aqu, si la operacin escogida por el usuario en el proceso 1.3 es: Modificar Trabajo, Eliminar Trabajo o Consultar Trabajo. Al poder realizar bsquedas segn diferentes criterios, este proceso consulta los almacenes de: Proyectos y Personas_Proyectos. Corresponde al fichero: ConsultaTrabajos.php.
Proceso 14 Lista de trabajos libres Aqu se muestra un listado de todos los trabajos disponibles, y se facilita la solicitud de tres de ellos.
51
Captulo 3 - Diseo
ID
=S oli
cit a
rT
ra
ba jo
a jo t rab n de ci rma In fo ID + aj o e trab dor d if ica Ident Identificadore s de tres traba jos + Prioridades
Solicitud
Proyectos, Personas_Proyectos
Personas_Proyectos
o Proceso 14.1 Solicitud de trabajos A este proceso se llega siempre que ID = Solicitar Trabajo. A partir de sucesivas peticiones al mdulo 6, se consigue mostrar la informacin de todos los trabajos que se encuentran libres. Adems, se muestra un formulario que facilita la solicitud de tres trabajos. Como se puede suponer, para realizar dichas operaciones es necesario consultar los almacenes: Proyectos y Personas_Proyectos. Corresponde al fichero: SolicitarTrabajos.php. o Proceso 14.2 Tratamiento de solicitudes de trabajos Aqu se reciben los identificadores de los tres trabajos solicitados con sus respectivas prioridades. Se actualiza la informacin del almacn Personas_Proyectos para as poder conservar un histrico, y se enva la solicitud al mdulo 5 para enviar un correo. Corresponde al fichero: SolicitarTrabajos2.php.
52
Captulo 3 - Diseo
3.2.1.4.- Operaciones de gestin En este apartado se ven reflejadas todas las operaciones que tienen que ver con la gestin del sistema en general; insercin, modificacin, eliminacin y consulta de: asignaturas, contenidos, requisitos, operaciones, permisos, reas y categoras.
Usuario
Lo gi n Pa + ssw o rd
ID
st io n = Ge
e Co nt
nido
Entrada al sistema 1
ID = G
ID =
G es
t io
is equ nR
it o s
Proyectos, Permisos
ID = G
es t io n
Gestin de requisitos 16
Asig nat u r
Gestin de contenidos 15
Idiomas
Id e nt A nt I D er i o r or + de pr oy ec t
A nt I D erio
esti o n
as
Requisitos, Proyectos_Requisitos
ifi c
ad
pe ra ci on
Asignaturas, Notas
es
ID = G esti
ID =G
ID
C at eg o
=D
t io n
Gestin de operaciones 18
ato s
Pe rso
Gestin de asignaturas 17
na les
ria s
on A r eas
es ti o er nP m iso s
Lo
gi n
Permisos
de + us u
ar
G es
io
ID =
G estin de reas 20
Muestra informaciones 6
Permisos
Gestin de categoras 21
Areas, Personas_Areas
Categoria, Personas_Categoria
53
Captulo 3 - Diseo
A continuacin se explica para qu sirven cada uno de los procesos: Proceso 15 Gestin de contenidos Este proceso permite el mantenimiento de los contenidos de la aplicacin web que se muestran por pantalla. Para llevarlo a cabo, es necesario modificar y consultar el almacn Idiomas, y nicamente se podr acceder a este proceso si ID = Gestion Contenidos. Corresponde al fichero: GestionContenidos.php.
Proceso 16 Gestin de requisitos Este proceso permite el mantenimiento de los requisitos registrados en el sistema que pueden necesitar los proyectos. Para llevarlo a cabo, es necesario consultar los almacenes: Requisitos, Proyectos_Requisitos, Proyectos y Permisos, y modificar los dos primeros. nicamente se podr acceder a este proceso si ID = Gestion Requisitos. Adems, si el usuario tiene permisos sobre la operacin Consultar Proyecto, se podr acceder a la ficha de todos los proyectos que aparezcan en pantalla a travs del mdulo 6. Corresponde al fichero: GestionRequisitos.php.
Proceso 17 Gestin de asignaturas Este proceso permite el mantenimiento de las asignaturas registradas en el sistema. Para llevarlo a cabo, es necesario consultar los almacenes: Asignaturas, Notas y Permisos, y modificar los dos primeros. nicamente se podr acceder a este proceso si ID = Gestion Asignaturas. Adems, si el usuario tiene permisos sobre la operacin Consultar Usuario, se podr acceder a la ficha de todos los usuarios que aparezcan en pantalla a travs del mdulo 6. Corresponde al fichero: GestionAsignaturas.php.
Proceso 18 Gestin de operaciones Este proceso permite el mantenimiento de las operaciones registradas en la aplicacin web. Para llevarlo a cabo, es necesario modificar los almacenes: Operaciones, Permisos e Idiomas, y consultar los dos primeros. nicamente se podr acceder a este proceso si ID = Gestion Operaciones. 54
Captulo 3 - Diseo
Proceso 19 Gestin de permisos Este proceso permite el mantenimiento de los privilegios, de los diferentes niveles de acceso, sobre las operaciones del sistema. Para llevarlo a cabo, es necesario consultar los almacenes: Permisos, Operaciones y Categoria, y modificar el primero. nicamente se podr acceder a este proceso si ID = Gestion Permisos. Corresponde al fichero: GestionPermisos.php.
Proceso 20 Gestin de reas Este proceso permite el mantenimiento de las reas registradas en el sistema. Para llevarlo a cabo, es necesario consultar los almacenes: Areas, Personas_Areas y Permisos, y modificar los dos primeros. nicamente se podr acceder a este proceso si ID = Gestion Areas. Adems, si el usuario tiene permisos sobre la operacin Consultar Usuario, se podr acceder a la ficha de todos los usuarios que aparezcan en pantalla a travs del mdulo 6. Corresponde al fichero: GestionAreas.php.
Proceso 21 Gestin de categoras Este proceso permite el mantenimiento de las categoras registradas en el sistema. Para llevarlo a cabo, es necesario consultar los almacenes: Categoria, Personas_Categoria y Permisos, y modificar los dos primeros. nicamente se podr acceder a este proceso si ID = Gestion Categorias. Adems, si el usuario tiene permisos sobre la operacin Consultar Usuario, se podr acceder a la ficha de todos los usuarios que aparezcan en pantalla a travs del mdulo 6. Corresponde al fichero: GestionCategorias.php.
55
Captulo 3 - Diseo
3.2.1.5.- Otras operaciones En este apartado se ven reflejadas todas las operaciones que, por su carcter, no pertenecen a ninguna de las anteriores categoras.
ri o su a
Usuario
Pa
gi + n ssw o rd
Lo
op Ad D=
U tar
Entrada al sistema 1
ID =
Adopcin de Usuarios 22
E nvia
r Cor r eo
An t
rio
Correo 5
ID =
e ri or
ID =
ID + Login de usuario
Anteri or
Muestra informaciones 6
A continuacin se explica para qu sirven cada uno de los procesos: Proceso 22 Adopcin de usuarios De un modo muy similar al proceso 2, este proceso permite realizar bsquedas y listas sobre los usuarios que estn dados de alta en el sistema. Solamente se podr llegar hasta aqu, si la operacin escogida por el usuario en el proceso 1.3 es Adoptar Usuario. Al permitir realizar bsquedas segn diferentes criterios, este proceso consulta los almacenes de: Personas, Personas_Categoria, Personas_Areas, Areas, Permisos y Categoria. Adems, una vez realizada una bsqueda, permite ver en detalle las fichas de los usuarios a travs de peticiones al mdulo 6. Corresponde al fichero: AdoptarUsuario.php. 56
li Pu b ca c io ne s
Gestor de Publicaciones 24
s ia ic ot N
Gestor de Noticias 23
Publicacions
Captulo 3 - Diseo
Proceso 5 Correo Aqu se realizan todas las operaciones relacionas con el envo de correos.
So l ic Est a i tu do d e al d Pro p t as Asig n uest a aci n
ID = Asignar Proyectos
Enviar
Ge nera r
Permisos
Personas
An t
L og
erio r
ID + in d eu su
ario
o Proceso 5.1 Formulario de correo Este proceso se encarga de recoger toda la informacin necesaria para el envo de correos electrnicos (destinatario, cc, bcc, asunto y mensaje). Adems, si el usuario puede realizar la operacin Consultar Usuario, se le mostrarn unos botones que le facilitarn rellenar los campos. As pues, solamente ser necesario consultar el almacn Permisos. Corresponde al fichero: Correo.php. o Proceso 5.2 Envo de correo Su funcin es la de recibir toda la informacin del proceso 5.1 y realizar el envo del e-mail. Adems, puede recibir: solicitudes (de los procesos 10 y 14), propuestas (de los 8 y 12), 57
Captulo 3 - Diseo
estados de altas (del 4) y asignaciones (de los 7 y 11), para realizar un envo directo. De esta manera ser necesario consultar el almacn Personas para saber el origen de los envos. Corresponde al fichero: Correo2.php. o Proceso 5.3 Generador de campos Dependiendo de la eleccin escogida en el proceso 5.1, aqu se podrn generar los diferentes campos de los destinos a travs de un buscador integrado. Por eso mismo, y al soportar varios criterios, los almacenes que se consultarn son: Areas, Permisos, Categoria, Personas, Personas_Areas y Personas_Categoria. Como se ha comentado anteriormente, si se llega a este proceso, el usuario tiene privilegios sobre la operacin Consultar Usuarios, por eso mismo, cada vez que se muestre el nombre de un usuario en pantalla, se podr mostrar su ficha personal a travs de peticiones al mdulo 6. Corresponde al fichero: GeneradorCamposMail.php.
Proceso 23 Gestor de noticias Este proceso permite el mantenimiento de las noticias del cliente. Para llevarlo a cabo, es necesario consultar y modificar el almacn de Noticies. nicamente se podr acceder a este proceso si ID = Noticias. Corresponde a los ficheros: noticies.php, dadesNoticia.php y operacionsNoticia.php.
Proceso 24 Gestor de publicaciones Este proceso permite el mantenimiento de las publicaciones del cliente. Para llevarlo a cabo, es necesario consultar y modificar el almacn de Publicacions. nicamente se podr acceder a este proceso si ID = Publicacions. Corresponde a los ficheros: publicacions.php, dadesPublicacio.php y operacionsPublicacio.php.
58
Captulo 3 - Diseo
Target: representa una pgina, el contenido del cual se actualizar siempre que se utilice su identificador.
59
Captulo 3 - Diseo
JavaScript: cdigo que se ejecuta en el lado del cliente. Indicar cuales son las funciones que existen.
o Submit: en el origen existe un formulario y se enviarn todos sus parmetros a la pgina que indica la punta. La opcin que se muestra al usuario para realizar el submit es el Texto.
<<submit>> Texto
o Links: el origen contiene una link a la punta de la flecha. Texto indicar la opcin que se le muestra al usuario para cambiar de pgina. Tambin se detalla la informacin que se pasa como parmetros.
<<links>> Texto {parameters}
o Redirect: la pgina del origen hace una redireccin a la de la punta de la flecha enviando ciertos parmetros. Tambin se indica cierta informacin para determinar en que caso tiene lugar.
<<redurect>> Informacin {parameters}
60
Captulo 3 - Diseo
o Frame content: se utiliza para determinar de qu pginas (punta de la flecha) est compuesto un frame (origen). Tambin se indica en qu columna (col) y fila (row) se muestra.
<<frame content>> {col, row}
o Targeted link: se utiliza para mostrar el contenido de una pgina (punta de la flecha) en otro pgina indicada en el target. Se utiliza para el uso de frames.
<<targeted link>> {target}
o Builds: el origen genera la pgina de la punta de la flecha. Es la relacin que existe entre las pginas de servidor y las de cliente, ya que las primeras construyen las ltimas.
<<builds>>
Al igual que al detallar los diagramas de flujos de datos, stos se dividirn en varias categoras para facilitar su estudio. Cabe destacar, que en todos los diagramas se contemplarn varias funciones repetidas que servirn para lo mismo: carCalFaltan(formulario): se encarga de mantener un contador de los caracteres restantes por cada uno de los textarea de los formularios. Cambiar_formulario(seleccin): para una determinada eleccin de los options de los formularios, se mostrarn o dejarn de mostrar algunos campos. Esto se utiliza en tres formularios: o FormularioUsuario3.php: si el campo categora pasa a ser Colaborador, se mostrarn los campos notas y convocatorias. En caso contrario se ocultarn. o FormularioProyecto3.php: si el campo estado pasa a ser Asignado, se mostrarn los campos: fecha_entrega, alumno y nota. En caso contrario se ocultarn. 61
Captulo 3 - Diseo
o FormularioTrabajo3.php: si el campo estado pasa a ser Asignado, se mostrarn los campos: fecha_entrega, alumno y nota. En caso contrario se ocultarn. Go_to(parmetros): se encargan de la redireccin a otras pginas, pasando parmetros, sin la necesidad de hacer formularios. Validacin(formulario): son llamadas antes del envo de cada formulario y realizan las comprobaciones de que los campos concuerdan con una serie de expresiones regulares. A continuacin se muestra una tabla con todos los atributos y sus restricciones:
Restricciones: ^([a-z]|[A-Z]||||||||\s|\.|-)+$ Longitud mxima: 30 ^([a-z]|[A-Z]|[0-9]||||||||\s|\.|-)+$ Longitud mxima: 30 ^([a-z]|[A-Z]|[0-9]||||||||\s|\.|-)+$ Longitud mxima: 30 ^([a-z]|[A-Z]||||||||\s|\.|-)+$ Longitud mxima: 30 ^([a-z]|[A-Z]||||||||\s|\.|-)+$ Longitud mxima: 30 Longitud mnima: 5 Longitud mxima: 15 Longitud mnima: 5 Longitud mxima: 15 Tiene que ser igual a password
^([a-z]|[A-Z]|[0-9]||||||||\s|\.|-)+$ Longitud mxima: 1024 ^([a-z]|[A-Z]|[0-9]||||||||\s|\.|-)+$ Longitud mxima: 100 ^([a-z]|[A-Z]|[0-9]||||||||\s|\.|-)+$ Longitud mxima: 30 ^([a-z]|[A-Z]|[0-9]||||||||\s|\.|-)+$ 62
Desarrollo de una aplicacin web Longitud mxima: 1024 practica url nota fecha_maxima ^([a-z]|[A-Z]|[0-9]||||||||\s|\.|-)+$ Longitud mxima: 1024 ^([a-z]|[A-Z]|[0-9]||||||||\s|\.|-)+$ Longitud mxima: 100 ^([a-z]|[A-Z]|[0-9]||||||||\s|\.|-)+$ Longitud mxima: 10 Longitud de ao: 4 En los meses 4, 6, 9 y 11: 0 < da < 31 En el mes 2: 0 < da < 29 Resto de meses: 0 < da < 32 0 < mes < 12 1900 < ao fecha_entrega Longitud de ao: 4 En los meses 4, 6, 9 y 11: 0 < da < 31 En el mes 2: 0 < da < 29 Resto de meses: 0 < da < 32 0 < mes < 12 1900 < ao cc destinatario bcc asunto mensaje ^(.+\@.+\..+)*$ Longitud mxima: 40 ^(.+\@.+\..+)*$ Longitud mxima: 40 ^(.+\@.+\..+)*$ Longitud mxima: 40 ^([a-z]|[0-9]|[A-Z]||||||||\s|\.|-)*$ Longitud mxima: 50 ^([a-z]|[A-Z]|[0-9]||||||||\s|\.|-)+$ Longitud mnima: 1 Longitud mxima: 2500 alta No puede ser ninguno No puede ser igual al atributo media No puede ser igual al atributo baja 63
Captulo 3 - Diseo
Desarrollo de una aplicacin web media No puede ser ninguno No puede ser igual al atributo alta No puede ser igual al atributo baja baja No puede ser ninguno No puede ser igual al atributo alta No puede ser igual al atributo media tipo path catalan/2 castellano/2 ingles/2
Captulo 3 - Diseo
^ ([a-z]|[A-Z]|[0-9]||||||||\s|\.|-|\/)+$/ Longitud mxima: 20 ^ ([a-z]|[A-Z]|[0-9]||||||||\s|\.|-|\/)+$/ Longitud mxima: 100 ^ ([a-z]|[A-Z]|[0-9]||||||||\s|\.|-|\/)+$/ Longitud mxima: 30 ^ ([a-z]|[A-Z]|[0-9]||||||||\s|\.|-|\/)+$/ Longitud mxima: 30 ^ ([a-z]|[A-Z]|[0-9]||||||||\s|\.|-|\/)+$/ Longitud mxima: 30
Tabla 3.15.- Atributos y restricciones de los formularios
64
Captulo 3 - Diseo
3.2.2.1.- Operaciones de usuarios En este apartado se detallan las operaciones que estn relacionadas con los usuarios. Registrar usuario: permite el registro de nuevos usuarios de tipo Colaborador en el sistema. Requiere de una posterior validacin para hacer operativo al usuario.
index
Formulario Usuario3
Formulario Usuario33
<<builds>>
<<builds>> <<builds>>
<<links>> Registrar
Formulario usuario
<<submit>> Registrar
Resultado Operacin
tipo : Colaborador login : text nombre : text apellido1 : :text apellido2 : :text password : password password2 : pass word area : option observaciones : textarea notas : option convocatorias : option
65
Captulo 3 - Diseo
Validacin de usuario: esta es la prueba de acceso (inicio de sesin) para que los usuarios puedan ser autorizados a utilizar el sistema. Para el resto de operaciones explicadas, se tendr que pasar por aqu para hacer la correcta validacin de usuario.
index
control
pagina y menu
Bienvenida
<<builds>>
Usuario
Pagina de acceso
<<frame content>> {col=2, row=2} validacion (formulario); us uario : text contrasena : text Contenido
Menu
66
Captulo 3 - Diseo
Insertar usuario: permite el registro directo en el sistema de cualquier tipo de usuario. ste estar operativo desde la insercin.
Formulario Usuario3
Formulario Usuario33
<<builds>>
Formulario usuario
<<submit>> Insertar
<<builds>>
Resultado de operacin
tipo : option login : text nombre : text apellido1 : :text apellido2 : :text password : password password2 : password area : option observaciones : textarea notas : option convocatorias : option
67
Captulo 3 - Diseo
Consultar usuario: bsqueda de usuarios segn los siguientes criterios: rea a la que pertenecen, categora de usuario, login, nombre y apellidos. Esto permite generar informe tiles, adems de mostrar la informacin detallada de cada usuario.
Consulta Usuarios
Muesta Usuario
<<builds>>
<<submit>> Buscar
<<builds>>
Busqueda
Datos de usuario
validacion(formulario);
tipo : option login : text nombre : text apellido1 : :text apellido2 : :text area : option
68
Captulo 3 - Diseo
Eliminar usuario: a partir de la bsqueda de usuarios, permite mostrar la informacin detallada de los usuarios con la opcin de activada. sta permitir dar de baja a los usuarios. (eliminar)
Consulta Usuarios
Muesta Usuario
Elimina Us uario
<<builds>>
<<submit>> Buscar
<<builds>>
<<builds>>
Datos de us uario
<<links>> {parameters=login}
Resultado de operac in
validacion(formulario);
tipo : option login : text nombre : text apellido1 : :text apellido2 : :text area : option
69
Captulo 3 - Diseo
Modificar usuario: a partir de la bsqueda de usuarios, permite mostrar la informacin detallada de los usuarios con la opcin de activada. sta permitir variar la informacin de los usuarios. (modificar)
Consulta Usuarios
Muesta Usuario
Formulario Usuario3
Formulario Usuario33
<<builds>>
<<submit>> Buscar
<<builds>>
<<builds>> <<builds>>
Busqueda
Datos de usuario
<<links>> {parameters=login}
Formulario de usuario
<<submit>> Modificar
Resultado de operacin
validacion(formulario);
tipo : option login : text nombre : text apellido1 : :text apellido2 : :text area : option
tipo : option login : text nombre : text apellido1 : :text apellido2 : :text password : password password2 : password area : option observaciones : textarea notas : option convocatorias : option
70
Captulo 3 - Diseo
Aceptacin de alta: Permite aceptar solicitudes de registro al sistema de los Colaboradores. Adems ofrece la posibilidad de enviar un e-mail al usuario afectado.
<<builds>>
calCarFaltan(formulario); validacion(formulario);
71
Captulo 3 - Diseo
Rechazo de alta: permite rechazar solicitudes de registro al sistema de los Colaboradores. Adems ofrece la posibilidad de enviar un e-mail al usuario afectado.
<<redirect>> {parameters= datos, asunto, mensaje, login, destino} <<targeted link>> {target=Contenido}
<<uses>> <<builds>>
Elimina Usuario
calCarFaltan(formulario) go_to(login,destino)
72
Captulo 3 - Diseo
3.2.2.2.- Operaciones de proyectos Aqu se recogen todas las operaciones que tienen que ver con los proyectos (tanto TFC como PFC), desde la insercin de un nuevo proyecto hasta la asignacin de los mismos. Registrar proyecto: permite el registro directo en el sistema de un nuevo proyecto.
Formulario Proyecto3
Formulario Proyecto33
Resultado de operac in
es tado : option identificador : text titulo : text categoria : option descripcion : textarea parte_practica : textarea ponente : option alumno : option fecha_maxima : text fecha_entrega : text enlace : text notas : text requisitos : chec kbox
73
Captulo 3 - Diseo
Consultar proyecto: bsqueda de proyectos segn los siguientes criterios: el identificador, categora del proyecto (TFC o PFC), los requisitos necesarios para su desarrollo, el estado (libre, asignado o solicitado), el login del alumno y el login del ponente. Esto permite generar informe tiles, adems de mostrar la informacin detallada de cada proyecto.
Consulta Proyectos
Muesta Proyecto
<<builds>>
<<submit>> Buscar
<<builds>>
Busqueda
Datos de proyec to
validacion(formulario);
identificador : text login ponente : text login alumno : :text categoria : option es tado : option requisitos : checkbox
74
Captulo 3 - Diseo
Eliminar proyecto: a partir de la bsqueda de proyectos, permite mostrar la informacin detallada de los proyectos con la opcin de activada. sta permitir dar de baja los proyectos. (eliminar)
Consulta Proyectos
Muesta Proyecto
Elimina Proyecto
<<builds>>
<<submit>> Busc ar
<<builds>>
<<builds>>
Busqueda
Datos de proyecto
<<links>> {parameters=identificador}
Resultado operacin
validacion(formulario);
identificador : text login ponente : text login alumno : :text categoria : option estado : option requisitos : checkbox
75
Captulo 3 - Diseo
Modificar proyecto: a partir de la bsqueda de proyectos, permite mostrar la informacin detallada de los proyectos con la opcin de activada. Esto permitir variar la informacin de los proyectos. (modificar)
Consulta Proyectos
Muesta Proyecto
Formulario Proyecto3
Formulario Proyecto33
<<builds>>
<<builds>>
<<builds>>
Busqueda
Datos de proyecto
<<links>> {parameters=identificador}
Formulario proyecto
<<submit>> Modificar
Resultado de operacin
validacion(formulario);
identificador : text login ponente : text login alumno : :text categoria : option estado : option requisitos : c heckbox
estado : option identific ador : text titulo : text categoria : option descripcion : :textarea parte_practica : :textarea ponente : option alumno : option fecha_maxima : text fecha_entrega : text enlace : text notas : text requisitos : checkbox
76
Captulo 3 - Diseo
Proponer proyecto: permite a los usuarios hacer una nueva propuesta de proyecto a uno de los profesores de las diferentes reas, al cual se le enviar un e-mail con la propuesta.
Formulario Proyecto3
Formulario Proyecto33
<<uses>>
Correo2
Resultado de operacin
identificador : text titulo : text categoria : option descripcion : :textarea parte_practica : :textarea ponente : option requisitos : chec kbox
77
Captulo 3 - Diseo
Asignar proyectos: permite asignar un proyecto a un determinado usuario (que previamente haba hecho la solicitud) y generar dos tipos de listas: o Usuarios-Proyectos: lista de los proyectos solicitados por cada usuario. o Proyectos-Usuarios: lista de los usuarios que han solicitado cada proyecto. Una vez hecha la asignacin, se enviar un correo electrnico al usuario afectado informndole de la aceptacin de su solicitud.
Solicitar Proyectos
<<uses>>
Muestra Usuario
<<builds>>
<<links>> Anterior
Listas
generador_lista1(); generador_lista2();
78
Captulo 3 - Diseo
Solicitar proyecto: muestra informacin al usuario de los proyectos disponibles, y permite solicitar tres de ellos (con diferente prioridad) para el posterior desarrollo de uno de ellos. Las solicitudes se enviarn por e-mail al encargado de asignar los proyectos.
Solicitar Proyectos
Solicitar Proyectos2
<<uses >>
Correo2
<<submit>> Solicitar
Resultado de operacin
79
Captulo 3 - Diseo
Aqu se recogen todas las operaciones relacionadas con los trabajos. Las funcionalidades descritas son muy parecidas a las de los proyectos. Registrar trabajo: permite el registro directo en el sistema de un nuevo trabajo.
Formulario Trabajo3
Formulario Trabajo33
<<builds>>
<<builds>>
Formulario trabajo
<<submit>> Insertar
Resultado de operac in
estado : option identific ador : text titulo : text descripcion : textarea parte_practica : textarea alumno : option fecha_maxima : text fec ha_entrega : text enlace : text nota : text
80
Captulo 3 - Diseo
Consultar trabajo: bsqueda de trabajos segn los siguientes criterios: identificador, login alumno y estado (libre, asignado o solicitado). Esto permite generar informe tiles, adems de mostrar la informacin detallada de cada trabajo.
Consulta Trabajos
Muesta Trabajo
<<builds>>
Busqueda
Datos de trabajo
validacion(formulario);
81
Captulo 3 - Diseo
Eliminar trabajo: a partir de la bsqueda de trabajos, permite mostrar la informacin detallada de los trabajos con la opcin de activada. sta permitir dar de baja los trabajos. (eliminar)
Consulta Trabajos
Muesta Trabajo
Elimina Trabajo
<<builds>>
<<submit>> Buscar
<<builds>>
<<builds>>
Busqueda
Datos de trabajo
<<links>> {parameters=identificador}
Resultado de operac in
validacion(formulario);
82
Captulo 3 - Diseo
Modificar trabajo: a partir de la bsqueda de trabajos, permite mostrar la informacin detallada de los trabajos con la opcin de activada. Esto permitir variar la informacin de los trabajos. (modificar)
Consulta Trabajos
Muesta Trabajo
Formulario Trabajo3
Formulario Trabajo33
<<builds>>
<<submit>> Buscar
<<builds>>
<<builds>> <<builds>>
Busqueda
Datos de trabajo
validacion(formulario);
identificador : text login alumno : :text estado : option calCarFaltan(formulario); calCarFaltan2(formulario); cambiar_formulario(seleccion); valida_fecha(Cadena,Campo); validacion(formulario); es tado : option identificador : text titulo : text descripcion : textarea parte_practica : textarea alumno : option fecha_maxima : text fecha_entrega : text enlace : text nota : text
83
Captulo 3 - Diseo
Proponer trabajo: permite a los usuarios hacer una nueva propuesta de trabajo a uno de los profesores de las diferentes reas, al cual se le enviar un e-mail con la propuesta.
Formulario Trabajo3
Formulario Trabajo33
<<uses>>
Correo2
<<builds>> <<builds>>
Formulario trabajo
<<submit>> Insertar
Resultado de operacin
estado : option identificador : text titulo : text descripcion : textarea parte_practica : textarea alumno : option fecha_maxima : text fecha_entrega : text enlace : text nota : text
84
Captulo 3 - Diseo
Asignar trabajos: Permite asignar un trabajo a un determinado usuario (que previamente haba hecho la solicitud) y generar dos tipos de listas: o Usuarios-Trabajos: lista de los proyectos solicitados por cada usuario. o Trabajos-Usuarios: lista de los usuarios que han solicitado cada proyecto. Una vez hecha la asignacin, se enviar un correo electrnico al usuario afectado informndole de la aceptacin de su solicitud.
Solicitar Trabajos
<<uses>>
Muestra Usuario
<<links>> Anterior
Listas
generador_lista1(); generador_lista2();
85
Captulo 3 - Diseo
Solicitar trabajo: muestra informacin al usuario de los trabajos disponibles, y permite solicitar tres de ellos (con diferente prioridad) para el posterior desarrollo de uno de ellos. Las solicitudes se enviarn por e-mail al encargado de asignar los trabajos. Esta operacin la realizar un solo miembro del grupo, indicando sus componentes.
Solicitar Trabajos2
<<uses>>
Correo2
<<builds>>
<<builds>>
<<submit>> Solicitar
Resultado de operacin
86
Captulo 3 - Diseo
Aqu se encuentran todas las funcionalidades que tienen que ver con el mantenimiento de la base de datos (Gestion Requisitos, Gestion Asignaturas, Gestion Operaciones, Gestion Areas, Gestion Categora), as como las que permiten definir diferentes niveles de acceso (Gestion Permisos) y el mantenimiento de todos los contenidos de la aplicacin. (Gestion Contenidos). Gestin de reas: muestra un listado de las reas del sistema y las personas que pertenecen a cada una. Adems permite: modificar, eliminar e insertar nuevas reas. o Insertar:
Gestion Areas
<<builds>>
<<submit>> Insertar
Gestin de reas
calCarFaltan(formulario); validacion(formulario);
87
Captulo 3 - Diseo
Figura 3.40.- WAE Insertar rea
o Eliminar:
Gestion Areas
<<builds>>
Lista de reas
Figura 3.41.- WAE Eliminar rea
88
Captulo 3 - Diseo
o Modificar:
Gestion Areas
<<builds>>
<<submit>> Modificar
Gestin de reas
calCarFaltan(formulario); validacion(formulario);
Las operaciones de gestin categoras, requisitos y asignaturas se tratan de igual modo que sta. Solamente habra que cambiar la palabra reas por categoras, requisitos y asignaturas respectivamente. Gestin categoras: muestra un listado de los tipos de usuario del sistema y las personas que pertenecen a cada uno. Adems permite: modificar, eliminar e insertar nuevos tipos. 89
Captulo 3 - Diseo
Los diagramas seran iguales que en la operacin Gestin Areas con la salvedad de que habra que sustituir reas por categoras. Gestin asignaturas: muestra un listado de las asignaturas del sistema y los Colaboradores que las han cursado. Adems permite: modificar, eliminar e insertar nuevas asignaturas. Los diagramas seran iguales que en la operacin Gestin Areas con la salvedad de que habra que sustituir reas por asignaturas. Gestin requisitos: muestra un listado de los requisitos del sistema y los proyectos que los requieren. Adems permite: modificar, eliminar e insertar nuevos requisitos. Los diagramas seran iguales que en la operacin Gestin Areas con la salvedad de que habra que sustituir reas por requisitos. Gestin operaciones: muestra un listado de las operaciones del sistema, la categora a la que pertenecen y los tipos de usuarios que las pueden utilizar. Adems permite: modificar, eliminar e insertar nuevas operaciones. De igual modo que las anteriores operaciones, la estructura sera la misma pero habra que realizar algunos cambios ms: o Insetar; el formulario tendra que ser:
identificador : text catellano : textarea catalan : textarea ingles : textarea tipo : text catellano2 : textarea catalan2 : textarea ingles2 : textarea path : text descripcion: textarea
Figura 3.43.- WAE Formulario de insercin de operacin
90
Captulo 3 - Diseo
identificador : text (blocked) tipo : text path : text desc ripcion : textarea
Gestin contenidos: muestra un listado con todos los contenidos de la aplicacin web y la traduccin a los tres idiomas (Cataln, Castellano e Ingls). Adems permite: modificar, eliminar e insertar nuevos contenidos. Igual que antes la estructura sera la misma pero habra que realizar algunos cambios ms: o Insetar: el formulario tendra que ser:
91
Captulo 3 - Diseo
identific ador : text (blocked) catellano : textarea catalan : textarea ingles : textarea
Gestin permisos: segn el tipo de usuario, se muestra una lista completa de las operaciones, donde se indica las que estn permitidas y las que no. Adems permite modificar dichas listas para variar los permisos.
Gestion Permisos
<<builds>> <<redirect>> Cambio de categora {parameters = tipo} <<targeted link>> {target=Contenido} Gestin de permisos
<<submit>> Modificar
92
Captulo 3 - Diseo
Adoptar usuario: a partir de una bsqueda de usuarios segn los siguientes criterios: rea a la que pertenecen, categora de usuario, login, nombre y apellidos. Permite acceder a la cuenta del usuario que responde a la bsqueda.
Consulta Usuarios <<submit>> Adoptar Usuario <<builds>> <<submit>> Buscar <<targeted link>> {target=Contenido} Busqueda <<links>> <<links>> {parameters=login}
Muesta Usuario
<<builds>>
Datos de usuario
validacion(formulario);
tipo : option login : text nombre : text apellido1 : :text apellido2 : :text area : option
logins : checkbox
93
Captulo 3 - Diseo
Datos personales: muestra informacin detallada sobre el usuario en cuestin, adems tiene la opcin modificacin de los datos. (modificar) activada para permitir la
Consulta Usuarios
MuestaUsuario
Formulario Usuario3
Formulario Usuario33
<<builds>>
<<submit>> Buscar
<<builds>>
<<builds>>
Busqueda
Datos de usuario
<<links>> {parameters=login}
Formulario usuario
validacion(formulario);
tipo : option login : text nombre : text apellido1 : :text apellido2 : :text area : option
tipo : option login : text nombre : text apellido1 : :text apellido2 : :text password : password password2 : password area : option observac iones : textarea notas : option convocatorias : option
94
Captulo 3 - Diseo
Enviar correo: permite redactar y enviar un correo electrnico. Adems ofrece facilidades para rellenar los campos gracias a un buscador de usuarios integrado.
<<submit>> Generar Correo2 Correo Generador Campos Mail <<builds >> <<submit>> Modificar <<links>> <<targeted link>> {target=Contenido} Formulario de correo Generar Destinatario /CC/BCC {parameters= opcion, cc, bcc, asunto, mensaje} <<builds>> <<builds>>
Re sult ad o de operacin
Muesta Usuario
Busqueda
validacion(formulario);
tipo : option login : text nombre : text apellido1 : :text apellido2 : :text area : option
logins : c heckbox
95
Captulo 4 - Desarrollo
4.- Desarrollo
4.1.- Proceso de implementacin
Una aplicacin web de estas caractersticas presenta gran cantidad de componentes a desarrollar. Para poder abarcar todas las funcionalidades y lograr una implementacin lgica y coherente es necesario seguir unas determinadas pautas. As pues, el desarrollo se divide en un total de siete etapas: 1. Base de datos: Las elecciones ms importantes fueron tomadas en la etapa de Anlisis. El trabajo en esta etapa, consiste en pasar el diagrama entidad-relacin a sentencias SQL, para posteriormente implementarlo en MySQL. 2. Seguridad: en esta fase, el desarrollo consiste en definir el acceso al sistema e implementar el mdulo de seguridad que permitir prevenir a la aplicacin web de los ataques de los piratas informticos: sql injection, fuerza bruta, sniffering, 3. Idiomas: antes de continuar con el desarrollo del resto de la aplicacin, se implementa el mdulo que permitir dar soporte a varios idiomas. As pues, el resto de la aplicacin se har teniendo en cuenta el desarrollo de este mdulo. 4. Interfaz: aqu se lleva a cabo la implementacin dinmica del men de la aplicacin web. ste permitir mostrar una interfaz coherente al nivel de acceso de cada tipo de usuario y ser el que se encargue de la llamada a todas las funcionalidades del sistema. 5. Funcionalidades: una vez que se tiene la base de la aplicacin web, el trabajo consiste en el desarrollo de todas las funcionalidades especificadas en el anlisis de requisitos y estudiadas en la etapa de diseo. Para cada funcionalidad, se disea una pequea interfaz que 96
Captulo 4 - Desarrollo
permitir realizar la operacin en cuestin y posteriormente se implementa. Cada vez que se acaba el desarrollo de una funcin, se realizan dos tipos de pruebas [14] de cada componente: Pruebas unitarias, para determinar que los resultados obtenidos eran los esperados Pruebas de integracin, para validar que los componentes integrados se ejecutan como se especific. Finalmente con el desarrollo completo de todas las
funcionalidades del sistema, se realizan pruebas de caja negra y de cliente, para asegurar que los objetivos del proyecto no se han visto modificados a lo largo del proceso de desarrollo, y se cumple con las expectativas del cliente. 6. Integracin de mdulos: en esta aplicacin web se facilitan dos mdulos (noticias y publicaciones) que requieren de pequeas modificaciones para adaptarlos a la poltica seguida en el resto de la aplicacin. As pues, en esta fase se introducen todos esos cambios necesarios como pueden ser la inclusin del mdulo de seguridad o el soporte para varios idiomas. Adems, se introducen ciertas mejoras requeridas por el cliente final. 7. Apariencia: por ltimo y no menos importante, se encuentra el diseo de la aplicacin web. La importancia de esta fase es debida a que el producto final entra, en gran medida, por los ojos del cliente. Es decir, el cliente se fijar en la apariencia de la aplicacin y en ella se basarn gran parte de sus crticas. Para su desarrollo y poder garantizar el xito, se ha tenido el asesoramiento de un diseador grfico profesional.
Cualquier fase de desarrollo, depende de las fases anteriores, de ah la importancia del orden en su implementacin. As pues, el proceso de desarrollo podra
97
Captulo 4 - Desarrollo
verse como una pirmide en la que se observan las dependencias entre las diferentes fases:
Por ltimo, se muestra un cuadro resumen de lo desarrollado para cada una de las fases.
Desarrollado: Sentencias SQL para la creacin de toda la base de datos del sistema y su correcta inicializacin. Mdulo de Seguridad: NivelSeguridad.php. Mdulo para el soporte de varios idiomas: Idiomas.php. Men dinmico del sistema Adoptar Usuario Altas Usuarios Asignar Proyectos Asignar Trabajos Consultar Proyecto Consultar Trabajo Consultar Usuario Datos Personales
98
Desarrollo de una aplicacin web Eliminar Proyecto Eliminar Trabajo Eliminar Usuario Enviar Correo Gestion Areas Gestion Asignaturas Gestion Categorias Gestion Contenidos Gestion Operaciones Gestion Permisos Gestion Requisitos Insertar Usuario Modificar Proyecto Modificar Trabajo Modificar Usuario Proponer Proyecto Proponer Trabajo Registrar Proyecto Registrar Trabajo Registrar Usuario Solicitar Proyecto Solicitar Trabajo 6 7 Integracin de mdulos Noticias Publicaciones Apariencia
Captulo 4 - Desarrollo
99
Captulo 4 - Desarrollo
100
Desarrollo de una aplicacin web //Idioma por defecto -> Catalan, Castellano o Ingles ##Idioma_Por_Defecto# Catalan
Captulo 4 - Desarrollo
//Informacion de bloqueo de usuarios, nmero de intentos y tiempo de bloqueo en minutos ##Max_Intentos# 5 ##Tiempo_Bloqueo# 2 //Fechas para el registro de usuarios (Da y mes) ##Dia_Inicio_Registro# 3 ##Mes_Inicio_Registro# 3 ##Dia_Final_Registro# 6 ##Mes_Final_Registro# 10 //PATH de carpeta con fotos de los usuarios, el nombre de la foto ha de ser el login ##PATH_Fotos# http://ecampus.salleurl.edu/fotos/ //extensin sin . ##Extension_Fotos# jpg //Dominio del correo de los usuarios ##Dominio_Correo# salleurl.edu
101
Captulo 4 - Desarrollo
El sistema que se sigue para la bsqueda de los atributos es: 1. Se abre el archivo configuracion.conf. 2. Se recorre todo el fichero en busca de ##Atributo_Que_Necesitamos#. 3. Se recoge la informacin de la siguiente lnea en donde se encontr el atributo. 4. Se cierra el archivo configuracion.conf. Por lo tanto, es importante tener en cuenta que si se quiere agregar un nuevo atributo, ste ha de tener dos lneas reservadas. La primera contiene ##Nombre_Atributo#, y la segunda el valor del atributo. Hay que tener en cuenta que: Se requieren dos # antes del atributo y una detrs. Ese ser el criterio de bsqueda de la aplicacin web. La lnea que contiene el valor, ha de ser consecutiva a la del atributo. Los comentarios pueden hacerse sin la doble /.
Atributo: Mail_Propuesta_Trabajo
Descripcin: Indica la direccin de e-mail que recibir las propuestas de los realicen. trabajos que se
Mail_Solicitud_Trabajo
SolicitarTrabajos2.php
Mail_Solicitud_Proyecto SolicitarProyectos2.php
102
Idioma_Por_Defecto
Control.php FormularioUsuario33.php
Es el idioma que se asignar por defecto a todos los usuarios que se den de alta en el sistema.
Max_Intentos
Control.php
Nmero acceso
de
intentos que
de se
fallidos
permite a un usuario antes de bloquear su cuenta. Tiempo_Bloqueo Control.php Tiempo en minutos que se bloquear el acceso a un cuenta nmero Dia_Inicio_Registro Index.php si se de iguala el accesos
incorrectos a Max_Intentos. Da a partir del cual, la opcin Registrar estar activada a los usuarios no autentificados y la operacin Registrar Usuario estar operativa, Mes_Inicio_Registro Index.php permitiendo el registro de Colaboradores. Mes a partir del cual, la opcin Registrar estar activada a los usuarios no autentificados y la operacin Registrar Usuario estar operativa, Dia_Final_Registro Index.php permitiendo el registro de Colaboradores. Da a partir del cual, la opcin Registrar estar desactivada y la operacin Registrar Usuario estar deshabilitada, cerrando la 103
Captulo 4 - Desarrollo posibilidad de registro de nuevos Colaboradores sin la mediacin de los profesores.
Mes_Final_Registro
Index.php
Mes a partir del cual, la opcin Registrar estar desactivada y la operacin Registrar Usuario estar deshabilitada, cerrando la posibilidad de registro de nuevos Colaboradores sin la mediacin de los profesores.
PATH_Fotos
FormularioUsuario33.php
Indica la direccin absoluta, donde se encontrarn las fotos de los usuarios. Los nombres de las fotos han de coincidir con los logins de los usuarios.
Extension_Fotos
FormularioUsuario33.php
Extensin (sin punto) de las fotos de los usuarios. Los nombres de las fotos han de coincidir con los logins de los usuarios.
Dominio_Correo
FormularioUsuario33.php
al los
cual cuando
se se
correos
registre el usuario en el sistema. La primera parte del e-mail ha de ser el login del usuario.
Tabla 4.2.- Atributos del archivo de configuracin
104
Captulo 4 - Desarrollo
Variable: s_autentificado
Descripcin: si el su usuario login en y cuestin, est autentificado (ha introducido password correctamente) o no. Esta variable permite mantener cierta seguridad en el sistema.
s_login
Es invariable a lo largo de Contiene el login del usuario la sesin. Depende del que se ha autentificado con login de usuario. xito.
s_idioma
Puede variar a lo largo de Indica el idioma en el que se le una sesin. Los valores que mostrarn los textos al usuario. puede tomar dependen de la base de datos, por defecto son: Catalan Castellano Ingles
s_tipo
105
Captulo 4 - Desarrollo
la sesin. Los valores que de acceso del usuario en puede tomar dependen de cuestin. Esta variable permite la base de datos, por mantener cierta seguridad en el defecto son: Colaborador Profesor Admin una cadena donde de fichero. se los las Esta todos sistema.
sesin. Los valores que encuentran puede tomar dependen de identificadores encuentre el usuario. determinado variable s_operacion Es variable a lo largo de la Es puede tomar dependen de la la operacin que realizando el usuario. una
la pgina en la que se operaciones permitidas en un permite cadena que mantener donde se se est cierta
cierta seguridad en el sistema. sesin. Los valores que encuentran el identificador de operacin est llevando a cabo. Esta variable permite mantener seguridad en el sistema.
Tabla 4.3.- Variables de sesin
Hay que destacar, que durante la implementacin de algunos mdulos se ha utilizado las variables de sesin con otra filosofa que se aleja a la comentada anteriormente. Esto ocurre justo antes de la inclusin de algunas pginas y permite simular el envo de campos, por el mtodo post, sin la necesidad de hacer un formulario. Las variables que se declaran antes del include, son destruidas justo despus y no utilizan la nomenclatura s_.
106
Captulo 4 - Desarrollo
Tabla: Areas
Sentencia SQL:
CREATE TABLE areas ( ID_Area varchar(30) NOT NULL default '', Descripcion text, PRIMARY KEY (ID_Area), UNIQUE KEY XPKAreas (ID_Area) ) TYPE=MyISAM;
Asignaturas
CREATE TABLE asignaturas ( ID_Asignatura varchar(30) NOT NULL default '', Descripcion text, PRIMARY KEY (ID_Asignatura),
107
Captulo 4 - Desarrollo
Categoria
CREATE TABLE categoria ( ID_Categoria varchar(30) NOT NULL default '', Descripcion text, PRIMARY KEY (ID_Categoria), UNIQUE KEY XPKCategoria (ID_Categoria) ) TYPE=MyISAM;
Idiomas
CREATE TABLE idiomas ( Identificador varchar(254) NOT NULL default '', Castellano text, Catalan text, Ingles text, Origen varchar(20) NOT NULL default '', PRIMARY KEY (Identificador), UNIQUE KEY XPKIdiomas (Identificador) ) TYPE=MyISAM;
Notas
CREATE TABLE notas ( ID_Asignatura varchar(30) NOT NULL default '', ID_Login varchar(15) NOT NULL default '', Convocatoria varchar(10) default NULL, Nota varchar(5) default NULL, PRIMARY KEY (ID_Asignatura,ID_Login), UNIQUE KEY XPKNotas (ID_Asignatura,ID_Login) ) TYPE=MyISAM;
Operaciones
CREATE TABLE operaciones ( ID_Operacion varchar(30) NOT NULL default '', Path varchar(100) default NULL, Tipo varchar(20) default NULL, Descripcion text, PRIMARY KEY (ID_Operacion), UNIQUE KEY XPKOperaciones (ID_Operacion) ) TYPE=MyISAM;
Permisos
108
Captulo 4 - Desarrollo
ID_Operacion varchar(30) NOT NULL default '', PRIMARY KEY (ID_Categoria,ID_Operacion), UNIQUE KEY XPKPermisos (ID_Categoria,ID_Operacion) ) TYPE=MyISAM;
Personas
CREATE TABLE personas ( ID_Login varchar(15) NOT NULL default '', Nombre varchar(30) NOT NULL default '', Apellido1 varchar(30) default NULL, Apellido2 varchar(30) default NULL, Mail varchar(30) default NULL, Password varchar(15) default NULL, Foto varchar(50) default NULL, Estado varchar(20) default NULL, Idioma varchar(10) NOT NULL default '', Intentos int(11) default NULL, Ultimo_Intento varchar(30) default NULL, Ultimo_Acceso varchar(30) default NULL, Observaciones text, PRIMARY KEY (ID_Login), UNIQUE KEY XPKPersonas (ID_Login) ) TYPE=MyISAM;
Personas_Areas
CREATE TABLE personas_areas ( ID_Area varchar(30) NOT NULL default '', ID_Login varchar(15) NOT NULL default '', Ano int(11) default NULL, PRIMARY KEY (ID_Area,ID_Login), UNIQUE KEY XPKPersonas_Areas (ID_Area,ID_Login) ) TYPE=MyISAM;
Personas_Categoria
CREATE TABLE personas_categoria ( ID_Categoria varchar(30) NOT NULL default '', ID_Login varchar(15) NOT NULL default '', Ano int(11) default NULL, PRIMARY KEY (ID_Categoria,ID_Login), UNIQUE KEY XPKPersonas_Categoria (ID_Categoria,ID_Login) ) TYPE=MyISAM;
109
Captulo 4 - Desarrollo
ID_Proyecto varchar(30) NOT NULL default '', Prioridad varchar(15) default NULL, PRIMARY KEY (ID_Login,ID_Proyecto), UNIQUE KEY XPKPersonas_Proyectos (ID_Login,ID_Proyecto) ) TYPE=MyISAM;
Proyectos
CREATE TABLE proyectos ( ID_Proyecto varchar(30) NOT NULL default '', Titulo varchar(100) default NULL, Categoria varchar(50) default NULL, Descripcion text, Fecha_Maxima date default NULL, Estado varchar(30) default NULL, Nota varchar(10) default NULL, Fecha_Entrega date default NULL, ID_Login_Alumno varchar(15) default NULL, ID_Login_Ponente_FK varchar(15) default NULL, Url varchar(100) default NULL, Parte_Practica text, PRIMARY KEY (ID_Proyecto), UNIQUE KEY XPKProyectos (ID_Proyecto) ) TYPE=MyISAM;
Proyectos_Requisitos
CREATE TABLE proyectos_requisitos ( ID_Proyecto varchar(30) NOT NULL default '', ID_Requisito varchar(30) NOT NULL default '', PRIMARY KEY (ID_Proyecto,ID_Requisito), UNIQUE KEY XPKProyectos_Requisitos (ID_Proyecto,ID_Requisito) ) TYPE=MyISAM;
Requisitos
CREATE TABLE requisitos ( ID_Requisito varchar(30) NOT NULL default '', Descripcion text, PRIMARY KEY (ID_Requisito), UNIQUE KEY XPKRequisitos (ID_Requisito) ) TYPE=MyISAM; Tabla 4.4.- Sentencias SQL para la creacin de la base de datos
110
Captulo 4 - Desarrollo
Descripcin: Introducen la
111
Captulo 4 - Desarrollo
'GestionOperaciones.php', 'Gestion', ''); INSERT INTO operaciones VALUES ('Gestion Permisos', 'GestionPermisos.php', 'Gestion', ''); INSERT INTO operaciones VALUES ('Enviar Correo', 'Correo.php', 'Otros', ''); INSERT INTO operaciones VALUES ('Altas Usuarios', 'AltasUsuarios.php', 'Usuario', ''); INSERT INTO operaciones VALUES ('Solicitar Proyecto', 'SolicitarProyectos.php', 'Proyecto', ''); INSERT INTO operaciones VALUES ('Datos Personales', 'MuestraUsuario.php', 'Otros', ''); INSERT INTO operaciones VALUES ('Asignar Proyectos', 'AsignarProyectos.php', 'Proyecto', ''); INSERT INTO operaciones VALUES ('Proponer Trabajo', 'FormularioTrabajo3.php', 'Trabajo', ''); INSERT INTO operaciones VALUES ('Registrar Trabajo', 'FormularioTrabajo3.php', 'Trabajo', ''); INSERT INTO operaciones VALUES ('Modificar Trabajo', 'ConsultaTrabajos.php', 'Trabajo', ''); INSERT INTO operaciones VALUES ('Eliminar Trabajo', 'ConsultaTrabajos.php', 'Trabajo', ''); INSERT INTO operaciones VALUES ('Consultar Trabajo', 'ConsultaTrabajos.php', 'Trabajo', ''); INSERT INTO operaciones VALUES ('Solicitar Trabajo', 'SolicitarTrabajos.php', 'Trabajo', ''); INSERT INTO operaciones VALUES ('Asignar Trabajos', 'AsignarTrabajos.php', 'Trabajo', ''); INSERT INTO operaciones VALUES ('Adoptar Usuario', 'AdoptarUsuario.php', 'Otros', ''); INSERT INTO operaciones VALUES ('Publicaciones', './admin/publicacions/publicacions.php', 'Otros', ''); INSERT INTO operaciones VALUES ('Noticias', './admin/noticies/noticies.php', 'Otros', ''); INSERT INTO operaciones VALUES ('Gestion Contenidos', 'GestionContenidos.php', 'Gestion', '');
Agregan
las
categoras
niveles de acceso de usuarios INSERT INTO categoria VALUES ('Colaborador', ''); predefinidos en el sistema.
112
Captulo 4 - Desarrollo
113
Captulo 4 - Desarrollo
INSERT INTO permisos VALUES ('Admin', 'Modificar Proyecto'); INSERT INTO permisos VALUES ('Admin', 'Modificar Trabajo'); INSERT INTO permisos VALUES ('Admin', 'Modificar Usuario'); INSERT INTO permisos VALUES ('Admin', 'Noticias'); INSERT INTO permisos VALUES ('Admin', 'Proponer Proyecto'); INSERT INTO permisos VALUES ('Admin', 'Proponer Trabajo'); INSERT INTO permisos VALUES ('Admin', 'Publicaciones'); INSERT INTO permisos VALUES ('Admin', 'Registrar Proyecto'); INSERT INTO permisos VALUES ('Admin', 'Registrar Trabajo'); INSERT INTO permisos VALUES ('Admin', 'Registrar Usuario'); INSERT INTO permisos VALUES ('Admin', 'Solicitar Proyecto'); INSERT INTO permisos VALUES ('Admin', 'Solicitar Trabajo');
Permisos
sobre
114
Captulo 4 - Desarrollo
INSERT INTO permisos VALUES ('Profesor', 'Eliminar Usuario'); INSERT INTO permisos VALUES ('Profesor', 'Enviar Correo'); INSERT INTO permisos VALUES ('Profesor', 'Insertar Usuario'); INSERT INTO permisos VALUES ('Profesor', 'Modificar Proyecto'); INSERT INTO permisos VALUES ('Profesor', 'Modificar Trabajo'); INSERT INTO permisos VALUES ('Profesor', 'Modificar Usuario'); INSERT INTO permisos VALUES ('Profesor', 'Noticias'); INSERT INTO permisos VALUES ('Profesor', 'Proponer Proyecto'); INSERT INTO permisos VALUES ('Profesor', 'Proponer Trabajo'); INSERT INTO permisos VALUES ('Profesor', 'Publicaciones'); INSERT INTO permisos VALUES ('Profesor', 'Registrar Colaborado'); INSERT INTO permisos VALUES ('Profesor', 'Registrar Proyecto'); INSERT INTO permisos VALUES ('Profesor', 'Registrar Trabajo'); INSERT INTO permisos VALUES ('Profesor', 'Solicitar Proyecto'); INSERT INTO permisos VALUES ('Profesor', 'Solicitar Trabajo');
Permisos
sobre
115
Captulo 4 - Desarrollo
INSERT INTO permisos VALUES ('Colaborador', 'Proponer Trabajo'); INSERT INTO permisos VALUES ('Colaborador', 'Solicitar Proyecto'); INSERT INTO permisos VALUES ('Colaborador', 'Solicitar Trabajo');
Primer usuario del sistema con INSERT INTO personas VALUES ('Admin', 'Nombre', categora de Admin con los 'Primer apellido', 'Segundo apellido', 'Admin@salleurl.edu', siguientes datos: Usuario: Admin Password: admin
Tabla 4.5.- Sentencias SQL para la inicializacin de la base de datos 'Ad4O69cwrPVg.', 'enlace', 'A', 'Catalan', 0, '', '', ''); 'Admin', 2005); INSERT INTO personas_categoria VALUES ('Admin',
Hay que destacar, que si se desea tener un soporte inicial para los tres idiomas, tambin sera necesario indicar las sentencias para llenar la tabla Idiomas, pero debido al gran nmero de entradas de dicha tabla, no se incluye en la memoria.
Inicio
116
Captulo 4 - Desarrollo
Final
Decisin: estado donde se realiza una pregunta y dependiendo de la respuesta permite utilizar un camino u otro.
Pregunta
Caminos: permiten ir de un estado a otro, indicando cules son los caminos a seguir.
117
Captulo 4 - Desarrollo
en la base de datos, est codificada con la funcin crypt a partir del identificador de usuario y la contrasea sin codificar. Una vez introducidos los dos campos, el sistema comprobar la existencia del usuario y la validez de la contrasea. Si la respuesta es satisfactoria, se crea una sesin de usuario para poder acceder al sistema. Esta sesin consta de las variables de sesin: s_autentificado, s_login, s_idioma y s_tipo. Cabe resaltar, aunque ya est comentado en su correspondiente apartado, que s_tipo indicar el nivel de acceso de los usuarios. As pues, dependiendo del perfil que tenga el usuario podr realizar unas operaciones u otras. Otra de las funcionalidades del inicio de sesin, consiste en el bloqueo de usuarios con un determinado nmero de intentos de acceso fallidos al sistema. Estos parmetros vienen definidos en el archivo de configuracin: configuracion.conf. Gracias a esto, se consigue prevenir uno de los ataques ms conocidos y utilizados por los piratas informticos: ataques por fuerza bruta. Este tipo de ataque consiste en ir probando todas las posibles contraseas una a una, generalmente conociendo determinada informacin acerca de la posible vctima y as generar todas las posibilidades. Si bien el problema de este mtodo es de recursos y tiempo, con lo que gracias al tiempo de bloqueo, este tipo de ataque es intil. A continuacin se expone un diagrama con el proceso que se sigue para realizar todas las comprobaciones:
118
Captulo 4 - Desarrollo
Pgina de acceso
NO
SI
SI
NO
SI
Acceso al sistema
Todo este proceso, se realiza en: Index.php: pgina de acceso al sistema, que se muestra al cliente, donde se pide el usuario y el password. Control.php: donde se valida el inicio de sesin, se crea el perfil y se computan los intentos.
119
Captulo 4 - Desarrollo
Variable: s_autentificado
Donde se inicializa: En la prueba de acceso al sistema (inicio de sesin), si es satisfactoria, se pone a SI. En caso contrario, la prueba no es satisfactoria, la variable no se crear.
s_tipo
Si la prueba de acceso al sistema es satisfactoria, se le pone el nivel de acceso correspondiente. En caso contrario, la prueba no es satisfactoria, la variable no se crear.
s_operaciones_pagina En cada fichero se definen los identificadores de las operaciones que lo utilizan. Por ejemplo: ##Operacin 1#Operacin 2# s_operacion En el primer fichero de cada operacin se inicializa con el identificador de la operacin en cuestin.
Tabla 4.6.- Inicializacin de las variables de sesin
Una vez vistos los problemas que evita este mdulo, y las herramientas que utiliza para ello, es mucho ms fcil explicar y comprender su funcionamiento: 120
Captulo 4 - Desarrollo
Inicio de fichero
Acceso no permitido
NO SI
NO
SI Inicializa s _operacio n
NO SI NO SI
121
Captulo 4 - Desarrollo
4.4.3.- HTTPS
Uno de los medios ms extendidos por la red para garantizar la privacidad y autenticidad de los datos es HTTPS [17], que consiste en una versin segura del protocolo HTTP del Web ya que cifra y autentica las operaciones. As pues, todos los datos que sern enviados por el usuario, ya sea su propio usuario y contrasea en el inicio de sesin, peticiones de proyectos, datos personales viajarn codificados por la red, evitando que los piratas informticos cojan la informacin por el camino.
4.4.4.- Formularios
Uno de los puntos crticos de toda aplicacin web, es la entrada de los datos al sistema, ya que se pueden introducir cadenas que sean mal interpretadas por los servicios y conseguir efectos no deseados, como por ejemplo el acceso con mximos privilegios en el sistema. Los puntos de entrada para esta aplicacin sern los formularios, ya que permitirn a los usuarios introducir informacin en el sistema. Para minimizar los riesgos de los puntos crticos, se hace un control minucioso del contenido de los formularios antes de ser enviado por la red. Este control, se hace mediante JavaScript (lenguaje interpretado en el navegador del cliente) evitando una carga innecesaria del servidor web. Cada campo de cada formulario, tiene una expresin regular asociada, a la cual debe ajustarse el contenido. Sino se ajusta, se muestra un mensaje de error comunicando el tipo de incidencia. En el momento en que todos los campos han pasado la validacin satisfactoriamente, la informacin se enva al servidor para ser tratado. Existen dos tipos de restricciones para los campos: Longitud: tiene un tamao mximo que se corresponde al que ocupar la informacin en la base de datos. En algunos campos como descripciones u observaciones, se muestra un marcador de los caracteres restantes para comunicar al usuario esta limitacin. 122
Captulo 4 - Desarrollo
Caracteres restringidos: como bien se ha dicho anteriormente, cada campo tiene una expresin regular asociada. sta permite determinar cuales sern los caracteres no permitidos o incluso establecer una estructura de la informacin (por ejemplo que las direcciones de correo tengan una @ y un . en las posiciones correctas).
Uno de los ataques comnmente utilizados por los usuarios expertos en materia de piratera informtica es: SQL injection. Este problema afecta a la mayora de las aplicaciones web que utilizan bases de datos. De manera muy general, consiste en introducir sentencias SQL en los campos con el fin de interrumpir una peticin a la base de datos y as obtener algn fin deseado. Con este ataque se pueden modificar, eliminar, consultar e incluso insertar nuevos datos en el sistema. Gracias al tratamiento exclusivo de todos los campos y la restriccin de la utilizacin de algunos caracteres como o que permiten interrumpir sentencias SQL, este ataque queda anulado.
123
Captulo 4 - Desarrollo
3. Una forma de representar todos los contenidos en varios idiomas y de acceso rpido. La forma de representar los contenidos condiciona el resto de elecciones, con lo que a continuacin se exponen tres de las posibles alternativas contempladas. Variable del tipo matriz: los contenidos se guardan en una variable, concretamente una matriz de NxM dimensiones, donde N es el nmero de contenidos a mostrar y M el nmero de idiomas a los que da soporte. Tablas SQL: los contenidos se guardan en una tabla SQL con tantos campos como idiomas tenga que soportar. Fichero: los contenidos se guardan en un fichero de texto siguiendo un esquema determinado para guardar la informacin. Estas tres alternativas presentan muchas diferencias en cuanto a las velocidades de: consulta de una entrada, modificacin e insercin de un nuevo contenido. Tambin vara el coste que puede tener programar una plataforma para gestionar los contenidos va web, sin la necesidad de que el programador tenga tocar el tipo de la matriz, las tablas SQL o el fichero de texto directamente. A continuacin se expone un cuadro representativo de sus diferencias:
Representacin Velocidad de de contenidos: Matriz Tabla SQL Fichero consulta: Alta Media Baja
modificacin: programacin:
El parmetro ms importante a tener en cuenta, es la velocidad de acceso a un contenido, ya que por cada pgina se van a establecer mltiples conexiones con el fin de mostrar todo el contenido. Sin embargo, la capacidad de posibles modificaciones sin la necesidad de tener que tocar directamente el soporte de los contenidos, tambin es muy importante, ya que el usuario (normalmente Admin) no tiene porqu conocer el soporte
124
Captulo 4 - Desarrollo
que se utilice. Por lo tanto, y teniendo en cuenta el carcter del proyecto, el soporte finalmente escogido son las Tablas SQL. Ahora que ya existe un soporte de la informacin, se pueden determinar el resto de los factores: 1. En la tabla Personas de la base de datos, el atributo Idioma indicar cul ser el idioma determinado por el usuario. La variable de sesin s_idioma se encargar de contener dicha informacin agilizar la consulta. 2. La funcin para mostrar los contenidos se llama gettext (Identificador), y consulta en la base de datos cual ser la entrada correspondiente al Identificador recibido y al valor de s_idioma. 3. Para el soporte se crea una tabla en la base de datos llamada Idiomas, que contendr los campos: Identificador, Catalan, Castellano, Ingles y Origen. El ltimo atributo facilita la programacin del gestor de contenidos, para un mantenimiento va web.
4.6.- Funcionalidades
A continuacin se expone un listado de las operaciones que permite la aplicacin web, as como los ficheros que utiliza y una breve descripcin. Para hacer ms fcil la lectura de la lista, las operaciones estn agrupadas en cinco categoras.
125
Desarrollo de una aplicacin web Correo2.php NivelSeguridad.php Idiomas.php Consultar Usuarios ConsultaUsuarios.php MuestraUsuario.php NivelSeguridad.php Idiomas.php
Captulo 4 - Desarrollo de los Colaboradores. Adems ofrece la posibilidad de enviar un e-mail al usuario afectado. Bsqueda de usuarios segn los siguientes criterios: rea a la que pertenecen, categora de usuario, login, nombre y apellidos. Esto permite generar informe tiles, adems de mostrar la informacin detallada de cada usuario. Si un usuario tiene permisos para realizar esta operacin, cada vez que se le muestre el login de un usuario por pantalla, podr acceder de manera inmediata a la consulta de dicho usuario.
Eliminar Usuarios
A partir de la bsqueda de usuarios, permite mostrar la informacin detallada de los usuarios con la opcin de (eliminar) usuarios. activada. sta permitir dar de baja a los
Modificar Usuario
A partir de la bsqueda de usuarios, permite mostrar la informacin detallada de los usuarios con la opcin de sta
Registrar Usuario
FormularioUsuario3.php 126
Captulo 4 - Desarrollo usuarios de tipo Colaborador en el sistema. Los inserta en la base de Requiere al usuario. datos de una con posterior Personas.Estado=FA (falta alta). validacin para hacer operativo
Insertar Usuario
Permite el registro directo en el sistema de cualquier tipo de usuario. Lo inserta en la base de datos con Personas.Estado=A (alta). El usuario ser operativo desde la insercin.
Tabla 4.8.- Operaciones de usuario
Descripcin: Permite asignar un proyecto a previamente haba hecho la solicitud) y generar dos tipos de listas: Usuarios-Proyectos: lista de los proyectos solicitados por cada usuario. Proyectos-Usuarios:
127
Captulo 4 - Desarrollo lista de los usuarios que han solicitado cada proyecto. Una vez hecha la asignacin, se enviar un al correo usuario electrnico
afectado informndole de la aceptacin de su solicitud. Consultar Proyecto ConsultaProyectos.php MuestraProyecto.php NivelSeguridad.php Idiomas.php Bsqueda de proyectos segn los siguientes criterios: el identificador, categora del proyecto (TFC o PFC), los requisitos necesarios para su desarrollo, el estado (libre, asignado o solicitado), el login del alumno y el login del ponente. Esto permite generar adems informe de tiles, la de mostrar detallada
informacin
cada proyecto. Si un usuario tiene permisos para realizar esta operacin, cada vez que se le muestre el identificador de un proyecto por pantalla, podr acceder de manera inmediata a la consulta de dicho proyecto. Eliminar Proyecto ConsultaProyectos.php MuestraProyecto.php EliminaProyecto.php NivelSeguridad.php Idiomas.php A partir de la bsqueda de proyectos, permite mostrar la informacin detallada de los proyectos con la opcin de
128
Captulo 4 - Desarrollo
(eliminar) activada. sta permitir dar de baja los proyectos. Modificar Proyecto ConsultaProyectos.php MuestraProyecto.php FormularioProyecto3.php FormularioProyecto33.php NivelSeguridad.php Idiomas.php Esto A partir de la bsqueda de proyectos, permite mostrar la informacin detallada de los proyectos con la opcin de (modificar) activada. permitir variar la informacin de los proyectos. Proponer Proyecto FormularioProyecto3.php FormularioProyecto33.php Correo2.php NivelSeguridad.php Idiomas.php Registrar Proyecto FormularioProyecto3.php FormularioProyecto33.php NivelSeguridad.php Idiomas.php Solicitar Proyecto SolicitarProyectos.php MuestraProyecto.php SolicitarProyectos2.php Correo2.php NivelSeguridad.php Idiomas.php Configuracion.conf Muestra usuario disponibles, informacin de los y al proyectos permite Permite a los usuarios hacer una nueva a propuesta uno de de los proyecto
profesores de las diferentes reas, al cual se le enviar un e-mail con la propuesta. Permite el registro directo en el sistema de un nuevo proyecto.
solicitar tres de ellos (con diferente prioridad) para el posterior desarrollo de uno de ellos. Las solicitudes por e-mail se al enviarn proyectos.
Tabla 4.9.- Operaciones de proyectos
129
Captulo 4 - Desarrollo
Descripcin: Permite asignar un trabajo a previamente haba hecho la solicitud) y generar dos tipos de listas: Usuarios-Trabajos: lista de los proyectos solicitados por cada usuario. Trabajos-Usuarios: lista de los usuarios que han solicitado cada proyecto. Una vez hecha la asignacin, se enviar un al correo usuario electrnico
afectado informndole de la aceptacin de su solicitud. Consultar Trabajo ConsultaTrabajos.php MuestraTrabajo.php NivelSeguridad.php Idiomas.php Bsqueda de trabajos segn los siguientes criterios: identificador, login alumno y estado (libre, asignado o solicitado). generar adems de Esto informe permite tiles, la de
mostrar detallada
informacin
Captulo 4 - Desarrollo tiene permisos para realizar esta operacin, cada vez que se le muestre el identificador de un trabajo por pantalla, podr acceder de manera inmediata a la consulta de dicho trabajo.
Eliminar Trabajo
A partir de la bsqueda de trabajos, permite mostrar la informacin detallada de los trabajos con la opcin de (eliminar) activada. sta permitir dar de baja los trabajos.
Modificar Trabajo
A partir de la bsqueda de trabajos, permite mostrar la informacin detallada de los trabajos con la opcin de (modificar) activada. Esto permitir variar la informacin de los trabajos.
Proponer Trabajo
Permite a los usuarios hacer una nueva a propuesta uno de de los trabajo
profesores de las diferentes reas, al cual se le enviar un e-mail con la propuesta. Permite el registro directo en el sistema de un nuevo trabajo. Muestra informacin al
Registrar Trabajo
Solicitar Trabajo
SolicitarTrabajos.php 131
Desarrollo de una aplicacin web MuestraTrabajo.php SolicitarTrabajos2.php Correo2.php NivelSeguridad.php Idiomas.php Configuracion.conf usuario
disponibles,
solicitar tres de ellos (con diferente prioridad) para el posterior desarrollo de uno de ellos. Las solicitudes por e-mail se al enviarn
encargado de asignar los trabajos. Esta operacin la realizar un solo miembro del grupo, indicando sus componentes.
Tabla 4.10.- Operaciones de trabajos
Descripcin: Muestra requisitos proyectos Adems eliminar requisitos. un del que e un listado sistema los insertar listado que de y los los
permite:
Gestion Asignaturas
Muestra
132
Desarrollo de una aplicacin web cursado. modificar, Gestion Operaciones GestionOperaciones.php Muestra NivelSeguridad.php Idiomas.php
categora a la que pertenecen y los tipos de usuarios que las pueden utilizar. Adems permite: modificar, eliminar e insertar nuevas operaciones.
Gestion Permisos
Segn el tipo de usuario, se muestra una lista completa de las operaciones, donde se indica las que estn permitidas y las que no. Adems permite modificar dichas listas para variar los permisos.
Gestion Areas
Muestra un listado de las reas del sistema y las personas que pertenecen a cada una. Adems permite: modificar, eliminar e insertar nuevas reas.
Gestion Categorias
Muestra un listado de los tipos de usuario del sistema y las personas que pertenecen a cada uno. Adems permite: modificar,
eliminar e insertar nuevos tipos. Gestion Contenidos GestionContenidos.php NivelSeguridad.php Idiomas.php Se muestra un listado con todos los contenidos de la aplicacin web y la traduccin a los tres idiomas (Cataln, Castellano e Ingls). modificar, Adems eliminar e permite: insertar
(eliminar) para indicar que el borrado es crtico y puede tener efectos no deseados a la hora de mostrar el men.
Tabla 4.11.- Operaciones de gestin
Todas las listas que se muestran en las operaciones, permiten modificar el criterio de ordenacin mediante los campos del nivel superior de las tablas, pudiendo generar informes tiles para su posterior impresin.
Descripcin: Muestra informacin detallada sobre el usuario en cuestin, adems tiene la opcin (modificar) datos. activada para permitir la modificacin de los A partir de una bsqueda de usuarios segn los siguientes criterios: pertenecen, usuario, rea login, a la que de y categora nombre
Adoptar Usuario
134
Enviar Correo
GeneradorCamposMail.php ofrece facilidades para rellenar campos buscador de usuarios integrado. Mdulo integrado aplicacin web, que permite: modificar, eliminar e insertar nuevas noticias. Mdulo integrado en la
Noticias
Publicaciones
aplicacin web, que permite: modificar, eliminar e insertar nuevas publicaciones. Adems se ha aadido la posibilidad de listar las publicaciones por fecha y publicador, facilitando el acceso directo por aos o letras respectivamente.
Tabla 4.12.- Otras operaciones
135
Captulo 5 - Implantacin
5.- Implantacin
5.1.- Instalacin de la aplicacin web
La instalacin de la aplicacin web es muy sencilla ya que para su desarrollo y testeo se ha utilizado el mismo software del cliente. As pues, la instalacin se compone de las siguientes fases: 1. Creacin de base de datos: aqu se han utilizado las sentencias explicadas en el apartado 4.3.1 para crear el sistema de informacin necesario para la aplicacin web. 2. Copia de archivos de la aplicacin: Ficheros de aplicacin: entre ellos se encuentran las libreras utilizadas, el men, la prueba de acceso (inicio de sesin) y el archivo de configuracin Ficheros de funcionalidades: todos aquellos ficheros que permiten realizar las operaciones del sistema. Imgenes y estilos: referentes a la apariencia y diseo de la aplicacin web. A continuacin se muestra una tabla con las carpetas y ficheros de cada tipo:
Ficheros y carpetas: Proyecto index.php menu.php pagina.php bienvenida.php control.php CambioIdioma.php idiomas.php NivelSeguridad.php RecogeConfiguracion.php BaseDatos.php salida.php
136
Captulo 5 - Implantacin configuracion.conf javascript mensajes.js Proyecto AdoptarUsuario.php AltasUsuarios.php AsignarProyectos.php AsignarTrabajos.php ConsultaProyectos.php ConsultaTrabajos.php ConsultaUsuarios.php Correo2.php Correo.php EliminaProyecto.php EliminaTrabajo.php EliminaUsuario.php FormularioProyecto3.php FormularioProyecto33.php FormularioTrabajo3.php FormularioTrabajo33.php FormularioUsuario3.php FormularioUsuario33.php GeneradorCamposMail.php GeneradorListaSolicitados.php GestionAreas.php GestionAsignaturas.php GestionCategorias.php GestionContenidos.php GestionOperaciones.php GestionPermisos.php GestionRequisitos.php MuestraProyecto.php MuestraTrabajo.php MuestraUsuario.php SolicitarProyectos2.php SolicitarProyectos.php SolicitarTrabajos2.php SolicitarTrabajos.php Proyecto imagenes grsi_logo.gif logSalleURL.edu.gif backtitulo.jpg burbuja.gif arrowdown.gif eliminar.gif arrowup.gif ayuda.ico eng.gif es.gif
Funcionalidades
Imgenes y estilos
137
Captulo 5 - Implantacin cat.gif eliminar2.gif nofoto.jpg logout.gif modificar2.gif modificar.gif css di.css iframe.css
3. Copia de mdulos integrados: aqu se copian las carpetas asociadas a los mdulos de Noticias y Publicaciones que se han adaptado para funcionar en la aplicacin web. Todos sus ficheros se encuentran recogidos en las carpetas: admin y utils.
138
Captulo 5 - Implantacin
3. Insercin de los datos del sistema: esta es la tarea ms larga de toda la implantacin, ya que consiste en hacer una migracin de la informacin del cliente a la aplicacin web. En ella se contemplan: las reas, asignaturas, requisitos, usuarios, proyectos y trabajos. El modo de realizarlas se explica en el apartado A.1.2 (mantenimiento del sistema).
139
Para la fase del desarrollo se ha utilizado un PC y la implementacin final se hace sobre el servidor de 'Enginyeria i Arquitectura La Salle'. As pues, ya se dispone de todos los elementos hardware necesarios y su coste ser nulo.
Programa: Apache MySQL miniRelay Windows XP Home Edition con Service Pack 2 Explorer Mozilla-Firefox Microsoft Word 2003
Servicio utilizado: Servidor web Gestor de base de datos Servidor de mail Sistema operativo Navegador web Navegador web Editor de textos
140
Desarrollo de una aplicacin web UltraEdit-32 Professional 11.10 SmartDraw 7 Suite Edition Microsoft Corporation Office Excel 2003 AllFusion Erwin Data Modeler 4.1 Microsoft Office PowerPoint 2003
Captulo 6 Estudio econmico Editor de textos Editor de diagramas Editor de diagramas Creador de bases de datos Editor de diapositivas Total: 32.56 161.37 175.18 2,405.77 146.70 3236.88
Aunque se muestra el precio de los productos no gratuitos, hay que destacar que, para el desarrollo y la implantacin de este proyecto, ya se disponan de algunos de los productos, y para los otros se han utilizados licencias temporales. Lo que se quiere reflejar con este cuadro, es el coste terico software del proyecto si no se dispusiera de ninguna licencia. No obstante, en tal caso se buscara software ms asequible.
Fase 1 - Anlisis de requerimientos: Reunin con el cliente para determinar los requisitos Reunin con el grupo de trabajo para comunicar las necesidades Total dedicacin de fase:
Horas: 5 5 10
141
Aqu se realiza el estudio de todas las tecnologas necesarias y de todos los requerimientos obtenidos en la fase anterior, con el fin de definir un modo de implementacin y trabajo ptimos para la aplicacin web.
Fase 2 - Diseo: Estudio de PHP Estudio de HTML Estudio de JavaScript Estudio de CSS Estudio de MySQL Estudio de Apache Estudio de diagramas WAE Bases de datos Diagramas de flujos de datos Diagramas WAE Interfaz y apariencia Reuniones para validar los diseos Total dedicacin de fase:
Horas: 20 10 10 5 5 5 10 20 30 25 20 10 170
Tabla 6.3.- Dedicacin de horas en la fase de diseo
3. Implementacin Despus de haber definido los planes de trabajo en la fase anterior, aqu se desarrollan uno a uno todos los componentes necesarios para la aplicacin.
Fase 3 Puesto en explotacin: Bases de datos Seguridad Idiomas Interfaz Operaciones de usuarios Operaciones de proyectos Operaciones de trabajos 142
Horas: 10 30 30 10 30 35 20
Desarrollo de una aplicacin web Operaciones de gestin Otras operaciones Integracin de mdulos Apariencia Reuniones para validar la implementacin Total dedicacin de fase:
4. Pruebas: Esta fase se lleva a cabo de forma paralela a la de implementacin, ya que cada componente desarrollado ser necesario testearlo y comprobar que funcione con el resto del sistema.
5. Implantacin A fin de que ya pueda ser utilizado, una vez desarrollado y probado todo el proyecto, se realiza una implementacin en el sistema del cliente. Adems, se realizar una puesta a punto que consistir en la insercin de todos los datos necesarios para su correcto funcionamiento.
Horas: 10 40 50
Tabla 6.6.- Dedicacin de horas en la fase de implantacin
143
6. Documentacin Esta fase se realiza de forma paralela a todas las anteriores. Aqu se documenta toda la aplicacin as como la realizacin de manuales que servirn de gua a la hora de utilizar, expandir y actualizar el sistema.
Horas: 90 20 110
Tabla 6.7.- Dedicacin de horas en la fase de documentacin
De esta manera, la distribucin de horas totales dedicas al proyecto segn cada fase quedara del siguiente modo:
Diseo Implantacin
Implementacin Documentacin
Como se puede observar en el grfico, las fases de implementacin y pruebas son las que se llevan la mayor porcin ya que se trata de un proyecto de desarrollo en el que se tena muy claro lo que se quera. Adems, la implantacin es rpida ya que el 144
desarrollo de la aplicacin se ha hecho con el mismo software que se utiliza en la universidad. As con todo, el total de horas dedicadas por fases es de 881.
145
As pues, ya se puede hacer una relacin sobre los roles y las horas de dedicacin al proyecto:
Dedicacin de empleados
125 horas 14% 295 horas 33% 40 horas 5%
20 horas 2%
Analista
Jefe de proyecto
Programador
Diseador grfico
Testeador
Ahora, solo sera necesario establecer los salarios de cada uno de los tipos de empleados para saber cuanto costara el desarrollo del proyecto. Como se ha comentado anteriormente, los costes hardware y software no se tienen en cuenta, ya que el propio cliente proporciona todo lo necesario.
146
147
Automatizacin: resulta evidente que gracias a una aplicacin informtica se pueden automatizar los procesos realizados en el GRSI. Sin duda, esto es uno de los mayores beneficios que se puede obtener de un proyecto informtico, ya que se consigue aumentar la rapidez en realizar determinadas tareas disminuyendo la carga de trabajo. Las operaciones que pasan a estar automatizadas son: o Sobre usuarios: el registro de los Colaboradores, ser una de las principales mejoras, ya que no se precisar de un contacto directo entre profesores y nuevos colaboradores. Adems, resultar un proceso mucho ms rpido ya que en pocos minutos el nuevo usuario podr estar dado de alta y utilizando la aplicacin. o Sobre proyectos: uno de los objetivos de este proyecto, es el de automatizar el proceso de solicitud, proposicin y asignacin de los proyectos. Ahora realizar peticiones de solicitud resultar un proceso guiado y sin necesidad de la intervencin del profesor. Adems el encargado de la asignacin del proyecto podr generar informes tiles para una correcta asignacin. o Sobre trabajos: de modo muy similar al de proyectos, el proceso de solicitud, proposicin y asignacin de trabajos resultar totalmente automatizado, disminuyendo considerablemente el nmero de tareas que se realizaban anteriormente para llevar a cabo la misma operacin. Fcil gestin: es indudable que un sistema de archivos informatizados es mucho ms fcil de gestionar que si fuese sobre papel. Para esta gestin, se han implementado mdulos especializados que con dos clicks de ratn se pueden realizar altas, bajas, modificaciones y consultas de: o Las reas que existen en el GRSI. o Las asignaturas de las cuales interesa saber la nota de los Colaboradores. o Las operaciones que permite realizar el sistema. o Las categoras o niveles de usuario que pueden acceder al sistema. o Los permisos que estarn asignados a cada tipo de usuario. o Los requisitos que pueden necesitar los trabajos o proyectos. o Los contenidos de toda la aplicacin web, as como la traduccin a los tres idiomas: Cataln, Castellano e Ingls.
148
o Los proyectos y trabajos que existen en el sistema. o Los usuarios que podrn tener o tienen acceso a la aplicacin web. Informatizacin: gracias a esta aplicacin web, el sistema de datos del cliente se ver informatizado, las tareas se automatizarn, se aumentar el nivel de control y facilitar la gestin. Todos estos factores son beneficios claros del sistema pero, sin duda alguna, la aplicacin en s tiene ventajas que lo diferencian de otras. Las principales son: o Extensible: adaptar mdulos creados y su posterior incorporacin al sistema es extremadamente fcil. Esto garantiza que el sistema se adapte a las circunstancias de cada momento, pudiendo permitir que la aplicacin crezca aumentando el nmero de sus funcionalidades. o Configurable y dinmico: tal como se ha diseado e implementado, este sistema permite ser configurable y dinmico. Los usuarios del sistema podrn determinar algunos de los parmetros del sistema ajustndolo a sus necesidades, como podra ser la asignacin de los permisos a los diferentes niveles de usuarios, la eleccin de diferentes idiomas para mostrar los contenidos, Una consecuencia clara de del tiempo segn las necesidades de cada momento. o Seguridad: hoy en da debido al gran crecimiento y el carcter de los usuarios que abastecen Internet, la seguridad y fiabilidad de muchas aplicaciones web es escasa o dudosa, llegando incluso al fracaso de muchas empresas que emergen a la red. Este sistema, proporciona la seguridad y fiabilidad requerida para garantizar la integridad, autenticidad y privacidad de todos los datos sin que afecte al funcionamiento del mismo. o Fcil mantenimiento: es inevitable que los procesos requieran de un mantenimiento posterior a la implantacin, por eso desde el inicio del desarrollo se ha tenido como objetivo facilitar dicha operacin. Cdigo sencillo, entendible y comentado, permitir a cualquier programador no familiarizado con el sistema, introducir modificaciones e incluir nuevas funcionalidades de un modo sencillo, rpido y estable. un sistema configurable, es el dinamismo que este coger, pudiendo variar a lo largo
149
Todos estos factores, hacen que el GRSI se vea beneficiado de una aplicacin web configurable, dinmica, extensible y segura que le permite obtener un mayor control sobre sus recursos y una automatizacin de muchas tareas, lo que le ahorrar mucho tiempo y dedicacin.
7.2.- Conclusiones
Este proyecto sigue un ciclo de vida en cascada y abarca las fases tpicas de cualquier proyecto informtico: anlisis de requerimientos, diseo, implementacin y puesta en explotacin. De todas y cada una de ellas se podra escribir un apartado de conclusiones, pero por no alargarme en exceso comentar las cosas ms relevantes de cada una de ellas. De la primera fase, anlisis de requerimientos, se ha palpado directamente que comunicarse con el cliente y entender al 100 % qu es lo que desea, es una tarea realmente difcil que requiere de un proceso lento, continuado y, muchas veces, confuso que durar a lo largo de todo el desarrollo del proyecto. No obstante y por fortuna, en este proyecto el cliente ya estaba familiarizado con el mundo de la informtica y la tarea result ser mucho ms sencilla. Adems, en esta fase, se realiza un estudio de todas las tecnologas, sistemas y mtodos aplicables al proyecto aportando gran cantidad de nuevos conocimientos y el repaso de muchos de los vistos en clase. Sin duda alguna, la mayor fuente de aportaciones de esta proyecto es la fase de diseo. Resulta realmente difcil imaginar antes de crear. La costumbre de pensar con la yema de los dedos es el mal hbito de la mayora de os programadores, y verdaderamente es muy importante pensar antes de crear ya que ahorra mucho tiempo, estrs y facilita el resto de las fases del ciclo de vida. Gracias a esta fase se ha profundizado en los conocimientos obtenidos en asignaturas como Metodologa del software y se han adquirido nuevos conocimientos sobre diagramas para el diseo de aplicaciones web. La implementacin de la aplicacin es un proceso engorroso y lento, pero gracias a los diseos realizados se facilita mucho la tarea y el tiempo de dedicacin en esta fase. Aqu he podido comprobar que el tiempo para realizar las pruebas es muy parecido al de desarrollo, ya que existen muchsimos dominios a testear y efectuar una
150
prueba exhaustiva del sistema es realmente difcil. Aqu se han repasado los conocimientos obtenidos en asignaturas como Programacin hipermedia, y se han afianzado las nuevas nociones sobre otros lenguajes no utilizados hasta ahora como es el PHP. La fase de implantacin, me ha permitido comprobar de primera mano que no siempre son las cosas como se esperan ya que siempre existen variables no calculadas, y es muy difcil que todo funcione a la primera. No obstante, el haber realizado el desarrollo con el mismo software del cliente final facilita en gran medida esta etapa, y hace que la fase se resuma casi en tu totalidad, en la insercin de la informacin del GRSI. La documentacin de cualquier proyecto siempre es un proceso lento y cansado, pero gracias a ello se profundiza mucho ms en los conocimientos sobre el sistema y se consigue plasmarlo para que cualquier otra persona pueda realizar consultas y modificaciones sobre l. El desarrollo de todo el proyecto ha sido una tarea difcil, larga y dura pero que ha tenido sus compensaciones. Como se puede observar, de cada etapa del proyecto se pueden sacar conclusiones, aportaciones y experiencias. Se han repasado y combinado muchas de las asignaturas vistas en clase (bases de datos, metodologa del software, programacin hipermedia,), tecnologas, sistemas y mtodos necesarios para realizar la aplicacin, desde los diagramas para el diseo (Entidad-Relacin, DFD y WAE) hasta los lenguajes utilizados para el desarrollo de la aplicacin (PHP, HTML, JavaScript, CSS, SQL,), pasando por todas y cada una de las plataformas utilizadas para su desarrollo (Apache, MySQL, IExplorer, Mozilla, ErWin, SmartDraw). Este proyecto no solamente ha sido una tarea de aprendizaje continuada, sino que representa la creacin, desde la nada, de una aplicacin segura, fiable, eficaz y lo que es ms importante: til, ya que facilita un control total sobre los recursos del cliente y automatiza mucha de las tareas que se hacen de forma peridica, con lo que se consigue un ahorro de tiempo en dedicacin y recursos bastante considerables. Actualmente el sistema se encuentra en explotacin en el GRSI y es usado cada da por sus componentes. Presumiblemente esto seguir siendo as por muchos aos, ya que el
151
sistema se ha pensado para facilitar cualquier tipo de extensin y mantenimiento de sus funcionalidades adaptndose a las necesidades del da a da.
152
conectados con webcam y micrfono, y as facilitar todo tipo de reuniones. Gracias a esto, se consigue imponer un servicio que adicionalmente se ofrece con otros programas (sea Skype o Messenger) y que permitira realizar todo tipo de reuniones y comunicaciones en general, ya sean entre profesores, ponentes y proyectistas o colaboradores. Gestor de correo electrnico: actualmente el sistema dispone de un mdulo que permite el envo de correos electrnicos a los distintos usuarios. La siguiente fase, consistira en un gestor de los correos del propio usuario, que permitiera archivar los correos recibidos y enviados, y la manutencin de una agenda de contactos. Este mdulo consistira en la adaptacin al sistema de un servicio similar al presentado en webmail.salleurl.edu. Como se puede ver, las lneas futuras de este proyecto las marca la imaginacin de cualquier programador. Esta aplicacin no solamente proporciona servicios y gestin de recursos humanos, sino que ofrece un portal seguro al que se le pueden agregar todo tipo de funcionalidades.
153
Bibliografa
Bibliografa
1.Edwards, Jeri / Harkey, Dan / Orfali, Robert: Cliente/Servidor: Gua de supervivencia, Mcgraw-Hill / Interamericana de Mxico 2 edicin (2000). 2.- Buzzard, Mike / Lea, Chris/ Thomas, Dilip/ White-Cinis, Jessey: PHP MySQL website programming: problem, design, solution, Wrox Press Ltd (2003). 3.- Wainwright, Peter: Professional Apache, Wrox Press Ltd (2000). 4.- Coggeshall, John: PHP 5, Anaya Multimedia-Anaya Interactiva (2005). 5.- Charte Ojeda, Francisco: La biblia de HTML, Anaya Multimedia-Anaya Interactiva (2004). 6.- Heinle, Nick: Designing with JavaScript: creating dynamic web pages, O'Reilly & Associates (1997). 7.- Meyer, Eric A:CSS pocket reference, O'Reilly & Associates (2001). 8.Goodman, Danny: JavaScript & DHTML cookbook, O'Reilly & Associates (2004). 9.- Apuntes de metodologa del software: Tema 2 El ciclo de vida del software Ciclo de vida en cascada 10.- Booch, Grady / Jacobson, Ivar / Rumbaugh, James: El lenguaje unificado de modelado (UML), Addison-Wesley Iberoamericana Espaa, S.A (2000). 11.- Elmasri, Ramez A. / Navathe, Shamkant B: Fundamentos de sistemas de bases de datos, Addison-Wesley Iberoamericana Espaa, S.A (2002).
154
Bibliografa
12.- Apuntes de metodologa del software: Tema 4 Anlisis estructurado de sistemas Modelado de funciones Diagramas de flujo de datos 13.- Conallen, Jim: Building Web Applications With UML, Addison Wesley 2 edicin (2001). 14.- Apuntes de metodologa del software: Tema 6 - Tcnicas de prueba del software 15.- Manual sobre variables sesin: www.programacion.com/php/tutorial/php4/4 16.- Apuntes de bases de datos: Sentencias SQL 17.- Manual sobre apache y https: www.apache-ssl.org 18.- Pgina de consulta de precios: www.froogle.com
155
Anexo - Manuales
Anexo - Manuales
Para toda aplicacin web, ha de existir una gua de ayuda a los usuarios. Con este fin, a continuacin se desarrollan cuatro manuales de cmo llevar a cabo las operaciones requeridas en cada momento. La divisin de los manuales responde a los diferentes perfiles de usuarios que se encuentran por defecto en el sistema. En ellos se explican las operaciones ms representativas del rol del usuario al que representan.
La situacin inicial, es el entorno que el administrador del sistema se encontrar cuando la aplicacin web todava no haya sido utilizada. En dicho momento, la aplicacin consta de:
156
Desarrollo de una aplicacin web Tres categoras de usuarios: o Admin o Profesor o Colaborador Todas las operaciones desarrolladas para el sistema. o Operaciones de Usuario: Insertar Usuario Registrar Usuario Modificar Usuario Consultar Usuario Eliminar Usuario Altas Usuarios o Operaciones de Proyecto: Registrar Proyecto Proponer Proyecto Modificar Proyecto Eliminar Proyecto Consultar Proyecto Solicitar Proyecto Asignar Proyectos o Operaciones de Trabajo: Proponer Trabajo Registrar Trabajo Modificar Trabajo Eliminar Trabajo Consultar Trabajo Solicitar Trabajo Asignar Trabajos o Otras operaciones: Enviar Correo Datos Personales Adoptar Usuario Publicaciones
Anexo - Manuales
157
Anexo - Manuales
Permisos de las diferentes categoras de usuario sobre las operaciones. o Admin: permisos sobre todas las operaciones. o Profesor: Insertar Usuario Modificar Usuario Consultar Usuario Eliminar Usuario Altas Usuarios Registrar Trabajo Modificar Trabajo Eliminar Trabajo Consultar Trabajo Asignar Trabajos Registrar Proyecto Modificar Proyecto Eliminar Proyecto Consultar Proyecto Asignar Proyectos Enviar Correo Datos Personales Publicaciones Noticias o Colaborador: Proponer Trabajo Solicitar Trabajo Proponer Proyecto Solicitar Proyecto Enviar Correo Datos Personales
158
Anexo - Manuales
Un nico usuario registrado con la categora de Admin, y con los siguientes datos de acceso: o Usuario: Admin o Password: admin
A.1.1.2.- Configuracin
En este apartado se explica como configurar el sistema para que funcione como se espera. La mayora de las configuraciones se hacen va web y para eso hay que acceder al sistema con los datos facilitados en la situacin inicial. Pero antes, se requiere la modificacin del archivo de configuracin configuracion.conf, donde se establecern algunos de los parmetros para determinar el funcionamiento del sistema: Atributo: Mail_Propuesta_Trabajo Descripcin: Indica la direccin de e-mail que recibir las propuestas de los trabajos de los usuarios. Mail_Solicitud_Trabajo Indica la direccin de e-mail que recibir las peticiones de desarrollo de trabajos. Mail_Solicitud_Proyecto Indica la direccin de e-mail que recibir las peticiones de desarrollo de proyectos. Idioma_Por_Defecto Es el idioma que se asignar por defecto a todos los usuarios que se den de alta en el sistema. Max_Intentos Nmero de intentos fallidos que se permite a un usuario antes de bloquear su acceso al sistema. Tiempo_Bloqueo Tiempo en minutos que se bloquear el acceso a una cuenta si se iguala el nmero de accesos incorrectos a Max_Intentos.
159
Anexo - Manuales Da a partir del cual, la opcin Registrar usuarios no estar activada a y los la autentificados
operacin Registrar Usuario estar operativa, permitiendo el registro de los Colaboradores. Mes_Inicio_Registro Mes a partir del cual, la opcin Registrar usuarios no estar activada a y los la autentificados
operacin Registrar Usuario estar operativa, permitiendo el registro de los Colaboradores. Dia_Final_Registro Da a partir del cual, la opcin Registrar estar desactivada y la operacin Registrar Usuario estar deshabilitada, cerrando la posibilidad de registro de nuevos Colaboradores. Mes_Final_Registro Mes a partir del cual, la opcin Registrar estar desactivada y la operacin Registrar Usuario estar deshabilitada, cerrando la posibilidad de registro de nuevos Colaboradores. PATH_Fotos Indica la direccin absoluta, donde se encontrarn las fotos de los usuarios. Estas fotos, tienen que tener el login como nombre del archivo. Extension_Fotos Dominio_Correo Extensin, sin punto, de las fotos de los usuarios. Dominio al cual se asociarn los correos electrnicos de los usuarios que se registren en el sistema. La primera parte de la direccin ser el login del usuario.
Tabla A.1.- Parmetros de configuracion.conf
160
Anexo - Manuales
Ahora que se han establecido las preferencias bsicas, se requiere el acceso al sistema para poder continuar con la configuracin de: Categoras de usuarios: es necesario validar las diferentes categoras que se encuentran en el sistema, y determinar si es necesario modificar, eliminar o insertar nuevos datos. Esto se realizar mediante la operacin: Gestin Categoras. Operaciones del sistema: de igual modo que las categoras, hay que validar que las operaciones se encuentran registradas en el sistema, y determinar si es necesario modificar, eliminar o insertar nuevos datos. Esto se realizar mediante la operacin: Gestin Operaciones. Permisos: si los permisos por defecto no son los deseados habr que introducir las modificaciones pertinentes. Para determinar los niveles de acceso de las diferentes categoras, se realizar mediante la operacin: Gestin Permisos. No obstante, la explicacin de cmo realizar todas estas operaciones se har en el siguiente punto donde se habla del mantenimiento del sistema. Por ltimo, y aunque no se trata de configuracin propiamente dicha, antes de finalizar la puesta a punto del sistema es necesario insertar nuevos usuarios. En concreto usuarios con las categoras de profesores, ya que sta permitir a su vez registrar otros usuarios. Para realizar la operacin se accede mediante la opcin: Insertar Usuario, que aparece en el men izquierda. A travs de sta, se puede insertar un usuario de cualquier categora definida en el sistema. Una vez se ha accedido a la opcin, se mostrar un formulario en el que se han de rellenar los siguientes datos:
Descripcin: Indica el nivel de acceso al sistema del usuario. Se marcar Profesor para agilizar la insercin de usuarios. Identificador del usuario. Nombre del usuario. Apellidos del usuario. 161
Anexo - Manuales
Password y repeticin Contrasea y repeticin de la misma, para poder validar que del mismo rea Observaciones Asignaturas y notas se ha escrito correctamente. Seccin a la que pertenecer el usuario Observaciones a tener en cuenta Listado de las asignaturas y las notas correspondientes. Slo se mostrar si se registra un usuario con la categora de Colaborador.
Tabla A.2.- Campos de formulario para insertar un usuario
Finalmente, se ha de pulsar el botn que indica: Insertar, y el usuario en cuestin podr tener acceso inmediato al sistema.
Las reas del sistema, son aquellas que indicarn a qu seccin pertenece cada usuario. Para acceder al mdulo se hace por medio de la opcin: Gestion Areas. A continuacin se explican como realizar las operaciones de modificar, eliminar, insertar y consultar: Consulta: nada ms inicializar el mdulo, se mostrar un listado de todas las reas que existen en el sistema, as como las personas que pertenecen a cada una por, si se decide realizar algn cambio, saber a qu usuarios afectara. Si se pasa el cursor por encima de los identificadores, se mostrar una descripcin del rea en cuestin. El listado est por orden alfabtico de los identificadores. Modificar: en el lado izquierdo de los identificadores de cada rea, existe una etiqueta que permite modificar su informacin. Una vez 162
Anexo - Manuales
pulsada, se actualizar el formulario con los datos llenos, se introducirn las modificaciones pertinentes y se pulsar: Modificar. Eliminar: en el lado izquierdo de los identificadores de cada rea, existe una etiqueta que permite eliminarlas. Una vez pulsada, se mostrar
una ventana pidiendo confirmacin para la baja. Si finalmente se elimina, los usuarios que pertenecan a dicha rea, se quedarn sin seccin asignada y ser necesaria su modificacin individual para corregirlo. Insertar: debajo del listado de todas las reas, se muestra un pequeo formulario para la insercin. Completados los campos, solamente ser necesario pulsar el botn: Insertar, y el listado se actualizar con la nueva informacin. A continuacin, se muestra en detalle el formulario:
Descripcin: Ser el identificador y nombre de la nueva rea que se inserte. Indicar una pequea descripcin sobre la nueva rea.
Tabla A.3.- Campos de formulario para insertar un rea
Las asignaturas del sistema, son aquellas que se le mostrarn a los Colaboradores en su registro para poder determinar su expediente acadmico. Para acceder al mdulo se hace por medio de la opcin: Gestion Asignaturas. A continuacin se explican como realizar las operaciones de modificar, eliminar, insertar y consultar: Consulta: nada ms inicializar el mdulo, se mostrar un listado de todas las asignaturas que existen en el sistema, as como las personas que han cursado cada una por, si se decide realizar algn cambio, saber a qu usuarios afectara. Si se pasa el cursor por encima de los identificadores, se mostrar una descripcin de la asignatura en cuestin. El listado est por orden alfabtico de los identificadores. Modificar: en el lado izquierdo de los identificadores de cada asignatura, existe una etiqueta que permite modificar su informacin. Una vez 163
Anexo - Manuales
pulsada, se actualizar el formulario con los datos llenos, se introducirn las modificaciones pertinentes y se pulsar: Modificar. Eliminar: en el lado izquierdo de los identificadores de cada asignatura, existe una etiqueta que permite eliminarlas. Una vez pulsada, se
mostrar una ventana pidiendo confirmacin para la baja. Si finalmente se elimina, se eliminar del expediente de los usuarios que la haban cursado. Insertar: debajo del listado de todas las asignaturas, se muestra un pequeo formulario para la insercin. Completados los campos, solamente ser necesario pulsar el botn: Insertar, y el listado se actualizar con la nueva informacin. A continuacin, se muestra en detalle el formulario:
Descripcin: Ser el identificador y nombre de la nueva asignatura que se inserte. Indicar una pequea descripcin sobre la nueva asignatura.
Tabla A.4.- Campos de formulario para insertar una asignatura
Los requisitos del sistema indicarn todas las posibles tecnologas que un proyecto o trabajo puedan necesitar. Para acceder al mdulo se hace por medio de la opcin: Gestion Requisitos. A continuacin se explican como realizar las operaciones de modificar, eliminar, insertar y consultar: Consulta: nada ms inicializar el mdulo, se mostrar un listado de todos los requisitos que existen en el sistema, as como los trabajos y proyectos que lo utilizan por, si se decide realizar algn cambio, saber a cuales afectara. Si se pasa el cursor por encima de los identificadores, se mostrar una descripcin del requisito en cuestin. El listado est por orden alfabtico de los identificadores.
164
Anexo - Manuales
Modificar: en el lado izquierdo de los identificadores de cada requisito, existe una etiqueta que permite modificar su informacin. Una vez pulsada, se actualizar el formulario con los datos llenos, se introducirn las modificaciones pertinentes y se pulsar: Modificar. Eliminar: en el lado izquierdo de los identificadores de cada requisito, existe una etiqueta que permite eliminarlos. Una vez pulsada, se
mostrar una ventana pidiendo confirmacin para la baja. Si finalmente se confirma el borrado, los proyectos y trabajos que lo utilizaban perdern dicha informacin. Insertar: debajo del listado de todos los requisitos, se muestra un pequeo formulario para la insercin. Completados los campos, solamente ser necesario pulsar el botn: Insertar, y el listado se actualizar con la nueva informacin. A continuacin, se muestra en detalle el formulario:
Descripcin: Ser el identificador y nombre del nuevo requisito que se inserte. Indicar una pequea descripcin sobre el nuevo requisito.
Tabla A.5.- Campos de formulario para insertar un requisito
Los contenidos representan toda la informacin que se mostrar por pantalla al usuario. Para acceder al mdulo se hace por medio de la opcin: Gestion Contenidos. A continuacin se explican como realizar las operaciones de modificar, eliminar, insertar y consultar: Consulta: nada ms inicializar el mdulo, se mostrar un listado de todos los contenidos que existen en el sistema, as como su traduccin a Cataln, Castellano e Ingls. El listado est por orden alfabtico de los identificadores. Modificar: en el lado izquierdo de los identificadores de cada contenido, existe una etiqueta que permite modificar su informacin. Una vez 165
Anexo - Manuales
pulsada, se actualizar el formulario con los datos llenos, se introducirn las modificaciones pertinentes y se pulsar: Modificar. Eliminar: en el lado izquierdo de los identificadores de cada requisito, existe una etiqueta que permite eliminarlos. Una vez pulsada, se
mostrar una ventana pidiendo confirmacin para la baja. Existen dos tipos de etiqueta que corresponden a las diferentes zonas de la pgina: o Rojo: indica que el contenido representa una operacin del sistema, es decir, su contenido se muestra en el men izquierda de la pantalla. o Gris: indica que el contenido se encuentra en un mdulo como texto informativo. En ambos casos, el borrado hace que deje de verse el contenido con soporte a los tres idiomas y en su lugar muestre el identificador utilizado. Insertar: debajo del listado de todos los contenidos, se muestra un pequeo formulario para la insercin. Completados los campos, solamente ser necesario pulsar el botn: Insertar, y el listado se actualizar con la nueva informacin. A continuacin, se muestran en detalle el formulario:
Descripcin: Ser el identificador del nuevo contenido web. Traduccin del contenido al Castellano. Traduccin del contenido al Cataln. Traduccin del contenido al Ingls.
Tabla A.6.- Campos de formulario para insertar un contenido
Las categoras del sistema son aquellas que permiten definir diferentes niveles de acceso para los usuarios. Para acceder al mdulo se hace por medio de la opcin: Gestion Categorias. A continuacin se explican como realizar las operaciones de modificar, eliminar, insertar y consultar: 166
Anexo - Manuales
Consulta: nada ms inicializar el mdulo, se mostrar un listado de todas las categoras que existen en el sistema, as como las personas que la tienen asociada por, si se decide realizar algn cambio, saber a qu usuarios afectara. Si se pasa el cursor por encima de los identificadores, se mostrar una descripcin de la categora en cuestin. El listado est por orden alfabtico de los identificadores. Modificar: en el lado izquierdo de los identificadores de cada categora, existe una etiqueta que si la pulsamos permite modificar su informacin. Una vez pulsada, se actualizar el formulario con los datos llenos, se introducirn las modificaciones pertinentes y se pulsar: Modificar. Eliminar: en el lado izquierdo de los identificadores de cada categora, existe una etiqueta que permite eliminarlas. Una vez pulsada, se
mostrar una ventana pidiendo confirmacin para la baja. Esta operacin ser crtica ya que, si se confirma la eliminacin, los usuarios que la tenan asociada se quedarn sin nivel de acceso y eso significa que cuando accedan al sistema no podrn realizar ninguna operacin. Para arreglarlo, ser necesario modificar los datos de los usuarios uno a uno. Insertar: debajo del listado de todas las categoras, se muestra un pequeo formulario para la insercin. Completados los campos, solamente ser necesario pulsar el botn: Insertar, y el listado se actualizar con la nueva informacin. A continuacin, se muestra en detalle el formulario:
Descripcin: Ser el identificador y nombre de la nueva categora. Pequea descripcin sobre la nueva categora.
Tabla A.7.- Campos de formulario para insertar una categora
167
Anexo - Manuales
Las operaciones, son todas aquellas funcionalidades que permite la aplicacin web, y que se mostrarn en el men izquierda como posibles opciones para poder utilizarlas. El acceso al mdulo se hace por medio de la opcin: Gestion Operaciones. A continuacin se explican como realizar las procedimientos de modificar, eliminar, insertar y consultar: Consulta: nada ms inicializar el mdulo, se mostrar un listado de todas las operaciones que existen en el sistema, as como a la categora a la que pertenecen (sub-menus del men izquierda) y los tipos de usuarios que tienen permisos sobre ellas. El listado por defecto, se encuentra en orden alfabtico de los identificadores, pero tambin existe la posibilidad de cambiarlo pulsando sobre las palabras Tipo e Identificador. Modificar: en el lado izquierdo de los identificadores de cada operacin, existe una etiqueta que permite modificar su informacin. Una vez pulsada, se actualizar el formulario con los datos llenos, se introducirn las modificaciones pertinentes y se pulsar: Modificar. Si se desean modificar las traducciones a otros idiomas, se tendr que hacer va gestor de contenidos. Eliminar: en el lado izquierdo de los identificadores de cada operacin, existe una etiqueta que permite eliminarlas. Una vez pulsada, se
mostrar una ventana pidiendo confirmacin para la baja. Si finalmente se confirma el borrado, las categoras que la podan realizar dejarn de hacerlo. Insertar: debajo del listado de todas las operaciones, se muestra un pequeo formulario para la insercin. Completados los campos, solamente ser necesario pulsar el botn: Insertar, y el listado se actualizar con la nueva informacin. A continuacin, se muestra en detalle el formulario:
Campo: Identificador
Desarrollo de una aplicacin web mostrar en el men izquierda de la aplicacin. Traduccin del contenido al Castellano. Traduccin del contenido al Cataln. Traduccin del contenido al Ingls. Tipo
Anexo - Manuales
Ser el identificador de la categora a la que estar asociada la operacin en el men izquierda de la aplicacin. Traduccin de la categora al Castellano. Traduccin de la categora al Cataln. Traduccin de la categora al Ingls.
PATH Descripcion
Direccin absoluta donde se encuentra el primer fichero de la operacin. Informacin sobre la operacin.
Tabla A.8.- Campos de formulario para insertar una operacin
Los permisos indicarn las operaciones que una determinada categora de usuario pueda realizar. Para acceder al mdulo se hace por medio de la opcin: Gestion Permisos. El mantenimiento de los permisos se hace en tres fases: 1. Seleccin de la categora de la que se quiere mostrar sus permisos. 2. A continuacin se muestra un listado de las operaciones del sistema. Si se pasa el cursor por encima, aparece una ventana con su descripcin. Adems, las operaciones tienen un checkbox a su izquierda que, si est marcado, indica que la categora en cuestin puede realizar esa operacin, sino, no le est permitida. De este modo, se irn seleccionado los permisos deseados para dicha categora. 3. Para finalizar la asignacin de permisos se ha de pulsar el botn: Modificar.
169
Anexo - Manuales
Este proceso se repetir para cada una de las categoras. No obstante, cabe resaltar que, en la configuracin de la categora Admin, el permiso sobre la operacin Gestion Permisos est bloqueado. Esto es debido a que si el administrador no puede realizar esa operacin, y no existe otra categora con ese privilegio, cambiar los niveles de acceso de los usuarios resultara imposible, quedando la operacin deshabilitada indefinidamente.
170
Anexo - Manuales
El profesor puede dar de alta usuarios en el siguiendo dos mtodos, dependiendo del tipo de solicitud de registro del Colaborador. 1. Altas de usuarios: se accede mediante la opcin: Alta Usuarios, que aparece en el men izquierda. Es un mdulo en el que se muestra una lista de todos los Colaboradores que han solicitado el registro a travs de la aplicacin web. Aqu se pueden consultar los datos del registro para, posteriormente, poder validar o rechazar su alta. Adems, permite la opcin de enviar un correo electrnico al usuario o usuarios al que afecta la operacin realizada. Para poder dar de alta un usuario, se han de marcar los checkbox que aparecen al lado de los logins de cada usuario, si se desea escribir un mensaje para informar de la operacin, se rellenan los campos asunto y mensaje, y finalmente se pulsa el botn que indica: Dar alta y enviar mail. En ese momento los usuarios podrn tener acceso al sistema y se les enviar un correo electrnico con el contenido sealado. Para rechazar el registro de un usuario, se ha de ir usuario por usuario marcando la que aparece al lado de cada nombre. De este
171
Anexo - Manuales
modo, se borrar la informacin del usuario del sistema y, si se ha sealado un mensaje, se le enviar el correo electrnico. 2. Insercin de usuarios: se accede mediante la opcin: Insertar Usuario, que aparecen en el men izquierda. A travs de esta opcin, se puede insertar un usuario de cualquier categora en el sistema sin la necesidad de una posterior validacin de los datos. Para realizar la insercin, se mostrar un formulario en el que se han de rellenar los siguientes datos:
Campo: Categora
Descripcin: Indica el nivel de acceso al sistema (por defecto: Colaborador, Profesor o Admin) del usuario.
Identificador del usuario. Nombre del usuario. Apellidos del usuario. para poder validar que se ha escrito correctamente. Seccin a la que pertenece el usuario Observaciones a tener en cuenta Listado de las asignaturas y las notas correspondientes. Slo se requerir si se trata de un usuario con categora de Colaborador.
Tabla A.9.- Campos de formulario para insertar un usuario
Finalmente, se ha de pulsar el botn que indica: Insertar, y el usuario podr tener acceso inmediato al sistema.
172
Anexo - Manuales
Aunque los dos mtodos comparten el mismo objetivo: realizar el alta de un usuario en el sistema, el primero se reserva exclusivamente a Colaboradores, mientras que el segundo puede realizarse para cualquier tipo de usuario.
Una de las principales funcionalidades de la aplicacin web, se encuentra en la capacidad de realizar bsquedas sobre los usuarios y as poder generar informes tiles. El mdulo que permite realizar dicha operacin tiene como identificador: Consulta Usuarios. Las bsquedas de usuarios pueden seguir diferentes criterios, de los cuales se harn una AND lgica sobre los usuarios del sistema que estn dados de alta, para obtener un listado. Los diferentes criterios son:
Descripcin: Identificador del usuario. Este parmetro sirve para realizar listas unitarias y encontrar un usuario determinado. Apellidos de los usuarios rea a la que pertenecen los usuarios. Tipo o nivel de acceso de los usuarios (Admin, Profesor o Colaborador).
Tabla A.10.- Criterios de consulta de usuarios
Si un campo no es rellenado, no se tendr en cuenta para realizar la bsqueda. Para poder hacerla, se ha de marcar la opcin: Buscar. A continuacin, se muestran todos los usuarios que responden a dicha bsqueda. La lista se compone de: foto, nombre y login de los usuarios, ordenados alfabticamente y agrupados por la primera letra del primer apellido. Adems de mostrar la lista de los usuarios, tambin se permite realizar una consulta ms profunda de un usuario determinado. Para poder acceder a ella, se ha de pulsar sobre el nombre del usuario en cuestin y se mostrar el perfil de dicho usuario, que contiene: datos personales (login, nombre, e-mail, categora, rea a la que 173
Anexo - Manuales
pertenece, ltimo acceso y observaciones), proyectos asignados o solicitados, trabajos asignados o solicitados y, si se trata de un Colaborador, su expediente acadmico (notas y asignaturas cursadas). Si se desea volver al resultado obtenido anteriormente, se ha de pulsar el botn que pone: Anterior.
Esta operacin permitir variar los datos personales de un usuario. Si se desea variar la asignacin de un proyecto o trabajo, se ha de modificar el estado de estos ltimos. El mdulo que permite realizar la operacin tiene como identificador: Modificar Usuario. En primer lugar, es necesario realizar su bsqueda. De igual modo que la operacin explicada anteriormente: Bsqueda de usuarios, aqu se mostrarn los mismos criterios para poder generar una lista y, a continuacin, se selecciona un usuario para ver en detalle su ficha personal. No obstante, ahora la ficha personal tiene habilitada la opcin (modificar). Si se pulsa sobre ella, se muestra un formulario con los
mismos campos que el de registrar un usuario, pero con la informacin completada. Algunos detalles a tener en cuenta en los campos son:
Notas: Permanece bloqueado, ya que los identificadores sern invariables desde su registro en el sistema. Si se pasa de Colaborador a cualquier otra categora, se perdern las notas almacenadas.
Password y repeticin La longitud de la contrasea mostrada no concuerda con la del mismo Asignaturas y notas longitud de la contrasea real. Esto es debido a que se muestra la contrasea cifrada. Este campo slo se mostrar si se trata de un Colaborador.
Tabla A.11.- Detalles del formulario de modificacin de usuario
174
Anexo - Manuales
Una vez que se han introducido las modificaciones pertinentes sobre los datos, es necesario pulsar el botn que pone: Modificar. De esta manera, se actualizar la informacin del sistema.
Esta operacin permitir dar de baja un usuario del sistema. El mdulo que permite realizar la operacin tiene como identificador: Eliminar Usuario. En primer lugar, es necesario realizar su bsqueda. De igual modo que la operacin explicada anteriormente: Bsqueda de usuarios, aqu se mostrarn los mismos criterios que permitirn generar una lista y, a continuacin, se selecciona un usuario en concreto para ver en detalle su ficha personal. Pero ahora, la ficha personal tiene habilitada la opcin (eliminar). Para dar de baja el usuario, ser necesario pulsar
sobre la etiqueta, y confirmar el mensaje de borrado. De esta manera, quedar borrada del sistema toda la informacin relacionada con el usuario.
Para poder dar de alta un nuevo proyecto en el sistema, es necesario pulsar sobre la opcin: Insertar Proyecto. Esta accin lleva a un formulario en el que se detalla toda la informacin necesaria para realizar la insercin de un nuevo proyecto. Los campos que son:
Campo: Estado
Descripcin: Indica si el proyecto estar asignado o libre. En caso de estar asignado, se mostrarn los campos: login del alumno, fecha de la entrega y nota.
Identificador Ttulo
175
Desarrollo de una aplicacin web Categora Descripcin Parte prctica Login del ponente Login del alumno Fecha mxima de entrega Fecha de entrega Enlace Nota Requisitos Categora del proyecto: TFC o PFC. Descripcin terica del proyecto. Descripcin prctica del proyecto.
Anexo - Manuales
Identificador del profesor encargado de guiar el desarrollo. Identificador del usuario encargado del desarrollo del proyecto. Fecha mxima de entrega del proyecto. Fecha en la que se entrega el proyecto. Direccin web donde se encuentra ms informacin sobre el proyecto. Evaluacin del proyecto entregado. Tecnologas requeridas para el desarrollo del proyecto.
Tabla A.12.- Campos de formulario para registrar un proyecto
Una vez rellenada toda la informacin necesaria, se ha de pulsar el botn que indica: Registrar, y el proyecto habr sido dado de alta en el sistema.
Esta funcin slo tiene sentido cuando existen proyectos solicitados. Si por el contrario se desea realizar una asignacin sin previa solicitud, se tendrn que modificar los datos del proyecto directamente por medio de la operacin: Modificar Proyecto. Para poder realizar la operacin se ha de pulsar el botn que pone: Asignar Proyectos. Una vez dentro, si no existen proyectos solicitados se mostrar el mensaje pertinente comunicndolo. En caso contrario, ste mdulo permite dos funcionalidades:
Descripcin: Existen dos botones que generan dos tipos de listas diferentes:
176
Anexo - Manuales Usuarios-Proyectos: lista de los proyectos solicitados por cada usuario. Proyectos-Usuarios: lista de los usuarios que han solicitado cada proyecto.
De esta manera, se pueden generar informes tiles para el posterior anlisis sobre la asignacin de los diferentes proyectos. Para volver a la pantalla anterior se pulsar el botn: Anterior. Asignar proyectos Mediante dos pestaas que indican el proyecto y el usuario que realiz la solicitud, permite, apretando el botn que pone: Asignar, asignar a un usuario un determinado proyecto. Tambin se enviar un correo electrnico al usuario afectado en la operacin, indicndole qu proyecto se le ha asignado.
Tabla A.13.- Funcionalidades de la asignacin de proyectos
Con la combinacin de estas dos operaciones, se facilita bastante el proceso de asignar los proyectos. No obstante y como se ha indicado anteriormente, tambin se pueden asignar modificando directamente los datos de los proyectos.
Gracias a esta funcionalidad se permite el acceso inmediato a los datos de un proyecto y generar informes tiles de proyectos con parmetros en comn. El mdulo que permite realizar la operacin tiene como identificador: Consultar Proyecto. Las bsquedas de proyectos pueden seguir diferentes criterios, de los cuales se harn una AND lgica, a excepcin de los requisitos, de los cuales se har una OR sobres los proyectos del sistema y se obtendr una lista. Los diferentes criterios son:
Criterio: Identificador
177
Anexo - Manuales
realizar listas unitarias y encontrar un proyecto determinado. Categora Login ponente Login alumno Requisitos Indicar el tipo de los proyectos que se filtrarn: TFC o PFC. Identificador del usuario que se encarga de guiar los proyectos. Identificador del usuario que se encarga de desarrollar el proyecto. Requisitos que se pueden encontrar en un proyecto. Como se ha comentado anteriormente, se realizar una OR de los que estn marcados. Lo que se traduce a la siguiente afirmacin: el proyecto a buscar ha de contener al menos uno de los requisitos seleccionados. Estado Indicar la disponibilidad de los proyectos a buscar: Libre, Asignado o Solicitado.
Tabla A.14.- Criterios de consulta de proyectos
Si un campo no es rellenado, no se tendr en cuenta para realizar la bsqueda. Para poder hacerla, se ha de marcar la opcin: Buscar. A continuacin, se muestran todos los proyectos que responden a dicha bsqueda. La lista se compone de: identificador, ttulo, logins de ponente y alumno, y categora del proyecto, ordenados alfabticamente por el identificador. Adems de mostrar la lista de los proyectos, tambin se permite realizar una consulta ms profunda de un determinado proyecto. Para poder acceder a ella, se ha de pulsar sobre el identificador del proyecto en cuestin y, a continuacin, se mostrar la informacin completa de dicho proyecto, que esta formada por: identificador, ttulo, descripcin, parte prctica, fecha mxima de entrega, requisitos, enlace donde se obtiene ms informacin, ponente y, en caso de estar asignado, el identificador del alumno, la fecha de entrega y la nota .Si se desea volver al resultado de la bsqueda obtenido anteriormente, se ha de pulsar el botn que pone: Anterior.
178
Anexo - Manuales
Esta operacin permitir variar la informacin de un proyecto en concreto. El mdulo que permite realizar la operacin tiene como identificador: Modificar Proyecto. En primer lugar, es necesario realizar su bsqueda. De igual modo que la operacin explicada anteriormente: Bsqueda de proyectos, aqu se mostrarn los mismos criterios para poder generar una lista y, a continuacin, se selecciona un proyecto en concreto para ver en detalle su informacin. No obstante, ahora su ficha tiene habilitada la opcin (modificar). Si se pulsa sobre ella, se muestra un
formulario con los mismos campos que el de registrar un proyecto, pero con la informacin completada. Algunos detalles a tener en cuenta en los campos son:
Campo: Estado
Notas: Si se libera un proyecto, pasando de asignado a libre, se perdern los datos de login del alumno, fecha de la entrega y nota.
Permanece bloqueado, ya que los identificadores sern invariables desde su registro en el sistema. Este campo slo se mostrar si el proyecto tiene el estado de Asignado. Este campo slo se mostrar si el proyecto tiene el estado de Asignado. Este campo slo se mostrar si el proyecto tiene el estado de Asignado.
Tabla A.15.- Detalles del formulario de la modificacin de proyectos
Una vez que se han introducido las modificaciones pertinentes sobre los datos, es necesario pulsar el botn que pone: Modificar. De esta manera, se actualizar la informacin del sistema.
179
Anexo - Manuales
Esta operacin permitir dar de baja un proyecto del sistema. El mdulo que permite realizar la operacin tiene como identificador: Eliminar Proyecto. En primer lugar, es necesario realizar su bsqueda. De igual modo que la operacin explicada anteriormente: Bsqueda de proyectos, aqu se mostrarn los mismos criterios que permitirn generar una lista y, a continuacin, se selecciona un proyecto en concreto para ver en detalle su informacin. Pero ahora, dicha informacin tiene habilitada la opcin (eliminar). Para dar de baja el proyecto, ser necesario
pulsar sobre la etiqueta, y confirmar el mensaje de borrado. De esta manera, quedar borrada del sistema toda la informacin relacionada con el proyecto.
Para poder dar de alta un nuevo trabajo en el sistema, es necesario pulsar sobre la opcin: Insertar Trabajo. Esta accin lleva a un formulario en el que se detalla toda la informacin necesaria para realizar la insercin de un nuevo trabajo. Los campos que son:
Campo: Estado
Descripcin: Indica si el trabajo estar asignado o libre. En caso de estar asignado, se mostrarn los campos: login del alumno, fecha de la entrega y nota.
Identificador del trabajo. Ttulo del trabajo. Descripcin terica del trabajo. Descripcin prctica del trabajo. Identificador del usuario y representante del grupo
180
Desarrollo de una aplicacin web encargado del desarrollo del trabajo. Fecha mxima de entrega Fecha de entrega Enlace Nota Fecha mxima de entrega del trabajo. Fecha en la que se entrega el trabajo.
Anexo - Manuales
Direccin web donde se encuentra ms informacin sobre el trabajo. Evaluacin del trabajo entregado.
Tabla A.16.- Campos del formulario para registrar un trabajo
Una vez rellenada toda la informacin necesaria, se ha de pulsar el botn que indica: Registrar, y el trabajo habr sido dado de alta en el sistema.
Esta funcin slo tiene sentido cuando existen trabajos solicitados. Si por el contrario se desea realizar una asignacin sin previa solicitud, se tendrn que modificar los datos del trabajo directamente por medio de la operacin: Modificar Trabajo. Para poder realizar la operacin se ha de pulsar el botn que pone: Asignar Trabajos. Una vez dentro, si no existen trabajos solicitados se mostrar el mensaje pertinente comunicndolo. En caso contrario, ste mdulo permite dos funcionalidades:
Descripcin: Existen dos botones que generan dos tipos de listas diferentes: Usuarios-Trabajos: lista de los trabajos solicitados por cada usuario. Trabajos-Usuarios: lista de los usuarios que han solicitado cada trabajo. De esta manera, se pueden generar informes tiles para el posterior anlisis sobre la asignacin de los diferentes trabajos.
181
Anexo - Manuales
Mediante dos pestaas que indican el trabajo y el usuario que realiz la solicitud, permite, apretando el botn que pone: Asignar, asignar a un usuario un determinado trabajo. Tambin se enviar un correo electrnico al usuario afectado en la operacin, indicndole qu trabajo se le ha asignado.
Tabla A.17.- Funcionalidades de la asignacin de trabajos
Con la combinacin de estas dos operaciones, se facilita bastante el proceso de asignar los trabajos. No obstante y como se ha indicado anteriormente, tambin se pueden asignar modificando directamente los datos de los trabajos.
Esta funcionalidad permite el acceso inmediato a los datos de un determinado trabajo y generar informes tiles de proyectos con parmetros en comn. El mdulo que permite realizar la operacin tiene como identificador: Consultar Trabajo. Las bsquedas de trabajos pueden seguir diferentes criterios, de los cuales se harn una AND lgica sobre los trabajos del sistema para obtener un listado. Los diferentes criterios son:
Criterio: Identificador
Descripcin: Identificador del trabajo. Este parmetro sirve para realizar listas unitarias y encontrar un trabajo determinado
Identificador del usuario y representante del grupo, que se encarga de desarrollar el proyecto. Indicar la disponibilidad de los trabajos a buscar: Libre, Asignado o Solicitado.
Tabla A.18.- Criterios de consulta de trabajos
182
Anexo - Manuales
Si un campo no es rellenado, no se tendr en cuenta para realizar la bsqueda. Para poder hacerla, se ha de marcar la opcin: Buscar. A continuacin, se muestran todos los trabajos que responden a dicha bsqueda. La lista se compone de: identificador, ttulo, ponente, login del alumno y estado del trabajo, ordenados alfabticamente por el identificador. Adems de mostrar la lista de los trabajos, tambin se permite realizar una consulta ms profunda de un determinado trabajo. Para poder acceder a ella, se ha de pulsar sobre el identificador del trabajo en cuestin y, a continuacin, se mostrar la informacin completa de dicho trabajo, que esta formada por: identificador, ttulo, descripcin, parte prctica, fecha mxima de entrega, enlace donde se obtiene ms informacin y, en caso de estar asignado, el identificador del alumno, la fecha de entrega y la nota .Si se desea volver al resultado de la bsqueda obtenido anteriormente, se ha de pulsar el botn que pone: Anterior.
Esta operacin permitir variar la informacin de un determinado trabajo. El mdulo que permite realizar la operacin tiene como identificador: Modificar Trabajo. En primer lugar, es necesario realizar su bsqueda. De igual modo que la operacin explicada anteriormente: Bsqueda de trabajos, aqu se mostrarn los mismos criterios para poder generar una lista y, a continuacin, se selecciona un trabajo en concreto para poder ver en detalle su informacin. No obstante, ahora su ficha tiene habilitada la opcin (modificar). Si se pulsa sobre ella, se muestra un formulario
con los mismos campos que el de registrar un trabajo, pero con la informacin completada. Algunos detalles a tener en cuenta en los campos son:
Campo: Estado
Notas: Si se libera un trabajo, pasando de asignado a libre, se perdern los datos de login del alumno, fecha de la entrega y nota.
Identificador
Permanece bloqueado, ya que los identificadores sern invariables desde su registro en el sistema. 183
Anexo - Manuales
Este campo slo se mostrar si el trabajo tiene el estado de Asignado. Este campo slo se mostrar si el trabajo tiene el estado de Asignado. Este campo slo se mostrar si el trabajo tiene el estado de Asignado.
Tabla A.19.- Detalles del formulario de la modificacin de trabajos
Una vez que se han introducido las modificaciones pertinentes sobre los datos, es necesario pulsar el botn que pone: Modificar. De esta manera, se actualizar la informacin del sistema.
Esta operacin permitir dar de baja un trabajo del sistema. El mdulo que permite realizar la operacin tiene como identificador: Eliminar Trabajo. En primer lugar, es necesario realizar su bsqueda. De igual modo que la operacin explicada anteriormente: Bsqueda de trabajos, aqu se mostrarn los mismos criterios que permitirn generar una lista y, a continuacin, se selecciona un proyecto en concreto para ver en detalle su informacin. Pero ahora, dicha informacin tiene habilitada la opcin (eliminar). Para dar de baja el trabajo, ser necesario pulsar
sobre la etiqueta, y confirmar el mensaje de borrado. De esta manera, quedar borrada del sistema toda la informacin relacionada con el trabajo.
184
Anexo - Manuales
A.3.1.- Registro
Se entiende por registro, el ingreso del usuario en la base de datos de la aplicacin web con lo que se permite el acceso al sistema. Existen dos posibles alternativas para poder ingresar como usuario: 1. Va profesor: el colaborador ha de ponerse en contacto con un profesor del GRSI para que le registre directamente en el sistema. Se tendrn que facilitar todos los datos necesarios para el ingreso as como: login, nombre, apellidos, contrasea, rea a la que pertenecer y las asignaturas que el profesor requiera, con sus respectivas notas. 2. Va web: este tipo de registro solamente se puede realizar en unas determinadas fechas escogidas por los profesores del GRSI. En primer lugar, el colaborador tendr que conocer dichas fechas y acceder a la pgina web del GRSI. Si se encuentra en el periodo de registro de colaboradores, en la pgina de ingreso existir una funcin habilitada en la que pone: Registro. Accediendo a dicha opcin, se muestra un formulario de solicitud de registro, en el cual se tendrn que completar los datos: login, nombre, apellidos, contrasea, rea a la que pertenecer y las asignaturas que se requieran, con sus respectivas notas. Una vez rellenado el formulario, se enva por correo a uno de los profesores encargados de las altas de los usuarios y si todo es correcto, el profesor dar el alta al usuario con la posibilidad de indicrselo por e-mail.
185
Anexo - Manuales
Si el usuario olvida su contrasea, tiene que ponerse en contacto con uno de los profesores a fin de solicitar una nueva y corregir el problema. Cabe resaltar, que si el usuario equivoca en repetidas ocasiones su contrasea, su cuenta quedar bloqueada por un tiempo determinado.
A fin de automatizar el sistema de la solicitud de proyectos, aqu se permite al usuario realizar sus solicitudes. Para acceder a esta opcin, se hace mediante la opcin Solicitar Proyecto del men izquierda de la aplicacin. La operacin se compone de cuatro fases: 1. Seleccionar el tipo de proyecto: TFC (trabajo final de carrera) o PFC (proyecto final de carrera). 2. Una vez se ha seleccionado un tipo, se mostrar un listado con todos los proyectos libres de la categora seleccionada. A su vez, se mostrar si ms gente los han solicitado.
186
Anexo - Manuales
3. Vistos todos los proyectos, se han de seleccionar tres con diferentes prioridades (alta, media o baja) a fin de que se le pueda asignar el que ms se ajusta a las necesidades del grupo. No obstante, el usuario puede proseguir con una sola eleccin. Para continuar, se ha de seleccionar la opcin que pone: Solicitar. En este momento, se enviar un correo electrnico al profesor encargado de la asignacin de proyectos, y el perfil del usuario mostrar el proyecto como solicitado. 4. Hecha la asignacin de proyectos, por parte de los profesores, se enviar un correo electrnico al usuario, indicando el estado de su solicitud, y ste podr comprobar que su ficha personal ha pasado de mostrar el proyecto de solicitado a asignado. Por ltimo, cabe resaltar que un usuario solamente puede realizar la operacin de solicitud si se cumplen dos condiciones: No existen otros proyectos, del tipo que se desea realizar la solicitud, en proceso de solicitud. El usuario en cuestin, no tiene asignado proyectos del tipo que se desea realizar la solicitud. De lo que se deduce que, cada usuario solamente podr desarrollar un proyecto de cada tipo.
Si al solicitar un proyecto, no hay ninguna opcin que satisfaga las necesidades del usuario, o si ste tena algo en mente como proyecto, se permite que se realicen propuestas. Esta funcionalidad se encuentra en la opcin: Proponer Proyecto. Para la propuesta de un proyecto, es necesario indicar los siguientes campos:
187
Desarrollo de una aplicacin web Descripcin Parte prctica Proponer a Descripcin terica del proyecto.
Anexo - Manuales
Descripcin de lo que se tiene que desarrollar. Aqu se indican el rea del GRSI a la cual est dirigido, y se mostrarn los profesores que la forman. Indicar a quin se le enviar la propuesta.
Tecnologas a utilizar
Una vez rellenados todos los campos del formulario, se ha de accionar el botn que pone: Proponer. Tal como se ha comentado, la propuesta se enva por e-mail al profesor indicado y, si ste la valida, lo insertar en la base de datos y el usuario podr ver en su ficha personal que tiene el nuevo proyecto asignado.
A fin de automatizar el sistema de la solicitud de trabajos, aqu se permite al usuario realizar sus solicitudes. No obstante, esta operacin la har un solo representante del grupo, que posteriormente indicar el resto de los componentes. Para acceder a esta opcin, se hace mediante la opcin Solicitar Trabajo del men izquierda de la aplicacin. La operacin se compone de tres fases: 1. En primer lugar, se mostrar un listado con todos los trabajos disponibles para desarrollar. A su vez, se mostrar si ms gente los han solicitado. 2. Vistos todos los trabajos, se han de seleccionar tres con diferentes prioridades (alta, media o baja) a fin de que se le pueda asignar el que ms se ajusta a las necesidades del grupo. No obstante, el usuario puede proseguir con una sola eleccin. Tambin se han de indicar, en caso que haya, los componentes que forman el grupo que desarrollarn el trabajo. Para continuar, se ha de seleccionar el botn que pone: Solicitar. En este momento, se enviar un correo electrnico al profesor encargado de la 188
Anexo - Manuales
asignacin de trabajos, y el perfil del usuario que representa al grupo mostrar el trabajo como solicitado. 3. Hecha la asignacin de trabajos, se enviar un correo electrnico al representante, indicando el estado de su solicitud, y ste podr comprobar que su ficha personal ha pasado de mostrar el trabajo de solicitado a asignado. Por ltimo, cabe resaltar que un usuario solamente puede realizar la operacin de solicitud si no existen otros trabajos en proceso de solicitud.
Si al solicitar un trabajo, no hay ninguna opcin que satisfaga las necesidades del usuario o grupo al que representa, o si tenan algo en mente, se permite que se realicen propuestas. Esta funcionalidad se encuentra en la opcin: Proponer Trabajo. Para la propuesta de un trabajo, es necesario rellenar los siguientes campos:
Descripcin: Ttulo del trabajo. Descripcin terica del trabajo. Descripcin de lo que se tiene que desarrollar.
Tabla A.21.- Campos del formulario para proponer un trabajo
Una vez rellenados todos los campos del formulario, se ha de accionar el botn que pone: Proponer. A continuacin, se enva un correo electrnico al profesor encargado de de validar las propuestas de los trabajos y, si acepta la propuesta, lo insertar en la base de datos y el usuario podr ver en su ficha personal que tiene el nuevo trabajo asignado.
189
Anexo - Manuales
Como se ha comentado anteriormente, existe una ficha personal de cada usuario, donde se muestra informacin sobre los datos personales, el expediente, los trabajos y los proyectos tanto asignados como solicitados. A esta opcin se accede mediante el botn que pone: Datos Personales. Adems de mostrar toda la informacin relacionada con el usuario en cuestin, tambin existe la posibilidad de cambiar los datos personales y el expediente. Para poder realizarlo, se hace a travs de la opcin que pone: Modificar. sta lleva a un formulario igual al de registro de un nuevo usuario, pero con los campos llenos permitiendo variar la informacin. Si se desea modificar el estado de los proyecto y/o trabajos tendr que ponerse en contacto con uno de los profesores para que lleve la operacin a cabo.
La aplicacin web permite enviar correos electrnicos mediante la pestaa que pone: Enviar Correo. El proceso para enviar un e-mail es muy sencillo: 1. Indicar direccin o direcciones como Destinatario. 2. Indicar direccin o direcciones como CC, donde se enviarn copias del mensaje. 3. Indicar direccin o direcciones como BCC, donde se enviarn copias ocultas del mensaje (los destinatarios indicados en los anteriores campos no sabrn de los destinatarios de este campo). 4. Sealar el asunto del mensaje. 5. Rellenar el contenido del mensaje, el cual permite un mximo de 2500 caracteres. 6. Pulsar sobre el botn que pone: Enviar, y as completar el envo.
190
Anexo - Manuales
El e-mail de origen, ser el correo electrnico sealado en el registro del usuario que realiza la operacin. Para rellenar los campos destinatario, CC y BCC, existen diferentes botones que permiten generarlos directamente. Estos tres botones, llevan a un buscador de usuarios con la que se obtiene una lista de los usuarios que se desean agregar al campo. Los criterios de bsqueda son: rea a la que pertenecen, categora de usuario, login, nombre y apellidos. Adems, por cada resultado de la bsqueda se permite filtrar los usuarios que se desean agregar mediante cheklist. Una vez se han seleccionado todos los usuarios que se desea que formen el campo, se ha de pulsar el botn que pone: Generar, y as volver a la pgina principal de envo de correo con las informaciones completadas.
191
Anexo - Manuales
192
Anexo - Manuales
Variable: s_autentificado
Descripcin: Indica si el usuario que accede al mdulo donde se realiza la consulta, est autentificado o no. Esta variable permite mantener cierta seguridad en el sistema.
Contiene el login del usuario que se ha autentificado con xito. Indica el idioma, determinado por el usuario, en el que se le mostrarn los textos. Informa de la categora o nivel de acceso del usuario en cuestin. Esta variable permite mantener cierta seguridad en el sistema.
s_operaciones_pagina Es una cadena donde se encuentran todos los identificadores de las operaciones permitidas en un determinado fichero. Esta variable permite mantener cierta seguridad en el sistema. s_operacion Es una cadena donde se encuentra el identificador de la operacin que se est llevando a cabo. Esta variable permite mantener cierta seguridad en el sistema.
Tabla A.22.- Variables de sesin utilizadas en la aplicacin
Si se requiere la creacin de nuevas variables de sesin, es recomendable utilizar la notacin: s_variable_de_sesion. De esta manera se podrn diferenciar directamente las variables locales a las de sesin. La incorporacin de nuevos datos al perfil del usuario, se realiza en el fichero: control.php. Para obtener ms informacin sobre el tema se puede consultar el apartado 4.2.2 de la memoria.
Anexo - Manuales
La adaptacin de cualquier mdulo para incluir esta seguridad a sus funciones es muy sencilla, basta con incluir las siguientes lneas al principio de cada fichero que compone el mdulo:
<?php; session_start(); session_register("s_operaciones_pagina"); $s_operaciones_pagina="##Identificador del Mdulo#"; include ("NivelSeguridad.php"); ?>
Lo nico que se ha de modificar, es el valor que asigna a la variable de sesin, s_operaciones_pagina. El formato de sta se compone de 4 partes: 1. ## al principio. 2. Nombre del identificador, anteriormente comentado, del mdulo. Permite espacios. 3. # al final de la variable. Con la inclusin de estas lneas, estaremos diciendo que a ese fichero solamente se puede acceder si la opcin del men seleccionada es la de la operacin con identificador: Identificador del Mdulo. No obstante, en ocasiones algn fichero est compartido por varios mdulos, con lo que ser necesario indicrselo a s_operaciones. Para este caso, habra que aadir otro punto al formato de la variable: 4. Si la pgina est utilizada por otro mdulo, volver al nmero 2. Tambin hay que comentar que si el mdulo no se encuentra en la misma carpeta que el mdulo NivelSeguridad.php, a la hora de realizar el include habra que indicarle un PATH (camino para encontrarlo). En el ejemplo prctico se explicar en detalle. Para obtener ms informacin sobre el tema se puede consultar el apartado 4.4 de la memoria.
194
Anexo - Manuales
Esto servir para incluir la librera idiomas.php sino estaba ya incluida. No obstante, si el fichero ya tiene incluido el nivel de seguridad, las lneas tendrn que quedar del siguiente modo:
<?php; session_start(); session_register("s_operaciones_pagina"); $s_operaciones_pagina="##Identificador del Mdulo#"; if($libreria_incluida!=1){ include ("idiomas.php"); } include ("NivelSeguridad.php"); ?>
Como se puede observar, la inclusin de la librera idiomas.php tiene que estar antes de la de NivelSeguridad.php. De igual modo que antes, si el mdulo no se encuentra en la misma carpeta que el mdulo idiomas.php, a la hora de realizar el include habra que indicarle un
195
Anexo - Manuales
2. Salida de texto: a partir de ahora, cada vez que se quiera mostrar un contenido por pantalla, se tendr que utilizar la funcin de php:
gettext(identificador del contenido a mostrar);
Recibe: el identificador que identificar la informacin en la tabla Idiomas de la base de datos. Retorna: saca por pantalla el texto correspondiente al identificador y el idioma especificado en s_idioma. 3. Agregar la informacin: esta operacin se puede llevar a cabo por dos vas: Va web: precisa de una cuenta de usuario del sistema con permisos sobre la operacin: Gestion Contenidos. A continuacin, tendr que insertar todos los identificadores con sus correspondientes traducciones para que idiomas.php pueda encontrar las bsquedas del nuevo mdulo. Va gestor de base de datos: se requiere de una cuenta de acceso a la base de datos. A continuacin, se agrega la informacin (identificadores y traducciones) en la tabla Idiomas a travs de una peticin SQL. Para obtener ms informacin sobre el tema se puede consultar el apartado 4.5 de la memoria.
196
Anexo - Manuales
Descripcin: Indica la direccin de e-mail que recibir las propuestas de los trabajos que se realicen. Indica la direccin de e-mail que recibir las peticiones de desarrollo de trabajos.
Mail_Solicitud_Proyecto Indica la direccin de e-mail que recibir las peticiones de desarrollo de proyectos. Idioma_Por_Defecto Max_Intentos Tiempo_Bloqueo Es el idioma que se asignar por defecto a todos los usuarios que se den de alta en el sistema. Nmero de intentos de acceso fallidos que se permite a un usuario antes de bloquear su cuenta. Tiempo en minutos que se bloquear el acceso a un cuenta si se iguala el nmero de accesos incorrectos a Max_Intentos. Dia_Inicio_Registro Da a partir del cual, la opcin Registrar estar activada a los usuarios no autentificados y la operacin Registrar Usuario estar operativa, permitiendo el registro de Colaboradores. Mes_Inicio_Registro Mes a partir del cual, la opcin Registrar estar activada a los usuarios no autentificados y la operacin Registrar Usuario estar operativa, permitiendo el registro de Colaboradores. Dia_Final_Registro Da a partir del cual, la opcin Registrar estar desactivada y la operacin Registrar Usuario estar deshabilitada, cerrando la posibilidad de registro de nuevos Colaboradores sin la mediacin de los profesores.
197
Anexo - Manuales
Mes a partir del cual, la opcin Registrar estar desactivada y la operacin Registrar Usuario estar deshabilitada, cerrando la posibilidad de registro de nuevos Colaboradores sin la mediacin de los profesores.
PATH_Fotos
Indica la direccin absoluta, donde se encontrarn las fotos de los usuarios. Los nombres de las fotos han de coincidir con los logins de los usuarios.
Extension_Fotos
Extensin (sin punto) de las fotos de los usuarios. Los nombres de las fotos han de coincidir con los logins de los usuarios.
Dominio_Correo
Dominio al cual se asociarn los correos electrnicos cuando se registre el usuario en el sistema. La primera parte del e-mail ha de ser el login del usuario.
Tabla A.23.- Parmetros del archivo de configuracin
Si se decide crear un nuevo parmetro es necesario introducir dos nuevas lneas en configuracion.conf:
##Nuevo_Parmetro# valor del parmetro
Hay que destacar la importancia de conservar las # y que las dos lneas sean consecutivas. Para la utilizacin de cualquier parmetro del fichero de configuracin durante el mdulo es necesario realizar las siguientes operaciones en los ficheros: 1. Modificar ficheros: Introducir las siguientes lneas al principio del fichero en el que se utilice, y as incluir una nueva librera:
<?php; include ("RecogeConfiguracion.php"); ?>
Aqu, otra vez, tendremos que indicarle un PATH si el mdulo no se encuentra en la misma carpeta que la librera RecogeConfiguracion.php. 198
Anexo - Manuales
2. Obtener parmetro: gracias a la librera incluida, obtener parmetros del fichero configuracion.conf es un proceso automtico con la funcin:
RecogeParametro("Nuevo_Parmetro");
Recibe: el nombre del campo que se quiere obtener su valor (sin #). Retorna: el valor del campo especificado.
199
Anexo - Manuales
Tal como se ha comentado anteriormente, antes que nada se tiene que escoger un identificador para cada uno, que englobe el conjunto de sus operaciones. As pues, se han escogido: Mdulo de noticias: Noticias Mdulo de publicaciones: Publicaciones
Ahora que ya se tiene un identificador para cada uno, se puede empezar a realizar la adaptacin propiamente dicha: 1. Variables de sesin: Este tipo de cambios, requieren que el usuario tenga que mirar y entender lo que realiza el cdigo de cada fichero. En estos mdulos, slo existe un caso en el que se pueda realizar esta adaptacin. Consiste en una proteccin para evitar que los usuarios no autenticados accedan a cada uno de los ficheros:
if (!session_is_registered("SESSIO_LOGIN")) { redirecciona("../index.php"); }
Teniendo en cuenta las variables de sesin de la aplicacin web, se puede sustituir por:
if ($s_autentificado!='SI') { redirecciona("../index.php"); }
No obstante, estas lneas no haran falta, ya que posteriormente se agregar el mdulo de seguridad y ser una proteccin redundante. 2. Mdulo de seguridad: Tal como se ha explicado anteriormente, para realizar la adaptacin se requiere de la modificacin de las cabeceras de los ficheros que componen los mdulos, quedando del siguiente modo: 1. Mdulo noticias: 200
Anexo - Manuales
2. Mdulo publicaciones:
<?php; session_start(); session_register("s_operaciones_pagina"); $s_operaciones_pagina="##Publicaciones#"; include ("../../NivelSeguridad.php"); ?>
Como se puede observar, la variable de sesin s_operaciones_pagina incluir el identificador del mdulo que previamente se haba escogido. Adems, se puede comprobar que la inclusin de la librera tiene un determinado PATH, el cual indicar el camino para encontrar la librera en cuestin. En este caso particular, indica que se encuentra dos carpetas por encima del fichero en cuestin. 3. Soporte para varios idiomas: Para la adaptacin de estos mdulos no se ha solicitado el soporte para varios idiomas. No obstante, se explicar un caso en concreto para as mostrar cmo se realiza. El proceso sera igual para todas las traducciones. Teniendo en cuenta que la adaptacin ya incorpora el mdulo seguridad, las cabeceras de los ficheros quedan finalmente del siguiente modo: 1. Mdulo noticias:
<?php; session_start(); session_register("s_operaciones_pagina"); $s_operaciones_pagina="##Identificador del Mdulo#"; if($libreria_incluida!=1){ include ("../../idiomas.php");
201
Anexo - Manuales
2. Mdulo publicaciones:
<?php; session_start(); session_register("s_operaciones_pagina"); $s_operaciones_pagina="##Identificador del Mdulo#"; if($libreria_incluida!=1){ include ("../../idiomas.php"); } include ("../../NivelSeguridad.php"); ?>
Solamente destacar, que la librera idiomas tambin se encuentra dos carpetas por encima de los ficheros de los mdulos, y por eso se indica el PATH: ../../. Una vez realizado el cambio en los ficheros, es necesario modificar la salida del texto para que lo haga a travs de un filtro. Por ejemplo, en el fichero publicacions.php se sustituye [Volver arriba] por gettext("[Volver arriba]");. Tal como se dijo, la funcin gettext estar en php y por eso es necesario adaptar el cdigo de la pgina para soportar el lenguaje en cuestin, normalmente se lleva a cabo utilizando <?php; y ?> alrededor de la funcin. Por ltimo, solo falta agregar el contenido a la base de datos. Si se realiza va web, se ha de acceder a la aplicacin web con una cuenta de usuario que tenga permisos sobre: Gestion Contenidos, a continuacin se selecciona dicha operacin y, al final de la pgina, se encuentra el formulario para insertar un nuevo contenido. Los campos rellenados quedarn del siguiente modo:
202
Desarrollo de una aplicacin web Cataln Ingls [Tornar dalt] [To return up]
Anexo - Manuales
Como se puede observar, el nombre del identificador del contenido ser igual al de la traduccin en castellano. Esto servir para facilitar el proceso de entendimiento de cualquier usuario que se disponga a incorporar modificaciones en el cdigo donde se utilice. Adems, tal como se ha comentado anteriormente, si la librera idiomas.php no encuentra el contenido de la pgina, mostrar su identificador, con lo que se pierde el soporte para varios idiomas pero queda una salida entendible. Por otro lado, si se realiza la insercin del contenido va gestor de base de datos, la peticin SQL quedara del siguiente modo: INSERT INTO idiomas VALUES ('[Volver
arriba]', '[Volver arriba]', '[Tornar dalt]', '[To return up]', '');
Ahora que los mdulos se encuentran adaptados al funcionamiento de la aplicacin web y siguen la misma poltica que los otros que la componen, se ha de tener un par de consideraciones para agregarlo al sistema: Introducir la operacin: Al realizar la insercin de la nueva operacin se ha de utilizar el identificador escogido por el programador. No obstante la traduccin a los otros idiomas, que ser lo que se muestre por pantalla, puede ser cualquiera. Establecer permisos: Ser necesario establecer permisos sobre el nuevo mdulo para que comience a ser operativo.
203