Source: http://docplayer.es/1329404-Proyecto-fin-de-carrera-memetracker-gestor-manual-de-politiktracker.html
Timestamp: 2017-01-20 06:28:35+00:00

Document:
⭐Proyecto Fin de Carrera MEMETRACKER - Gestor Manual de Politiktracker
Proyecto Fin de Carrera MEMETRACKER - Gestor Manual de Politiktracker
Download "Proyecto Fin de Carrera MEMETRACKER - Gestor Manual de Politiktracker"
Elisa Herrera Salinas
1 2009 Proyecto Fin de Carrera MEMETRACKER - Gestor Manual de Politiktracker Álvaro Segura Cuervo Tutor: César De Pablo Sánchez 21/12/20092 AGRADECIMIENTOS Y DEDICATORIA En primer lugar dedicar especialmente a mi madre, a mis tíos Carlos y María del Carmen y a mi hermana Marta, que además de ser mis grandes apoyos en la vida han soportado las inconveniencias de este duro trabajo, horarios inverosímiles e incómodos, frustraciones, enfados y lamentos. Que han colaborado en todo lo que han podido, y me han apoyado, dado cariño y ánimos en todo momento. Sé que sin ellos yo no sería yo, ni estaría donde estoy. A mis compañeros de clase en especial a Guillermo y a Julen, sin su amistad y ayuda la experiencia vivida en estos años de universidad no hubiera sido ni remotamente parecida. Gracias por hacerme ver las cosas de un modo totalmente diferente y por haber estado ahí. Gracias de corazón. A mis amigos y familiares por haber estado a mi lado todo este tiempo, haberme apoyado y comprendido siempre que lo he necesitado. A los profesores que a lo largo de los años de universidad me han ayudado a crecer tanto académica como personalmente. Gracias a vuestras enseñanzas he aprendido a sacar lo mejor de mí, a trabajar duro, a no desistir por muy difícil que parezca la tarea y en el fondo a conocerme mucho mejor. A César, mi tutor, por la gran ayuda prestada así como por dedicar su tiempo a mí proyecto. Y sobre todo por la comprensión mostrada en todo momento de las circunstancias que me impidieron trabajar al ritmo que hubiera deseado. Gracias por tu paciencia. 2 PFC - Álvaro Segura Cuervo UC3M3 INDICE INDICE... 3 GUÍA DEL CAPÍTULO Capítulo 1: INTRODUCCIÓN Descripción del contexto y problema global Descripción general del proyecto gestor de politiktracker Objetivos de alto nivel Objetivos de bajo nivel Estructura del documento...14 GUÍA DE CAPÍTULO Capítulo 2: ESTADO DEL ARTE Introducción Bases de Datos y SGBD Bases de Datos (BBDD) Sistemas Gestores de Bases de Datos (SGBD) SQL Expresiones Regulares HTML Qué es HTML? Historia de html Características básicas Buscadores Web Qué son? Historia Tipos Aplicaciones de Gestión de Bases de Datos...32 GUÍA DEL CAPÍTULO Capítulo 3: HERRAMIENTAS EMPLEADAS Introducción Java Qúe es Java? Ventajas frente a otros lenguajes PFC - Álvaro Segura Cuervo UC3M4 3.2.3 Pasos para instalación y configuración Java Eclipse Diferentes Entornos de desarrollo Características Eclipse Wamp Server vs XAMPP...48 GUÍA DEL CAPÍTULO Capítulo 4: DESARROLLO DE LA APLICACIÓN Introducción Ciclo de vida del proyecto Fase de Análisis Requisitos del sistema Especificación de Procesos Especificación de casos de uso Análisis de los casos de uso Modelo estático de datos: Diagrama de clases Análisis de clases Descripción de Interacción. Diagramas de secuencia Análisis de la Base de Datos existente Modificaciones sobre la Base de Datos Diseño de la Aplicación Diagrama de arquitectura del sistema Especificación del entorno tecnológico Revisión de la Interfaz de Usuario Plan de pruebas GUÍA DEL CAPÍTULO Capítulo 5: FINALIZACIÓN DE PROYECTO Alternativas y opciones de futuro Conclusiones Conclusiones PERSONALES Bibliografía y documentación utilizada Libros Enlaces ANEXO Manual de ayuda PFC - Álvaro Segura Cuervo UC3M5 Ayuda general INFORMACIÓN ESPECÍFICA SOBRE POLÍTICOS INFORMACIÓN ESPECÍFICA SOBRE PARTIDOS INFORMACIÓN ESPECÍFICA SOBRE TEMAS INDICE DE TABLAS Tabla 1 - Correspondencia entre objetivos de alto nivel con los objetivos de bajo nivel...13 Tabla 2 Análisis Clase Persona...69 Tabla 3 Análisis Clase Partido...70 Tabla 4 Análisis Clase Usuario...70 Tabla 5 Análisis Clase Tema...71 Tabla 6 - Análisis Clase Sistema de Gestión...71 Tabla 7 Análisis Clase Imagen Político...72 Tabla 8 Análisis Clase Imagen Partido...72 Tabla 9 Análisis Clase Imagen Tema...72 INDICE DE ESQUEMAS: Esquema 1 Sistema Global...10 Esquema 2- Fases del Proyecto...11 Esquema 3 - Apartados de la Aplicación...12 Esquema 4 - Esquema Evolución Histórica...27 Esquema 5 Ciclo de vida...51 Esquema 6 Caso de uso Gestión de Políticos...64 Esquema 7 Caso de uso Gestión de Partidos...65 Esquema 8 Caso de uso Gestión de Temas...66 Esquema 9 Caso de uso Gestión Global...67 Esquema 10 Diagrama de Clases Esquema 11 - Diagrama de secuencia Editar Político...73 Esquema 12 - Diagrama de secuencia Guardar y hacer principal imagen Partido PFC - Álvaro Segura Cuervo UC3M6 Esquema 13 - Diagrama de secuencia Asociar Políticos...75 Esquema 14 - Diagrama de secuencia Borrar Tema...76 Esquema 15 Diagrama E-R...78 Esquema 16 Grafo Relacional Politiktracker...79 Esquema 17 - Modelo Entidad Relación Adaptado...81 Esquema 18 Diagrama de arquitectura del sistema INDICE DE IMÁGENES: Ilustración 1 - Motor de Búsqueda Bing...31 Ilustración 2 - Data Becker Base de Datos Aplicaciones de Gestión de BD...32 Ilustración 3 Aqua Data Studio - Aplicaciones de Gestión de BD...33 Ilustración 4 MySQL Administrator - Aplicaciones de Gestión de BD...34 Ilustración 5 phpmyadmin - Aplicaciones de Gestión de BD Ilustración 6 Variables de configuración de Java...39 Ilustración 7 - Interfaz Eclipse...42 Ilustración 8 Eclipse gestor de paquetes y clases...43 Ilustración 9 Eclipse Editor visual y Editor de Texto...44 Ilustración 10 Eclipse Propiedades de los elementos...45 Ilustración 11 Eclipse, gestor de elementos java Ilustración 12 Eclipse, Visual Class, paleta de elementos...46 Ilustración 13 Eclipse, consola Ilustración 14 Eclipse. Ventana de problemas o errores Ilustración 15 Prototipo 0: Altas en gestión de Políticos Ilustración 16 Prototipo 0: Bajas en gestión de políticos Ilustración 17 - Prototipo 0: Modificaciones en gestión de políticos...89 Ilustración 18 - Prototipo 0: Consultas en gestión de políticos Ilustración 19 - Prototipo 0: Asociaciones en gestión de políticos PFC - Álvaro Segura Cuervo UC3M7 Ilustración 20 - Prototipo 0: Altas en gestión de Partidos Ilustración 21 - Prototipo 0: Bajas en gestión de Partidos Ilustración 22 - Prototipo 0: Modificaciones en gestión de Partidos Ilustración 23 - Prototipo 0: Consultas en gestión de Partidos Ilustración 24 - Prototipo 0: Altas en gestión de Temas Ilustración 25 - Prototipo 0: Bajas en gestión de Temas Ilustración 26 - Prototipo 0: Modificaciones en gestión de Temas...96 Ilustración 27 - Prototipo 0: Consultas en gestión de Temas...97 Ilustración 28 - Prototipo 1: Búsqueda en gestión de Políticos Ilustración 29 - Prototipo 1: Ficha de gestión de Políticos Ilustración 30 - Prototipo 1: Asociación de gestión de Políticos Ilustración 31 - Prototipo 1: Búsqueda de gestión de Temas Ilustración 32 - Prototipo 1: Búsqueda de gestión de Partidos Ilustración Prototipo 2: Búsqueda de gestión de Políticos Ilustración 34 - Prototipo 2: Ficha de gestión de Políticos Ilustración 35 - Prototipo 2: Búsqueda de imágenes de Políticos Ilustración 36 - Prototipo 2: Ver imágenes de Políticos PFC - Álvaro Segura Cuervo UC3M8 GUÍA DEL CAPÍTULO 1 CAPITULO 1 INTRODUCCIÓN 1.1 Descripción del contexto y problema global. 1.2 Descripción general del proyecto gestor de Politiktracker. 1.3 Objetivos de alto nivel. 1.4 Objetivos de bajo nivel. 1.5 Estructura del documento. 8 PFC - Álvaro Segura Cuervo UC3M9 CAPÍTULO 1: INTRODUCCIÓN 1.1 DESCRIPCIÓN DEL CONTEXTO Y PROBLEMA GLOBAL En la actualidad el control de los datos es una de las principales herramientas de poder, ya que proporciona a quien los gestiona adecuadamente una importante ventaja respecto a quien no los controla. Este control y gestión de los datos, hoy en día, es indispensable ya que el volumen de los mismos es tan alto que de no existir se haría imposible su manejo de forma eficiente. Para este control y tratamiento de los datos se hacen necesarias determinadas aplicaciones y herramientas informáticas. Un campo de especial intereses es el de la política, ya que es el sector que controla la sociedad en la que vivimos. Por ello numerosas páginas, blogs y otras redes se encargan de recoger información, noticias y opiniones sobre el mundo político. Con motivo de hacer que toda esta información sobre el mundo político sea algo entendible y usable se elabora el proyecto Politiktracker. El proyecto Politiktracker se divide en diferentes fases, tareas o necesidades, las cuales son tratadas por proyectos diferentes. La primera necesidad del proyecto es la de recopilar datos de Internet. Para ello se realizo un proyecto (Crawler 1 ) que se encargaba de este aspecto, buscando información sobre el panorama político de manera automática. Esto supone la obtención de una gran cantidad de datos específicos del panorama político español, los cuales después de ser tratados y analizados darán como resultado una imagen más clara de la situación política actual en España. La segunda necesidad del proyecto es la de sustentar los datos recopilados y generados en un soporte físico. Para ello se ha llevado a cabo otro proyecto que consiste en el diseño, desarrollo y administración de la Base de Datos que contendrá los datos para dar soporte a las operaciones de consulta y monitorización de la blogosfera hispana 2. La tercera necesidad es la de tratar y analizar los datos recopilados, para ello diferentes proyectos se están llevando a cabo como pueden ser el Analizador de textos, el Modulo de Popularidad o el Modulo de procesamiento del lenguaje. Con estos proyectos los datos obtenidos de los blogs y almacenados en la Base de Datos son analizados para dar lugar a otros que aporten nueva y valiosa información. La cuarta necesidad es la de mostrar al usuario los datos almacenados. Para ello se está realizando un proyecto consistente en una aplicación web donde el usuario puede visualizar determinados datos de la Base de Datos. La quinta necesidad es la de modificar de manera manual los datos recopilados de manera automática en la Base de Datos. Esta necesidad es cubierta por el proyecto que se describe a lo largo de todo este documento. 1 También conocido como araña web, programa que inspecciona las páginas del World Wide Web de forma metódica y automática. 2 Conjunto de blogs con contenido relativo a la sociedad Española. 9 PFC - Álvaro Segura Cuervo UC3M10 Para una mejor comprensión del conjunto total de problemas así como de los proyectos involucrados en resolverlos se puede observar la siguiente figura: INTERNET Tratar y analizar datos: -ANALIZADOR DE TEXTOS -MODULO DE POPULARIDAD Recopilación de Datos de Internet: -CRAWLER Sustentar datos: BASE DE DATOS POLITIKTRACKER Mostrar Datos: -INTERFACE WEB Tratar y analizar datos: -MODULO DE PROCESAMIENTO DEL LENGUAJE Modificar datos recopilados: -GESTOR MANUAL DE POLITIKTRACKER Esquema 1 Sistema Global A grandes rasgos el sistema funcionaria de la siguiente forma: El Crawler o proyecto de recopilación de datos recorre de manera automática un número determinado de blogs con información política sobre el panorama Español, de ellos extrae determinada información, la cual se almacenara en la base de datos elaborada por el proyecto de sustentación de datos Politiktracker, una vez hecho esto, otros proyectos podrán analizar los datos obtenidos para generar nuevos datos que aporten una mejor y más detallada información. Estos datos se podrán mostrar al usuario de una manera directa y accesible mediante el proyecto de Interface Web. Para finalizar en caso de querer modificar algún dato de la Base de Dato, sea por el motivo que sea, el proyecto de gestión de datos permitirá este uso mediante una aplicación de escritorio. Este último proyecto de gestión de la Base de Datos será nombrado como Gestor Manual de Politiktracker y es el que se describe a lo largo de este documento, entrando en detalle sobre las características técnicas, análisis, diseño, producción, pruebas, herramientas empleadas 10 PFC - Álvaro Segura Cuervo UC3M11 1.2 DESCRIPCIÓN GENERAL DEL PROYECTO GESTOR DE POLITIKTRACKER La principal necesidad que cubre este proyecto es la de permitir la modificación de los datos almacenados en la Base de Datos (recopilados por el Crawler de manera automática). En todo proceso realizado de manera automática o semiautomática se pueden producir errores debido a que las condiciones especificadas para la búsqueda no sean lo suficientemente detalladas. Viéndose acentuados dichos errores cuanto mayor es el volumen de datos sobre el que se busca, como es el caso, se hace imprescindible un mecanismo para solucionarlos. Estos errores han de poderse subsanar de manera manual y de forma sencilla, sin tener que recurrir a modificaciones directas (mediante código) sobre la Base de Datos. Además de esta necesidad también hay otra como es la de añadir determinados datos a la Base de Datos con la finalidad de mejorar la información recopilada, para dotarla de una mayor funcionalidad. Por tanto se plantea como proyecto el análisis, diseño y producción (o desarrollo) de una aplicación de escritorio que permita cubrir estas necesidades de gestión (edición, consulta, creación y borrado sobre los datos de políticos, partidos y temas) de la Base de Datos, aportando facilidad de uso y rapidez en las operaciones. Un apartado especial que la aplicación también debe cubrir es el de asociar políticos que aún siendo la misma entidad han sido registrados con diferentes nombres. Es decir la aplicación debe gestionar la posibilidad de subsanar políticos duplicados en la Base de Datos. En el siguiente esquema se muestran a grandes rasgos las fases principales del proyecto: Esquema 2- Fases del Proyecto En secciones posteriores del documento se entrará en detalle sobre cada una de estas fases del proyecto. 11 PFC - Álvaro Segura Cuervo UC3M12 Debido a que los datos recopilados sobre el panorama político se centran en información de 3 núcleos como son: políticos, partidos y temas, la aplicación se ha centrado en estos apartados, más otro apartado para el manejo de aspectos generales o globales del sistema, se han dejando a un lado otros aspectos recogidos en la Base de Datos. En el siguiente esquema se puede observar de una manera más sencilla y gráfica los diferentes apartados o funcionalidades de la aplicación: Políticos Partidos Temas Global Inserción Inserción Inserción Acceso seguro Consulta Consulta Consulta Manual de ayuda Borrado Borrado Borrado Modificación Modificación Modificación Asociación Busqueda de imágenes Busqueda de imágenes Busqueda de imágenes Almacenamiento de imágenes Almacenamiento de imágenes Almacenamiento de imágenes Borrado de imágenes Borrado de imágenes Borrado de imágenes Esquema 3 - Apartados de la Aplicación Además de todo lo anteriormente comentado, el proyecto también abarca el análisis de otro factor importante como es el de las modificaciones sobre la Base de Datos con el menor impacto posible. Ya que para almacenar determinados datos nuevos el diseño de la Base de Datos no era adecuado, se hace necesario el estudio de cambio de dicha Base de Datos, mediante el cual se resolverán que tablas han de ser creadas nuevas y cuales modificadas con el fin de dar soporte a los nuevos datos manteniendo en todo momento la integridad. 12 PFC - Álvaro Segura Cuervo UC3M13 1.3 OBJETIVOS DE ALTO NIVEL El objetivo final del proyecto es el de realizar una aplicación para la gestión manual de los datos almacenados en la Base de Datos Politiktraker. Esta aplicación debe facilitar el manejo de los datos de una manera rápida, sencilla y segura. Dicha aplicación de gestión deberá ser capaz de añadir, consultar, modificar o borrar determinados datos referentes a políticos, partidos y temas. Para dar por resuelto el problema han de alcanzarse determinados objetivos a lo largo de la duración del proyecto, estos objetivos son los que a continuación se describen: A. Adquirir conocimiento sobre el dominio del problema, mediante un estudio exhaustivo para acotar los límites del mismo, conocer que datos y que procesos son relevantes y cuáles no. B. Adquirir conocimiento sobre la Base de Datos existente, realizando un análisis para conocer donde se almacenan los datos relevantes, cuales son los tipos de datos empleados, relaciones entre los datos, posibilidad de cambio en la Base de Datos para inclusión de nuevos datos. C. Lograr un diseño de aplicación adaptado al usuario, intuitivo y de rápido manejo, mediante la elaboración y evolución de un prototipo contando con la colaboración del usuario final. D. Minimizar los errores producidos por la recopilación automática de los datos de la Base de Datos, permitiendo el mayor número posible de modificaciones sobre los datos manteniendo en todo momento la integridad referencial. 1.4 OBJETIVOS DE BAJO NIVEL A cada objetivo de alto nivel le corresponden unos objetivos de bajo nivel mucho más específicos que se detallan a continuación en la siguiente tabla: OBJETIVO DE ALTO NIVEL Adquirir conocimiento sobre el dominio del problema Adquirir conocimiento sobre la Base de Datos existente Lograr un diseño de aplicación adaptado al usuario, intuitivo y de rápido manejo Minimizar los errores producidos por la recopilación automática de los datos OBJETIVO DE BAJO NIVEL Determinar los datos a emplear. Determinar los procesos necesarios para llevar a cabo todas las tareas. Determinar las modificaciones a realizar sobre la Base de Datos. Conocer las tablas involucradas en algún proceso y sus relaciones. Conocer los tipos y naturaleza de los datos a manejar. Conocer los tiempos de respuesta de acceso a la Base de Datos Elaborar una aplicación segura. Elaborar una aplicación en colaboración con el usuario. Realizar una aplicación ágil y fácil de manejar y recordar su uso. Realización de una batería de pruebas para la comprobación del correcto funcionamiento de la aplicación Posibilitar el mayor número posible de campos modificables sobre los datos de la Base de Datos. Tabla 1 - Correspondencia entre objetivos de alto nivel con los objetivos de bajo nivel 13 PFC - Álvaro Segura Cuervo UC3M14 1.5 ESTRUCTURA DEL DOCUMENTO En este apartado se describe a grandes rasgos las partes en las que se divide el presente documento para facilitar tanto su lectura como su comprensión. El documento se divide en 5 capítulos. Cada uno de ellos trata una de las diferentes partes que debe contemplar todo proyecto para su desarrollo y elaboración. El capítulo 1 es un apartado introductorio, no técnico, en el que se habla del contexto del problema global y cómo pretende resolverse gracias a este proyecto. En este apartado también se habla de los objetivos (tanto de alto, como de bajo nivel) que se plantean para el proyecto. El capítulo 2 se habla del estado del arte, es decir, del entorno tecnológico que rodea a la aplicación a elaborar en el proyecto. Se hablan de tecnologías relacionadas, de tecnologías existentes así como de otros aspectos que se encuadran en el marco del proyecto y que de alguna manera u otra afectan a su elaboración. Este apartado ayuda a concebir el proyecto como solución a un problema real. En el capítulo 3 se concreta sobre las herramientas empleadas para la elaboración del proyecto, describiendo cuales son, el porqué de su uso en el proyecto, alternativas analizadas, de que formas fueron empleadas dichas herramientas en el proyecto El capítulo 4 describe el proceso de elaboración de la aplicación para el proyecto sin entrar en la fase de implementación. Es decir, describe la fase de análisis y diseño. En la fase de análisis se hace un modelado inicial del problema, donde se tratan los requisitos imprescindibles a cumplir por el sistema, los diferentes diagramas para extraer información (diagrama de clases, diagramas de secuencia, diagramas de interacción, diagramas de casos de uso, diagramas de flujos de datos), se analiza la base de datos existente. En resumen, en este apartado del documento se reflejan los elementos mediante los cuales se conoce el problema de manera detallada y precisa. En la fase de diseño lo que se modela es la solución que se va a llevar a cabo basándose en las conclusiones del análisis. Este apartado se centra más en la tecnología y en la solución concreta. En este apartado se describe la arquitectura del sistema, se hace una especificación del entorno tecnológico que se va a emplear, tanto a nivel hardware como a nivel software, se desarrolla un prototipo de carácter evolutivo de la aplicación, y por último se diseña un plan de pruebas que llevar a cabo una vez se finalice la implementación para comprobar que dichas pruebas son superadas y la aplicación realiza correctamente las funcionalidades para las que fue diseñada. Por último el capítulo 5 habla sobre aspectos de finalización y conclusión del proyecto, como pueden ser alternativas y opciones de futuro que pueda tener el sistema. En este capítulo también se habla sobre las conclusiones y otros aspectos a recapitular como problemas y planteamientos que se tienen a la finalización del proyecto. Por último en este capítulo se detallan la bibliografía y medios de documentación empleados a la hora de realizar este documento. 14 PFC - Álvaro Segura Cuervo UC3M15 GUÍA DE CAPÍTULO 2 CAPITULO 2 ESTADO DEL ARTE 2.1 Introducción. 2.2 Bases de Datos y SGBD. 2.3 SQL 2.4 Expresiones regulares. 2.5 HTML 2.6 Buscadores web. 2.7 Aplicaciones de gestión de Bases de Datos 15 PFC - Álvaro Segura Cuervo UC3M16 CAPÍTULO 2: ESTADO DEL ARTE 2.1 INTRODUCCIÓN A lo largo de este apartado vamos a describir a grandes rasgos los diferentes conocimientos del entorno del proyecto sobre los que se sustenta el mismo, para llegar a tener una concepción más global tanto del propio proyecto como de su entorno y circunstancias. Se describirán las bases de datos, definiendo qué son, indicando su funcionalidad y uso, los diferentes tipos que se pueden encontrar, la evolución histórica, cómo funcionan y demás aspectos relevantes que darán a conocer de una manera más exacta el porqué de su uso en el proyecto. Se hablará sobre el lenguaje de gestión que cualquier aplicación ha de usar para comunicarse con la Base de Datos. Origen y evolución de dicho lenguaje, usos más extendidos, características y otros aspectos a tener en cuenta. Este apartado es especialmente interesante debido a que el lenguaje es clave para cualquier tipo de comunicación, no solo para la humana, también para la establecida entre aplicaciones del mundo computacional. También se describirán en este apartado conceptos importantes sobre expresiones regulares, indicando qué son, cómo se usan, y posibilidades de aplicación. Debido a que una parte del proyecto hace uso de contenido web como fuente de datos, comentaremos de manera superficial qué es HTML, evolución histórica, aplicaciones actuales Relacionado con el apartado anterior se describirán que son los buscadores web, se nombrarán algunos de los más actuales y populares, se describirá los usos que tienen y otras características que posteriormente servirán para entender mejor qué papel juegan estos buscadores en el proyecto. Y por último se hablará de otras aplicaciones de gestión de Bases de Datos existentes en el mercado, para dar a conocer el entorno sobre el cual se mueve el proyecto. Es importante el conocer, aunque sea de manera superflua, todos estos elementos ya que son usados de manera habitual, además de en este proyecto, por la mayoría de empresas y demás usuarios en sus sistemas de información. 16 PFC - Álvaro Segura Cuervo UC3M17 2.2 BASES DE DATOS Y SGBD BASES DE DATOS (BBDD) Una de las principales funciones de los sistemas informáticos es la de almacenar gran cantidad de información de manera perdurable. Pero para ello se necesitan varias cosas, en primer lugar se requiere de un soporte físico adecuado y en siguiente lugar de un orden y control. Debido a estas necesidades surge el concepto de las bases de datos. Se puede definir Base de Datos como Almacén de datos relacionados entre sí con diferentes modos de organización. Una base de datos representa algunos aspectos del mundo real, aquellos que le interesan al diseñador. Se diseña y almacena datos con un propósito específico. Con la palabra "datos" se hace referencia a hechos conocidos que pueden registrarse, como ser números telefónicos, direcciones, nombres... Las bases de datos almacenan datos, permitiendo manipularlos fácilmente y mostrarlos de diversas formas. El proceso de construir una base de datos es llamado diseño de base de datos. Para entender mejor el porqué de la existencia de las Bases de Datos (teniendo en cuenta que dentro de la propia Base de Datos hay un sistema de gestión del que posteriormente se darán más detalles) analizaremos las ventajas y desventajas de las mismas: _VENTAJAS: Control de redundancia de datos: En las Bases de Datos a diferencia que en los sistemas de ficheros, cuando un fichero es duplicado no se almacenan varias copias de los mismos datos, si no que los ficheros se integran pero sin ocupar espacio extra. Las redundancias en ocasiones son necesarias para modelar relaciones entre datos. Consistencia de los datos: Con o sin control de redundancia de datos se reduce el riesgo de inconsistencias debido a que si hay datos duplicados el sistema los actualiza a la vez. Y en caso de no haber redundancias los datos al actualizarse ya se encontrarían disponibles para todos los usuarios. Integridad mejorada de datos: Mediante reglas o restricciones que no se pueden violar, la Base de Datos expresa su integridad, asegurando validez y consistencia en los datos. Mantenimiento de estándares: La integración permite respetar más fácilmente los estándares necesarios. Pudiéndose establecer un estándar sobre el formato de los datos para facilitar su intercambio. Estos estándares pueden ser reglas de acceso o procedimientos de actualización. Compartición de datos: Los datos dentro de la Base de Datos pueden ser compartidos por todos los usuarios autorizados, lográndose así un importante ahorro respecto al espacio físico y un mayor control de la información. Mejora en accesibilidad a los datos: Las Bases de Datos proporcionan lenguajes de consultas o generadores de informes que facilitan en gran medida el acceso de los usuarios a los datos. Mejora en cuanto a seguridad: Esto se debe a que las Bases de Datos establecen un control que permite una adecuada gestión de usuarios, grupos y permisos logrando así menor número de vulnerabilidades. 17 PFC - Álvaro Segura Cuervo UC3M18 Mejora del mantenimiento: Las Bases de Datos separan las descripciones de los datos de las aplicaciones, por tanto un cambio en la estructura de los datos no tiene porqué suponer cambios importantes en las aplicaciones que gestionan dichos datos, lo cual facilita las labores de mantenimiento. Mejora en la productividad: La Base de Datos proporciona muchas de las operaciones a bajo nivel que el programador necesitaría realizar en un sistema de ficheros, por tanto el hecho de disponer de estas funciones hace que el programador pueda centrarse en otras funciones específicas requeridas por los usuarios aumentando así su productividad. Aumento de la concurrencia: Las Bases de Datos gestionan el acceso a los datos de tal manera que permiten que varios usuarios accedan a la misma información sin ocasionar fallos ni interferencias. Mejora en servicios de copia de seguridad: Las Bases de Datos se encargan de los mecanismos para llevar a cabo las copias de seguridad necesarias para minimizar el trabajo perdido en caso de fallo. _DESVENTAJAS: Coste del equipamiento adicional: Toda Base de Datos, incluyendo el sistema de gestión, definiciones de tablas, relaciones, reglas y demás elementos de control, a parte de los datos en sí, tienen una necesidad tanto de espacio como de procesado, que probablemente implique la necesidad de un mayor equipamiento. Todo esto provocará que la implantación de un sistema de Base de Datos suponga un coste alto (aunque suficientemente rentable). Aumento de la complejidad: Las Bases de Datos pueden llegar a ser sistemas muy complejos que es necesario comprender adecuadamente para conseguir una óptima funcionalidad. Vulnerabilidad ante fallos: El hecho de que todo esté centralizado en una Base de Datos implica que el sistema sea más vulnerable ante fallos. Las Bases de Datos pueden clasificarse de diferentes maneras, pero la más adecuada, o al menos la más habitual suele ser según el modelo de administración de datos que emplea. Los diferentes tipos que hay son: Bases de Datos Transaccionales: Son Bases de Datos cuyo único fin es el envío y recepción de datos a grandes velocidades, son muy poco comunes y están dirigidas por lo general al entorno de análisis de calidad. Bases de Datos Jerárquicas: Almacenan su información en una estructura jerárquica. En este modelo los datos se organizan en una forma similar a un árbol (visto al revés), en donde un nodo padre de información puede tener varios hijos. El nodo que no tiene padres es llamado raíz, y a los nodos que no tienen hijos se los conoce como hojas. Las bases de datos jerárquicas son especialmente útiles en el caso de aplicaciones que manejan un gran volumen de información y datos muy compartidos permitiendo crear estructuras estables y de gran rendimiento. 18 PFC - Álvaro Segura Cuervo UC3M19 Bases de Datos de Red: Éste es un modelo ligeramente distinto del jerárquico; su diferencia fundamental es la modificación del concepto de nodo: se permite que un mismo nodo tenga varios padres (posibilidad no permitida en el modelo jerárquico). Fue una gran mejora con respecto al modelo jerárquico, ya que ofrecía una solución eficiente al problema de redundancia de datos Bases de Datos Relacionales: Modelo usado actualmente para los problemas reales y administrar datos dinámicamente. Su idea fundamental es el uso de las relaciones. Estas relaciones podrían considerarse en forma lógica como conjuntos de datos llamados tuplas. Se ve cada relación cómo si fuese una tabla que está compuesta por registros (las filas de una tabla), que representarían las tuplas, y campos (las columnas de una tabla). En este modelo, el lugar y la forma en que se almacenen los datos no tienen relevancia (a diferencia de otros modelos como el jerárquico y el de red). Esto tiene la considerable ventaja de que es más fácil de entender y de utilizar para un usuario esporádico de la base de datos. La información puede ser recuperada o almacenada mediante "consultas" que ofrecen una amplia flexibilidad y poder para administrar la información. Bases de Datos Orientadas a Objetos: Son de reciente aparición, son propias de modelos informáticos orientados a objetos. Su peculiaridad es que tratan de almacenar los objetos completos (estado y comportamiento) en la Base de Datos. Este tipo de Base de Datos incorpora todos los conceptos importantes asociados a este tipo de paradigma: Encapsulación, herencia y polimorfismo. También hay otro tipo de bases de datos: Solo se mencionarán por su poco uso o poca diferenciación respecto a los tipos anteriormente descritos. Bases de Datos Multidimensionales, Bases de Datos Documentales (permiten indexación a texto completo), Bases de Datos Deductivas (permite hacer deducciones mediante inferencias), Gestión de Bases de Datos Distribuidas. Las Bases de Datos tienen diferentes formas de mantenerse, una es de forma manual (mediante la cual el usuario es el encargado del control), pero la más común es mediante una o más aplicaciones que se encargan de las gestiones apropiadas. Estas aplicaciones pueden ser aplicaciones que cualquiera diseñe y se encarguen de las tareas específicas de gestión (como es el caso de la aplicación que desarrolla el proyecto que a lo largo de este documento se describe), o pueden ser un conjunto de aplicaciones conocidas como Sistemas Gestores de Bases de Datos o más comúnmente SGBD. Estos SGBD son los encargados de definir, construir y manipular la Base de Datos, manteniendo en todo momento la integridad y la falta de redundancia en la misma. 19 PFC - Álvaro Segura Cuervo UC3M20 2.2.2 SISTEMAS GESTORES DE BASES DE DATOS (SGBD) Se definen los SGBD (en inglés Data Base Management System) como un tipo de software muy específico, dedicado a servir de interfaz entre la base de datos, el usuario y las aplicaciones que la utilizan. Se compone de un lenguaje de definición de datos, de un lenguaje de manipulación de datos y de un lenguaje de consulta. Hasta ahora hemos estado hablando de las Bases de Datos incluyendo al Sistema Gestor como parte de un mismo todo, pero a pesar de ser dos partes de un sistema que van unidos inequívocamente, son dos elementos claramente diferenciables. Dentro de los distintos SGBD se puede hacer una catalogación importante, aquellos que son de libre distribución, y aquellos que tienen un coste de adquisición y uso. SGBD Libres: MySQL PostgreSQL Firebird SQLite Apache Derby DB2 Express-C SGBD no Libres: Oracle Microsoft SQL Server Microsoft Access Nexus DB IBM Informix IBM DB2 Paradox Pervasive SQL 20 PFC - Álvaro Segura Cuervo UC3M21 2.3 SQL Para que el usuario o una aplicación se comuniquen con la Base de Datos se hace necesario un lenguaje mediante el cual se permitan efectuar (de manera sencilla) inserciones, modificaciones o consultas, de cara a la Base de Datos. Debido a la diversidad de lenguajes y de bases de datos existentes, la manera de comunicarse entre unos y otras sería realmente complicada a gestionar de no ser por la existencia de estándares que nos permiten el realizar las operaciones básicas de una forma universal. Debido a esta necesidad se crea el lenguaje estándar de comunicación con Bases de Datos, también conocido como Structured Query Language o SQL. Hablamos por tanto de un lenguaje normalizado que nos permite trabajar con cualquier tipo de lenguaje (ASP o PHP, JAVA) en combinación con cualquier tipo de base de datos (MS Access, SQL Server, MySQL...). Pero por el hecho de ser estándar no quiere decir que tenga que ser igual para cada Base de Datos. De hecho, cada Base de Datos implementa funciones específicas adaptadas a su estructura y funcionamiento, que no tienen porque funcionar necesariamente en otras. Además de esta universalidad, el lenguaje SQL tiene otras características que lo hacen sumamente interesante y provechoso. Las principales características son la potencia de uso y la versatilidad del lenguaje, que se ven contrastadas por su facilidad de aprendizaje. Estas cualidades permiten una gran variedad de operaciones sobre las Bases de Datos relacionales. La historia de SQL comienza en 1974 con la definición, de Donald Chamberlin y de otras personas que trabajaban en los laboratorios de investigación de IBM, de un lenguaje para la especificación de las características de las bases de datos que adoptaban el modelo relacional. Este lenguaje fue nombrado como SEQUEL (Structured English Query Language) y se implementó en un prototipo llamado SEQUEL-XRM entre 1974 y Las experimentaciones con ese prototipo condujeron, entre 1976 y 1977, a una revisión del lenguaje (SEQUEL/2), que a partir de ese momento cambió de nombre por motivos legales, convirtiéndose en SQL. El prototipo (System R), basado en este lenguaje, se adoptó y utilizó internamente en IBM y lo adoptaron algunos de sus clientes elegidos. Gracias al éxito de este sistema, que no estaba todavía comercializado, también otras compañías empezaron a desarrollar sus productos relacionales basados en SQL. A partir de 1981, IBM comenzó a entregar sus productos relacionales y en 1983 empezó a vender DB2. En el curso de los años ochenta, numerosas compañías (por ejemplo Oracle, Sybase ) comercializaron productos basados en SQL, llegándose a convertir en el estándar industrial, hecho por el cual se respecta a las bases de datos relacionales. En 1986, el ANSI adoptó SQL (sustancialmente adoptó el dialecto SQL de IBM) como estándar para los lenguajes relacionales y en 1987 se transformó en estándar ISO. Esta versión del estándar se nombra como SQL/86. En los años siguientes, éste va sufriendo diversas revisiones que condujeron primero a la versión SQL/89 y, posteriormente SQL/92 (siendo este último el usado actualmente). El hecho de tener un estándar definido por un lenguaje para bases de datos relacionales abre potencialmente el camino a la intercomunicabilidad entre todos los productos que se basan en él. Pero desde el punto de vista práctico las cosas fueron de otro modo, efectivamente, en general cada productor adopta e implementa en la propia base de datos sólo el corazón del lenguaje SQL (el así llamado Entry level 21 PFC - Álvaro Segura Cuervo UC3M22 o al máximo el Intermediate level), extendiéndolo de manera individual según la propia visión que cada cual tenga del mundo de las bases de datos. Actualmente, está en marcha un proceso de revisión del lenguaje por parte de los comités ANSI e ISO, que debería terminar en la definición de lo que en este momento se conoce como SQL3. Las características principales de esta nueva versión de SQL deberían ser su transformación en un lenguaje stand-alone (mientras ahora se usa como lenguaje hospedado en otros lenguajes) y la introducción de nuevos tipos de datos más complejos que permitan, por ejemplo, el tratamiento de datos multimedia. PARTES DEL LENGUAJE: LENGUAJE DE DEFINICIÓN DE DATOS (LDD): Es la parte del lenguaje que se encarga de la modificación de la estructura de los objetos de la base de datos. Las instrucciones pertenecientes a LDD son: create, alter, drop, trúncate. LENGUAJE DE MANIPULACIÓN DE DATOS (LMD): Parte del lenguaje proporcionado por el sistema de gestión de base de datos que permite a los usuarios llevar a cabo las tareas de consulta o manipulación de los datos, organizados por el modelo de datos adecuado. Las instrucciones pertenecientes a LMD son: Insert, update y delete. 22 PFC - Álvaro Segura Cuervo UC3M23 2.4 EXPRESIONES REGULARES En ocasiones es necesario encontrar palabras o cadenas dentro de textos de mayor tamaño, ya sea para reemplazarlas, eliminarlas o solo para consultarlas. La mayoría de aplicaciones o lenguajes contienen funciones para realizar este cometido. Pero a veces lo que queremos buscar es más complejo que una sola palabra o frase simple, por ejemplo una frase que comience con una determinada palabra y después de un número indeterminado de palabras acabe por un número o fecha. Para estas búsquedas más complejas se hacen necesarias otras herramientas. En estos casos es cuando el uso de las expresiones regulares cobra sentido. Una expresión regular (también conocidos como patrón) es una expresión que describe un conjunto de cadenas sin enumerar sus elementos. Las expresiones regulares constituyen un mecanismo bastante potente para realizar manipulaciones de cadenas de texto. Se trata sencillamente de ir cotejando el patrón (pattern) con una cadena (subject) y ver si dentro de ella existe la misma secuencia. Si existe, decimos que hemos encontrado una coincidencia (match, en inglés). ALGUNOS TIPOS DE EXPRESIONES REGULARES Se puede definir las expresiones regulares son cómo un lenguaje para especificar lo que queremos buscar de forma exacta, pero este lenguaje no siempre es el mismo, es decir, hay varios "tipos" de lenguajes. Aquellos que más se suelen utilizar son estos tres: Expresiones regulares POSIX extendido Expresiones regulares de Perl Expresiones regulares en Java Aunque son lenguajes muy parecidos, tienen diferentes formas de definir los patrones. A continuación veremos el uso de dichas expresiones regulares sobre el lenguaje Java. OPERADORES Y MARCADORES Tener en cuenta que una expresión regular sólo puede contener (aparte de letras y números) los siguientes caracteres: < \$, ^,., *, +,?, [, ], \. > Operador \: Se utiliza para "marcar" el siguiente carácter de la expresión de búsqueda de forma que este adquiera un significado especial o deje de tenerlo. Es decir, la barra inversa por sí sola no se utiliza nunca, sino en combinación con otros caracteres. Por ejemplo al utilizar el operador \ en combinación con el punto "\." Este último deja de tener su significado normal y se comporta como un carácter literal. De igual modo, cuando se coloca la barra inversa seguida de cualquiera de los caracteres especiales, estos dejan de tener su significado especial y se convierten en caracteres de búsqueda literal. 23 PFC - Álvaro Segura Cuervo UC3M24 Operador. : El punto es interpretado por el motor de búsqueda como cualquier otro carácter excepto los caracteres que representan un salto de línea, a menos que se le especifique esto al motor de Expresiones Regulares. Por ejemplo, si utilizas el patrón D.a buscándolo en la frase La Dea busca droga cualquier Día, el motor de búsqueda encontrará como resultados: Dea y Día pero no Droga, aunque empiece por D y acabe por a, ya que el operador. solo representa a un único carácter. Lógicos: x y: x o y. xy: x seguido de y Intervalos de caracteres: [abc]: Cualquiera de los caracteres entre corchetes. Pueden especificarse rangos, por ejemplo, [a-d] que equivale a [abcd]). [^abc]: Cualquier carácter que no esté los que están corchetes. Agrupaciones: De forma similar que los corchetes, los paréntesis sirven para agrupar caracteres, pero con una diferencia importante guardan el contenido para su uso posterior. Los grupos establecidos con paréntesis establecen una "etiqueta" o "punto de referencia" para el motor de búsqueda que puede ser utilizada posteriormente. Ejemplo: (norte sur este oeste) representaría un patrón que buscaría puntos cardinales y los almacenaría para poder ser posteriormente recuperados. Intervalos de caracteres predefinidos:.: Cualquier carácter individual, salvo el de salto de línea. \d: Cualquier carácter de dígito, equivalente a [0-9]. \D: Cualquier carácter que no sea de dígito, equivale a [^0-9]. \s: Cualquier carácter individual de espacio en blanco (espacios, tabulaciones, saltos de página o saltos de línea). \S: Cualquier carácter individual que no sea un espacio en blanco. \w: Cualquier carácter alfanumérico, incluido el de subrayado, equivalente a [A-Za-z0-9_]. \W: Cualquier carácter que no sea alfanumérico, equivalente a [^A-Za-z0-9_]. 24 PFC - Álvaro Segura Cuervo UC3M25 Caracteres: \f: Salto de página. \n: Salto de línea. \r: Retorno de carro. \t: Tabulación. Limites: ^: Principio de entrada o línea. $: Fin de entrada o línea. \b: Límite de palabra (como un espacio o un retorno de carro) \B: Fin de palabra. Cuantificadores: {n}: Exactamente n apariciones del carácter anterior. {n,m}: Como mínimo n y como máximo m apariciones del carácter anterior. *: El carácter anterior 0 o más veces. +: El carácter anterior 1 o más veces.?: El carácter anterior una vez como máximo (es decir, indica que el carácter anterior es opcional). 25 PFC - Álvaro Segura Cuervo UC3M26 2.5 HTML QUÉ ES HTML? HTML -HyperText Markup Language (Lenguaje de Marcas de Hipertexto) es el lenguaje de marcado que se utiliza para crear páginas Web. Pero antes de hablar más en detalle de HTML es necesario conocer que es un lenguaje de marcado. Un lenguaje de marcado o lenguaje de marcas es una forma de codificar un documento que, junto con el texto, incorpora etiquetas o marcas que contienen información adicional acerca de la estructura del texto o su presentación. En ocasiones, se confunden los lenguajes de marcado con lenguajes de programación, esto es un error ya que no son lo mismo, los lenguajes de marcado carecen de funciones aritméticas o variables. Volviendo a HTML podemos decir que es un estándar reconocido en todo el mundo y cuyas normas define un organismo sin ánimo de lucro llamado World Wide Web Consortium, más conocido como W3C. Como se trata de un estándar reconocido por todas las empresas relacionadas con el mundo de Internet, una misma página HTML se visualiza de forma muy similar en los diferentes navegadores de cualquier sistema operativo.html se usa para describir la estructura y el contenido de la página a modo de texto, pudiéndose añadir otros elementos como imágenes, videos HISTORIA DE HTML En 1980 un físico (trabajador del CERN Organización Europea para la investigación Nuclear -) llamado Tim Berners-Lee propone un nuevo sistema de hipertexto para compartir documentos mediante el protocolo TCP/IP 3. Estos sistemas de hipertexto ya habían sido desarrollados años antes y permitían a los usuarios el acceso a la información relacionada con documentos electrónicos. Estos sistemas de hipertexto podían compararse a los enlaces de las actuales webs. Posteriormente Tim Berners-Lee se asoció a un ingeniero de sistemas llamado Robert Cailliau y crearon su sistema de hipertexto llamado World Wide Web. (W3).En 1991 desarrollan el primer navegador en modo texto para UNIX. Y poco después se elabora el primer documento formal con la descripción de HTML, publicado con el nombre de HTML Tags. En 1993 se realiza la primera propuesta oficial para convertir HTML en un estándar y se llevo a cabo por parte del organismo IETF (INTERNET ENGINEERING TASK FORCE). Aunque se consiguieron avances significativos (en esta época se definieron las etiquetas para imágenes, tablas y formularios) ninguna de las dos propuestas de estándar, llamadas HTML y HTML+ consiguieron convertirse en estándar oficial. 3 Conjunto de protocolos. Protocolo de control de transmisión y Protocolo de Internet. TCP/IP representa todas las reglas de comunicación para Internet y se basa en la noción de dirección IP, es decir, en la idea de brindar una dirección IP a cada equipo de la red para poder enrutar paquetes de datos. 26 PFC - Álvaro Segura Cuervo UC3M27 En 1995, el organismo IETF organiza un grupo de trabajo de HTML y consigue publicar, el 22 de septiembre de ese mismo año, el estándar HTML 2.0. A pesar de su nombre, HTML 2.0 es el primer estándar oficial de HTML. En 1996 se crea un nuevo organismo llamado W3C (World Wide Web Consortium) y es el encargado de publicar a partir de ese momento los estándares de HTML. La versión HTML 3.0 es la primera en ser publicada por W3C (esta revisión incorpora entre otros los applets de Java). En Abril de 1998 se publica el estándar de HTML 4.0 y supuso un gran salto desde las versiones anteriores. Destaca entre sus novedades las hojas de estilo (CSS), la posibilidad de inclusión de pequeños programitas en las páginas Web (scripts), tablas más complejas, mejoras en los formularios. Desde la publicación de HTML 4.01, la actividad de estandarización de HTML se detuvo y el W3C se centró en el desarrollo del estándar XHTML. Por este motivo, en el año 2004, las empresas Apple, Mozilla y Opera mostraron su preocupación por la falta de interés del W3C en HTML y decidieron organizarse en una nueva asociación llamada WHATWG (WEB HYPERTEXT APPLICATION TECHNOLOGY WORKING GROUP). La actividad actual de la asociación WHATWG se centra en el futuro estándar HTML 5, cuyo primer borrador oficial se publicó el 22 de enero de Debido a la fuerza de las empresas que forman el grupo WHATWG y a la publicación de los borradores de HTML 5.0, en marzo de 2007 el W3C decidió retomar la actividad de estandarización de HTML. De forma paralela a su actividad con HTML, W3C ha continuado con la estandarización de XHTML, una versión avanzada de HTML y basada en XML. SGML HTML XML XHTML Esquema 4 - Esquema Evolución Histórica 27 PFC - Álvaro Segura Cuervo UC3M28 2.5.3 CARACTERÍSTICAS BÁSICAS El principal cometido de los documentos HTML es albergar texto con formato. Para esto el archivo electrónico almacena tanto los contenidos como la información sobre el formato de esos contenidos. El proceso de indicar las diferentes partes que componen la información se denomina marcar (markup en inglés). Cada una de las palabras que se emplean para marcar el inicio y el final de una sección se denominan etiquetas. Aunque existen algunas excepciones, en general las etiquetas se indican por pares y se forman de la siguiente manera: Etiqueta de apertura: carácter <, seguido del nombre de la etiqueta (sin espacios en blanco) y terminado con el carácter > Etiqueta de cierre: carácter <, seguido del carácter /, seguido del nombre de la etiqueta (sin espacios en blanco) y terminado con el carácter > Las páginas HTML se dividen en dos partes: la cabecera y el cuerpo. La cabecera incluye información sobre la propia página, como por ejemplo su título y su idioma. El cuerpo de la página incluye todos sus contenidos, como párrafos de texto e imágenes. El cuerpo (llamado body en inglés) contiene todo lo que el usuario ve en su pantalla y la cabecera (head en inglés) contiene todo lo que no se ve (con la única excepción del título de la página, que los navegadores muestran como título de sus ventanas). <html> Ejemplo de estructura básica: <head> </head> <body> <title>título del documento HTML</title> <p> </p> </body> </html> Estos es un párrafo <strong>en negrita</strong> Continuación del párrafo 28 PFC - Álvaro Segura Cuervo UC3M29 2.6 BUSCADORES WEB QUÉ SON? Una de las propiedades que hacen de Internet una herramienta tan poderosa, como todos sabemos, es la globalidad del sistema, lo que permite que desde cualquier parte del mundo se puedan consultar o crear páginas Web y descargar o subir archivos. Esto ocasiona una grandiosa fuente de información y conocimientos, pero a su vez es uno de los principales problemas, ya que el volumen de información que se maneja es tan grande que se hace difícil seleccionar la información que es realmente útil, o encontrar exactamente aquello que se pretende. Para cubrir esta importante necesidad se crean los buscadores Web. También son conocidos como motores de búsqueda, básicamente es un sistema informático que indexa archivos almacenados en servidores Web cuando se les pide información sobre algún tema. Las búsquedas se hacen con palabras clave o con árboles jerárquicos por temas; el resultado de la búsqueda es un listado de direcciones Web en los que se mencionan temas relacionados con las palabras clave buscadas HISTORIA En 1993 aparece el primer buscador, llamado Wandex (ya desaparecido), empleando un robot desarrollado por Mattew Gray en el MIT, fue realizado por la World Wide Web Wanderer. Poco después apareció otro buscador con el nombre de Aliweb, el cual aún está en funcionamiento. Un año después, en 1994, aparece el primer motor de búsqueda de texto completo WebCrawler, que a diferencia de sus predecesores permitía una búsqueda por palabras en cualquier Web, lo que llegó a ser estándar para la gran mayoría de buscadores. WebCrawler fue la primera en darse a conocer de manera amplia al público. En 1994 aparece también Lycos. Desde esa época empiezan a surgir en un breve periodo de tiempo el resto de buscadores, que inicialmente competían contra los buscadores de Índices temáticos(en el siguiente apartado se verán los diferentes tipos y se entenderá el por qué de la competición) pero más tarde estos índices temáticos acoplan tecnología de motor de búsqueda para ampliar su funcionalidad. Previos a los buscadores Web había otros motores de búsqueda para otros protocolos como por ejemplo para los sitios FTP 4 anónimos. 4 File Transfer Protocol: protocolo de red para la transferencia de archivos entre sistemas conectados a una red TCP (Transmission Control Protocol) 29 PFC - Álvaro Segura Cuervo UC3M30 2.6.3 TIPOS Hay diferentes tipos de buscador según su manera de registrar las direcciones Web. Índices temáticos: Este tipo de buscadores organizan por categorías las páginas incluidas en su Base de Datos, es decir, tienen un directorio navegable de temas. Para cada uno de estos directorios de temas se pueden encontrar diferentes páginas cuyo contenido está relacionado con el tema. Para este tipo de buscadores se hace necesaria la participación de personal de administración, los cuales se encargarán de asignar manualmente la temática de cada página Web y visitar las ya clasificadas para comprobar que dicha clasificación sigue siendo la adecuada. Ejemplos de este tipo de buscador son Yahoo, Terra y TodoEnlaces. Para registrar una página en un índice han de mandarse a los administradores del buscador la dirección de dicha página así como otra serie de datos o información que ayude a su clasificación (descripción, titulo, temática, lenguaje ) Motores de búsqueda: Este tipo de buscadores utilizan diversos procedimientos, el primero de ellos es el de búsqueda automática, estos procedimientos de recolección son conocidos como arañas o Crawlers. Estos robots están recorriendo constantemente y de manera automática Internet en busca de páginas nuevas que añadir a su Base de Datos. A pesar de que no es necesario mandar al buscador ningún tipo de información para que identifique las Web, si que suele ser una práctica habitual, para que las páginas aparezcan en él incluso antes que el robot las analice. El segundo tipo de procedimientos son los que gestionan la Base de Datos y en tercer lugar están los procedimientos que utiliza el usuario para explotar dicha Base de Datos. Estos motores de búsqueda no tienen por qué tener índices para catalogar las Webs aunque es cada vez más común encontrarlos. Los robots recorren las páginas almacenando los datos extraídos, posteriormente recorren las páginas enlazadas a la primera, por lo que para recorrer un sitio completo solo deberá encontrar la página inicial. Estas arañas vuelven a recorrer las páginas cada determinado tiempo a fin de mantener su estado actualizado. Representantes significativos de este tipo de buscadores son: Google, Bing, AltaVista. Debido a que este tipo de buscadores son muy complejos y requieren de amplios recursos para su funcionamiento, se hace imprescindible un método de financiación que los sustente, para ello además del clásico método de publicidad se valen de la venta de posicionamiento. El posicionamiento hace referencia al orden de aparición de los resultados en el buscador, ya que aquellas Webs que ocupen los primeros puestos serán más fácilmente visibles y por tanto más visitadas, con todo los beneficios que ello conlleva. Por ello la gran mayoría de estos buscadores venden parte de las posiciones más visibles a fin de obtener financiación. 30 PFC - Álvaro Segura Cuervo UC3M31 Multibuscadores: Este tipo de buscadores son aquellos que no tienen una Base de Datos propia y se basan en otros motores de búsqueda para recopilar su propia información, es decir, buscan las páginas en otros buscadores y luego combinan los resultados para mostrarlos según sus criterios. Un ejemplo de este tipo de buscadores es Metacrawler. Pero esta clasificación de buscadores no es la única que puede hacerse, también pueden distinguirse por su funcionalidad (Buscadores verticales), ámbito (nacional, internacional, regional, provincial ) o por el tema (buscadores de imágenes, de música, de archivos). Ilustración 1 - Motor de Búsqueda Bing 31 PFC - Álvaro Segura Cuervo UC3M32 2.7 APLICACIONES DE GESTIÓN DE BASES DE DATOS En el mercado son innumerables las aplicaciones para gestionar las Bases de Datos. Debido a la enorme utilidad de las mismas, hoy en día, un gran número de empresas disponen de ellas para el almacenamiento de sus datos comerciales. Pero una Base de Datos por sí sola no resultaría de mucha utilidad si no llevara acompañada una adecuada aplicación de Gestión. Dichas aplicaciones suelen diseñarse a medida de cada Base de Datos y ajustándose a las necesidades del cliente o empresa. Pero también hay numerosas herramientas de Gestión estándar con las que poder explotar las Bases de Datos adecuadamente. Podemos diferenciar entre aplicaciones de escritorio o aplicaciones Web. A continuación mostraremos algunos ejemplos de estos sistemas de Gestión estándar. APLICACIONES DE ESCRITORIO: o Data Becker Bases de Datos: Esta aplicación permite realizar un seguimiento de la información y analizar grupos de datos a través de informes que elabora a petición del usuario. Esta herramienta está enfocada tanto a usuarios particulares como a usuarios profesionales. Tiene dos grupos de soluciones: _Soluciones básicas: biblioteca de música, películas, libros, recetas, contabilidad doméstica. _Soluciones profesionales: Gestión de contactos, contraseñas, personal, libro de ruta y lista de precios. Características: Diseño visual de formularios, búsquedas avanzadas (SQL) e informes configurables Captura de datos desde MS Access, MS Excel, CSV y dbase. Gestión sencilla de bases de datos relacionales Integración multimedia. Fácil utilización. Resultados inmediatos. Ilustración 2 - Data Becker Base de Datos Aplicaciones de Gestión de BD 32 PFC - Álvaro Segura Cuervo UC3M33 o Aqua Data Studio: Aplicación diseñada para facilitar la creación y edición de bases de datos con soporte para múltiples RDBMS (Sistema de gestión de BD relacional), así como para la navegación entre las estructuras de las bases de datos, gracias a un entorno gráfico sencillo y completamente integrado. Presenta un carácter multiplataforma que lo hace compatible tanto con Mac, Windows, Solaris como con Linux. Dispone de un analizador de peticiones, con el que los usuarios podrán fácilmente generar y probar scripts, gracias al coloreado de sintaxis y el auto-completado de comandos RDBMS. Incluye informes con estadísticas muy detalladas y capacidades de navegación gráfica que permiten mejorar la comprensión de la estructura y sus dependencias,. Permite almacenar los resultados de una petición concreta tanto en HTML como en XML. Ilustración 3 Aqua Data Studio - Aplicaciones de Gestión de BD o MySQLAdministrator: Software de administración de servidores de Bases de Datos de MySQL que ha creado MySQL AB. Se trata de un software multiplataforma, que por el momento se encuentra disponible para Linux y Microsoft Windows y que cuenta con un entorno gráfico de usuario muy intuitivo.suple las carencias que tiene MySQL Control Center en el área de Administración de servidores. MySQL Control Center ha quedado obsoleto y no sigue desarrollándose. Se ha sustituido por el conjunto de programas MySQL Administrator y MySQL Query Browser. MySQL Administrador es una herramienta que permite realizar tareas administrativas sobre servidores de MySQL incluyendo: _La configuración de las opciones de inicio de los servidores. 33 PFC - Álvaro Segura Cuervo UC3M34 _Inicio y detención de servidores. _Monitorización de conexiones al servidor. _Administración de usuarios. _Monitorización del estado del servidor, incluyendo estadísticas de uso visualización de los logs de servidor. _Gestión de copias de seguridad y recuperaciones. _Visualización de catálogos de datos. Ilustración 4 MySQL Administrator - Aplicaciones de Gestión de BD 34 PFC - Álvaro Segura Cuervo UC3M35 APLICACIONES WEB: o phpmyadmin: Es una herramienta elaborada para el manejo de la administración de MySQL, pensada para ser una interfaz Web, fue desarrollada con código php. Permite crear y eliminar Bases de Datos, crear, eliminar y alterar tablas, borrar, editar y añadir campos, ejecutar cualquier sentencia SQL, administrar claves en campos, administrar privilegios, exportar datos en varios formatos y está disponible en 50 idiomas. Se encuentra disponible bajo la licencia GPL. Este proyecto se encuentra vigente desde el año 1998 siendo uno de los mejor valorados por diferentes asociaciones especializadas. Como esta herramienta corre en máquinas con Servidores Webs y Soporte de PHP y MySQL, la tecnología utilizada ha ido variando durante su desarrollo. Otras herramientas similares se han creado para dar la misma utilidad pero en diferentes Bases de Datos, por ejemplo phpmsadmin para Microsoft SQL Server, o phppgadmin parapostgresql. Ilustración 5 phpmyadmin - Aplicaciones de Gestión de BD. 35 PFC - Álvaro Segura Cuervo UC3M36 GUÍA DEL CAPÍTULO 3 CAPITULO 3 HERRAMIENTAS EMPLEADAS 3.1 Introducción. 3.2 Java 3.3 Eclipse 3.4 WAMPServer vs XAMPP 36 PFC - Álvaro Segura Cuervo UC3M37 CAPÍTULO 3: HERRAMIENTAS EMPLEADAS 3.1 INTRODUCCIÓN En este capítulo se comentarán más en profundidad las herramientas empleadas para el desarrollo. En el panorama informático es de vital importancia la buena elección de los medios o herramientas para la elaboración de los proyectos, ya que ello puede suponer el cumplir con los objetivos marcados, o por el contrario fracasar en la conclusión del proyecto. La correcta elección de herramientas puede suponer grandes beneficios para el proyecto, como pueden ser acortar los plazos de finalización (con todo lo que ello puede suponer), permitir una mayor calidad en el código (una mejor estructuración, una mayor reutilización, portabilidad ), ofrecer una mayor potencia de cálculo, o una mayor variedad de funcionalidades. Pero en ocasiones hay determinadas herramientas que se convierten en requisito de indispensable cumplimiento, es decir, que a pesar de poderse utilizar otras herramientas que podrían ser más beneficiosas o que simplificarán la solución, se deben emplear las indicadas por factores externos. A lo largo de este apartado se comentarán qué herramientas se han utilizado en el proyecto, el porqué de su elección, factores positivos, factores negativos, características y usos de dichas herramientas. En primer lugar se hablará del lenguaje de programación empleado, Java. Se comentará brevemente qué es y las características que tiene, y el porqué se usa este lenguaje para la implementación de la aplicación y no otro. En siguiente lugar se describirá el entornó de programación elegido, cuáles fueron las causas de su elección, sus principales características, modos de empleo, así como otras peculiaridades. Como a lo largo del proyecto interviene de forma directa la base de datos (ya creada con anterioridad como se especificó a lo largo del apartado 1) con el nombre de Politiktracker se hacen necesarias aplicaciones o herramientas para su configuración y gestión (realización de cualquier modificación, introducción manual de datos, así como para el control de los mismos, control de resultados, comprobación y corrección de errores ). Se hablará de las herramientas existentes más relevantes características que presentan y el porqué de su elección. 37 PFC - Álvaro Segura Cuervo UC3M38 3.2 JAVA QÚE ES JAVA? Es un lenguaje de programación orientado a objetos que según la compañía que lo creó (Sun Microsystem) se define por ser simple, distribuido, interpretado, robusto, seguro, de arquitectura neutra, portable, de altas prestaciones, multitarea y dinámico. Java surgió en 1991 como lenguaje de programación destinado a electrodomésticos. Un grupo de ingenieros de Sun Microsystem trataron de diseñar un nuevo lenguaje de programación sencillo que fuera capaz de generar código muy reducido, debido a las limitaciones en cuanto a potencia de cálculo y tamaño de memoria de los electrodomésticos. Debido a la cantidad de tipos diferentes de CPU existentes en el mercado se hacía necesario realizar una herramienta que fuera independiente del tipo de CPU utilizada. Para ello se desarrolló un código neutro que valía para ser ejecutado en diferentes modelos de electrodoméstico. Esto se logró creando lo que se denomina Máquina Virtual de Java o JVM. El JVM interpretaba el código neutro y lo convertía a código particular útil para cada CPU. Java se introdujo como lenguaje de programación de computadores a finales de 1995 gracias a la incorporación de un intérprete de Java en la versión 2.0 del programa Netscape Navigator VENTAJAS FRENTE A OTROS LENGUAJES La principal ventaja de Java respecto a otros lenguajes es que el desarrollador no parte de cero al elaborar una aplicación. Ya que existe un gran número de clases preexistentes que se pueden reutilizar en el desarrollo. Estas clases pueden haber sido realizadas por el propio usuario o pueden ser comerciales, pero hay un gran número de ellas que forman parte del propio lenguaje (el API o Application Programming Interface de Java). Java incorpora en el propio lenguaje muchos aspectos que en otros lenguajes son extensiones propiedades de empresas de software o fabricantes de ordenadores. De esta ventaja se derivan otras como pueden ser referentes a temas de modularidad, expresividad (facilidad de comprensión del código) A parte de esta ventaja, Java presenta muchas otras como pueden ser su correcta definición sin presencia de ambigüedades, o el proporcionar tipos de datos primitivos similares (notablemente, careciendo de punteros) y mediante su librería de clases estándar proporciona todas las estructuras contenedoras "clásicas", modo portable de acceso a cualquier Base de Datos Por estas ventajas y por la amplia cantidad de herramientas disponibles para solucionar problemas que presenta, se ha estimado oportuno que el uso de Java sea requisito de imprescindible cumplimiento en el proyecto. 38 PFC - Álvaro Segura Cuervo UC3M39 3.2.3 PASOS PARA INSTALACIÓN Y CONFIGURACIÓN JAVA En este apartado se comentan brevemente los pasos para instalar y configurar adecuadamente los parámetros para hacer funcionar Java correctamente. Para compilar y ejecutar Java se utiliza habitualmente Java Development Kit (kit de desarrollo de Java) o jdk, desarrollado por Sun Corporation. El jdk tiene dos familias principales: Java 2 Standard Edition o J2SE, orientado a uso personal, y Java 2 Enterprise Edition o J2EE, la edición empresarial. A su vez, cada familia tiene diferentes versiones, identificadas por una secuencia de números x.y.z. J2SE se distribuye individualmente o junto con un entorno de edición de código en Java, como por ejemplo podría ser NetBeans o Eclipse (de este último hablaremos más detalladamente a continuación). Una vez instalado el jdk, solo quedaría indicar adecuadamente las variables path y classpath para que Java encuentre la estructura de directorios con los archivos necesarios a la hora de compilar o ejecutar un proyecto. Después de haber hecho esto al escribir el comando java en el directorio raíz de la consola de comandos debería aparecer un mensaje similar a este: Ilustración 6 Variables de configuración de Java Teniendo Java bien instalado y configurado ahora hay que elegir un entorno de programación que facilite tanto la elaboración del código, como la depuración de errores. Para ello en el siguiente apartado se hablarán de los factores influyentes en la decisión y se comentarán las características del entorno elegido. 39 PFC - Álvaro Segura Cuervo UC3M40 3.3 ECLIPSE En este apartado se hablará a cerca de los entornos de desarrollo existentes en el mercado, se comentarán brevemente sus características y se entrará en detalle para el entorno con el que finalmente se decidió realizar la aplicación DIFERENTES ENTORNOS DE DESARROLLO En el mercado existen una gran cantidad de herramientas para el desarrollo, pero no todas ellas tienen las características adecuadas que se requieren en este proyecto. Los principales ejemplos de dichas herramientas o entornos de desarrollo son Eclipse, NetBeans, IntelliJ IDEA y Oracle JDeveloper. La primera propiedad a evaluar es la naturaleza de la herramienta, si es de libre distribución o si por el contrario es necesario comprar licencia para su uso. Teniendo en cuenta que este proyecto no tiene ningún tipo de financiación se pueden descartar de inicio las herramientas comerciales de uso bajo compra de licencia. Por tanto después de descartar las herramientas IntelliJ IDEA y Oracle JDeveloper, nos centraremos en las características de NetBeans y Eclipse que son las principales herramientas gratuitas y de código abierto. Entre NetBeans y Eclipse existen un gran número de diferencias, que se ven modificadas según la versión del programa que se analice, pero a pesar de esto, ambos programas son muy parecidos y presentan funcionalidades similares, se podría decir que según el número de versiones crece ambas aplicaciones van convergiendo. Una de las diferencias más relevantes entre las dos herramientas reside en la velocidad de cada programa, NetBeans, por lo general es ligeramente más lento y consume más recursos, pero es más potente, en cambio Eclipse es más liviano, aunque luego requiera de la descarga de plugins para realizar determinadas operaciones. Otra diferencia remarcable es la siguiente: Eclipse tiene un muy buen soporte de refactorización del cual NetBeans carece (solo hay un pequeño módulo gratuito con pocas refactorizaciones) así como ayuda a la codificación. NetBeans tiene un mejor soporte de webapps (.war, jsp y servlets) que Eclipse. Debido a que las diferencias entre los 2 no son sustanciales y que los 2 entornos de programación son lo suficientemente potentes y sencillos de usar, la elección entre uno u otro es simplemente cuestión de gusto. Para este proyecto la elección de la herramienta de desarrollo ha sido Eclipse. 40 PFC - Álvaro Segura Cuervo UC3M41 3.3.2 CARACTERÍSTICAS ECLIPSE Eclipse, desarrollado originalmente por IBM (como el sucesor de su familia de herramientas para VisualAge), es ahora desarrollado por la Fundación Eclipse, una organización independiente sin ánimo de lucro que fomenta una comunidad de código abierto y un conjunto de productos complementarios, capacidades y servicios. La base para Eclipse es la Plataforma de cliente enriquecido y está compuesta por los siguientes componentes: Plataforma principal - inicio de Eclipse, ejecución de plugins. OSGi - una plataforma para bundling estándar. El Standard Widget Toolkit (SWT) - Un widget toolkit portable. JFace - manejo de archivos, manejo de texto, editores de texto. El Workbench de Eclipse - vistas, editores, perspectivas, asistentes. El entorno de desarrollo integrado (IDE) de Eclipse emplea módulos (en inglés plug-in) para proporcionar toda su funcionalidad al frente de la plataforma de cliente enriquecido, a diferencia de otros entornos monolíticos donde las funcionalidades están todas incluidas, las necesite el usuario o no. Mediante las vistas el usuario puede concretar que módulos ver y cuáles no, esto supone una importante herramienta para la personalización del entorno y consigue una mayor facilidad de uso. Eclipse dispone de un editor de texto con resaltado de sintaxis. La compilación es en tiempo real. Tiene pruebas unitarias con JUnit, control de versiones con CVS, integración con Ant, asistentes (wizards) para creación de proyectos, clases, tests, etc., y refactorización. Asimismo, a través de "plugins" libremente disponibles es posible añadir funcionalidades tales como el control de versiones con Subversion, la integración con Hibernate o el diseño visual con el Visual Editor. Es necesario crear un nuevo proyecto no sólo para desarrollar un nuevo programa de Java, sino para editar también archivos ya existentes. Ya que el proyecto consiste en el diseño y elaboración de una aplicación de escritorio se hace totalmente imprescindible la instalación del plug in Visual Editor desde el gestor de actualizaciones de Eclipse. Con este plug in se instalaran los complementos necesarios para poder ver la interfaz según se va diseñando, añadir objetos como contenedores, botones, cajas de texto, etiquetas, tablas 41 PFC - Álvaro Segura Cuervo UC3M42 En las siguientes figuras podremos apreciar las diferentes partes de las que consta la herramienta, observándose claramente la división en módulos, los cuales pueden cambiarse de tamaño, lugar, composición del contenido Ilustración 7 - Interfaz Eclipse 42 PFC - Álvaro Segura Cuervo UC3M43 En la parte izquierda, para la vista correspondiente a la imagen anterior, aparece el gestor de paquetes, que indica las librerías, los archivos y arboles de directorios contenidos en el proyecto. Ilustración 8 Eclipse gestor de paquetes y clases 43 PFC - Álvaro Segura Cuervo UC3M44 La parte central está destinada al entorno visual donde se puede ver la disposición de los elementos en la interfaz dentro de su contenedor (gracias al plug in Visual Editor ), en la parte superior, y al editor de texto con el código en lenguaje Java en la parte inferior. Ilustración 9 Eclipse Editor visual y Editor de Texto 44 PFC - Álvaro Segura Cuervo UC3M45 A la derecha se encuentran el gestor de elementos de la interfaz, que indica qué elementos hay en la interfaz y de qué tipo son, el gestor de propiedades de los elementos (donde además de ver las propiedades, se podrán modificar sus valores, quedando reflejado el cambio de manera instantánea en el modulo central del entorno visual), y la paleta con los posibles elementos a insertar en la interfaz (botones, etiquetas, tablas, menús, contenedores ). Ilustración 10 Eclipse Propiedades de los elementos 45 PFC - Álvaro Segura Cuervo UC3M46 Ilustración 11 Eclipse, gestor de elementos java. Ilustración 12 Eclipse, Visual Class, paleta de elementos. 46 PFC - Álvaro Segura Cuervo UC3M47 En tiempo de compilación la parte inferior es usada para mostrar la consola donde se muestran los resultados por salida estándar, de este modo se pueden ir viendo los mensajes mostrados por la aplicación. Sirve como método de comprobación, para asegurar que la aplicación realiza la funcionalidad especificada de manera correcta. Ilustración 13 Eclipse, consola. También en la parte inferior se muestran los mensajes de advertencia o error, para poder llevar a cabo su posterior depuración. Indica errores en la compilación o advertencias sobre elementos de riesgo. Ilustración 14 Eclipse. Ventana de problemas o errores. Estos son los principales elementos o bloques de la herramienta, aunque faltan algunos otros por mostrar como ventanas de configuración, o de descarga de complementos que también se usan a lo largo del desarrollo, no es necesario ya que una ilustración no aporta mucha información relevante. 47 PFC - Álvaro Segura Cuervo UC3M48 3.4 WAMP SERVER VS XAMPP La aplicación a desarrollar en el proyecto necesita de una serie de herramientas para comunicarse con la Base de Datos (BD). También será necesario crear una BD en modo local para hacer pruebas o seguir desarrollando en caso de no tener conectividad con el servidor de la BD del sistema global - Politiktracker. Para el caso de querer conectar Java con la BD se hace necesaria la instalación del driver correspondiente. Para este proyecto se usara el driver de MySQL ya que este es el sistema gestor empleado con la BD. Posteriormente habría que hacer accesible el driver para Java, indicando su localización en disco en el Classpath. También sería necesario instalar y configurar MySQL, PHPmyAdmin y el servidor Apache para poder crear el servidor Web que atienda las peticiones a la BD. Pero para facilitar la complicada tarea de instalar y configurar correctamente todas estas herramientas, existen una serie de paquetes ya elaborados y preparados para instalar y configurar de manera automática todas las herramientas necesarias. Los dos paquetes de más conocidos son XAMPP y WAMPServer. Las diferencias entre estos dos paquetes se centran más en la manera de trabajar con cada uno que en componentes o configuraciones, porque ambos incluyen PHP, Apache y MySQL. La primera diferencia que se puede apreciar es que WAMP solo funciona en Windows, en cambio XAMPP es multiplataforma. Las diferencias y semejanzas más sustanciales son: Para acceder a tu proyecto particular WAMP incluye un explorador de archivos, que permite moverse entre directorios partiendo de C:\wamp\www, para abrir un proyecto en XAMPP hay que escribir la url en navegador: porque XAMPP no incluye este servicio. Wamp no incluye el apartado de Chequeo de seguridad, el cual sí incluye XAMPP. La manera de acceder a las configuraciones específicas de PHP o MySQL, sin usar phpmyadmin es bastante árida, pero con WAMP puedes acceder a una variedad importante de estos archivos a través del un menú al que se accede haciendo clic en el icono del área de notificación (para Windows). Estos archivos incluyen la configuración de PHP, MySQL XAMPP incluye herramientas extra para realizar una variada cantidad de servicios incluidos en el paquete básico, éstas son: o Webalizer: Genera logs de análisis sobre acceso y uso de una determinada página. o Conmutador PHP: Modifica automáticamente la versión de PHP que estamos usando en nuestro proyecto. o Mercury Mail: Herramienta que permite configurar un servidor de correo. Al iniciar XAMPP, aparece la ventana XAMPP Control Panel, en la que están reflejadas las aplicaciones que están corriendo en ese momento. Pero lo importante que es el interfaz para crear bases de datos y usuarios, así como sus permisos son idénticos en ambos ya que ambos incluyen PHPmyAdmin. Por lo que la elección entre cualquiera de los dos es indiferente. En este caso se ha elegido usar el paquete WAMP para el desarrollo del proyecto. 48 PFC - Álvaro Segura Cuervo UC3M49 GUÍA DEL CAPÍTULO 4 CAPITULO 4 DESARROLLO DE LA APLICACIÓN 4.1 Introducción. 4.2 Documento de requisitos 4.3 Fase de Análisis 4.4 Fase de Diseño 49 PFC - Álvaro Segura Cuervo UC3M50 CAPÍTULO 4: DESARROLLO DE LA APLICACIÓN 4.1 INTRODUCCIÓN A lo largo de este capítulo se van a describir las diferentes fases del proyecto, desde la fase de análisis, pasando por la fase de diseño y acabando con la fase de pruebas finales y aceptación de finalización del proyecto. Previo a la fase de análisis se hablará del ciclo de vida elegido para el proyecto que nos definirá las etapas y evolución de la elaboración del mismo. Ya en la fase de análisis se describen los requisitos de la aplicación, que son todas las funcionalidades que la aplicación debe satisfacer a la hora de realizarse. Estos requisitos son la guía de lo que la aplicación tiene que hacer. También en la fase de análisis se estudian los tipos de datos a emplear para determinar sus fuentes y maneras de agruparlos y gestionarlos, en definitiva, cuáles son las opciones más interesantes de manejo de los datos de cara al proyecto. Además de los datos también se estudiarán los procesos que la aplicación tiene que llevar a cabo, como organizarlos en grupos según sus funciones. En la fase de análisis también se estudiará como deben relacionarse los datos y los procesos para posteriormente lograr adaptarlos a un modelo físico. Para ello también se tratarán las modificaciones sobre el modelo de datos de la Base de Datos inicial debido a que no todos los nuevos datos tienen cabida con el modelo actual. En la fase de Diseño se elaborará el diagrama de arquitectura del sistema, se describirán las diferentes especificaciones del entorno tecnológico, tanto las especificaciones de hardware como las de software, y para los entornos de construcción e implantación. Se mostrará el diseño del prototipo de la interfaz, así como su posterior evolución. Por último se tratarán las pruebas que han de realizarse a la aplicación para comprobar que su funcionalidad realiza aquello para lo que fue diseñada. Se hablarán del tipo de pruebas, que es lo que se quiere comprobar con ellas, es decir, su finalidad, así como se llevarán a cabo. 50 PFC - Álvaro Segura Cuervo UC3M51 4.2 CICLO DE VIDA DEL PROYECTO El ciclo de vida indicará las fases por las que pasará el proyecto a lo largo de su elaboración. Este proyecto tiene 3 fases claramente diferenciadas como ya se indico en el apartado 1.2 de descripción general del proyecto. La primera de las fases es una fase inicial de análisis donde se conocerán los detalles del sistema o aplicación a realizar, la segunda es la fase de diseño, en la que se estudia el problema desde una perspectiva técnica y orientada a la tecnología, en esta fase se muestra el diseño de lo que posteriormente se producirá, la tercera fase es la de de producción en la que se implementará la solución diseñada y se comprobará que su funcionamiento es adecuado. Debido al tipo de proyecto, a sus fases, y a la forma de proceder en la elaboración, se ha optado por emplear un ciclo de vida iterativo incremental. En este tipo de ciclo de vida las fases sucederán las unas a las otras de manera consecutiva, pero permitiendo la vuelta a fases previas para añadir nueva información adquirida en fases posteriores o simplemente comprobar que los objetivos de fases previas son correctos y adecuados. La flexibilidad de este tipo de ciclo de vida hace posible que el proyecto avance sin impedir la posibilidad de realizar cambios o corregir errores en alguna de las fases, cosa de vital importancia, ya que en la mayoría de proyectos según se avanza en el mismo se descubren particularidades y funcionalidades nuevas, o aspectos poco relevantes que pueden eliminarse. Esquema 5 Ciclo de vida 51 PFC - Álvaro Segura Cuervo UC3M52 4.3 FASE DE ANÁLISIS El objetivo de esta fase de análisis es obtener una especificación detallada del sistema que se va a construir. Dicho análisis servirá como base para el posterior Diseño del Sistema. El propósito es captar las necesidades que debe resolver y modelar el problema utilizando distintas técnicas, en función de las características del proyecto, para afrontar el Diseño del Sistema en la siguiente fase. El alcance de esta fase consiste en realizar la especificación de los requisitos, identificar los diferentes subsistemas mediante la elaboración de diagramas de casos de uso, diagramas de interacción, analizar los diferentes procesos, actores y la interacción que tienen estos entre sí, estudiar los flujos de datos, estudiar el modelo de datos previo y modificarlo para obtener el que se usará para este proyecto. Para realizar determinadas fases del análisis se seguirá la notación UML (Unified Modeling Language) como pueden ser la elaboración de diagramas, casos de uso, modelado estático REQUISITOS DEL SISTEMA En este apartado se detallarán las necesidades específicas del sistema o aplicación. Estas necesidades o requisitos son catalogados en función de su naturaleza, por lo que podemos distinguir entre: Requisitos Funcionales Requisitos de Rendimiento Requisitos de Interfaz Requisitos de Verificación Requisitos de Pruebas de Aceptación Requisitos de Seguridad REQUISITOS FUNCIONALES Se debe realizar una aplicación para la gestión de políticos, partidos y temas. Los datos de los mismos estarán almacenados en la BBDD perteneciente al sistema ya creado por el grupo. Esta herramienta de gestión servirá de complemento a los métodos automatizados usados por el sistema para obtener datos. La gestión de dichos datos consistirá principalmente en posibilitar a un usuario administrador modificar de manera manual determinados datos pertenecientes a cada uno de los apartados mencionados anteriormente y como a continuación se detallan: a) POLÍTICOS: Al seleccionar el apartado de políticos se debe facilitar mecanismos de búsqueda para localizar sobre la base de datos al político deseado y mostrar su ficha por pantalla, así como una opción que posibilite el ingresar un nuevo político (no registrado aún). La búsqueda debe poder realizarse por los siguientes campos: nombre, apellidos y cargo. Posibilitando otro campo extra para búsquedas sobre nombres alternativos. Los 52 PFC - Álvaro Segura Cuervo UC3M53 resultados de la búsqueda (pueden ser varios) deben mostrarse de manera conjunta y permitir una única selección para cargar en la visualización de la ficha. Ficha El apartado de visualización de ficha deberá permitir a parte de la propia visualización, la modificación de los campos o el borrado total de la ficha de dicho político. El apartado de añadir nuevo político deberá permitir dar de alta en la base de datos a un político siempre y cuando no exista ya uno con el mismo nombre y apellidos. Se deberán especificar los siguientes campos: o Nombre (obligatorio): Alfanumérico de máximo 20 caracteres. o Apellidos (obligatorio): Alfanumérico de máximo 50 caracteres. o Partido político de afiliación: Debe existir previamente en la Base de Datos. o Cargo General: Alfanumérico de máximo 100 caracteres. o Cargo del Partido: Alfanumérico de máximo 45 caracteres. o Biografía: Alfanumérico de máximo 255 caracteres. o Webs Asociadas (Puede tener varias): Alfanumérico de máximo 165 caracteres. Todas las webs deberán comenzar por para ser consideradas Webs válidas. o Imágenes: Alfanumérico de máximo 255 caracteres para la url. Este dato solo es para aquellos que ya estén registrados en el sistema. Se deberán buscar métodos semiautomáticos que faciliten la tarea al usuario. Un político puede tener numerosas imágenes asociadas a él. La aplicación debe permitir el añadir y visualizar dichas imágenes. También debe dar la opción al usuario de seleccionar una de las fotos registradas como inicial para el perfil del político (puede darse que no haya ninguna foto principal). Asociación: Se permitirá asociar diferentes nombres de un político de forma manual. Estas asociaciones de nombres o pseudónimos servirán para facilitar las búsquedas y para corregir errores respectivos a la duplicidad de políticos (evita la redundancia de datos en la BD). Por ejemplo, el usuario pretende buscar a JL Rodríguez Zapatero, José Luis Rodríguez Zapatero, ZP, Zapatero, etc., pero todos son el mismo José Luis Rodríguez Zapatero. Para ello deberá establecerse un político como representante y otro (que deberá elegirse mediante un mecanismo de búsqueda similar al anteriormente descrito) como político asociado. Por tanto el político desde el que se lleva a cabo la asociación será tomado como representante y el buscado mediante el mecanismo de búsqueda será el asociado. Este apartado facilitará la anulación de políticos duplicados y aportará nueva información a los políticos ya existentes. 53 PFC - Álvaro Segura Cuervo UC3M54 b) PARTIDOS: Al igual que con los políticos al entrar en este apartado se debe facilitar un método de búsqueda y la opción de introducir un nuevo partido. La búsqueda de partido podrá realizarse por el nombre de partido, por sus siglas, o bien por su ámbito. Debido a que una búsqueda puede proporcionar múltiples resultados, se deben presentar en pantalla todos los obtenidos, dando la posibilidad de seleccionar uno de ellos. En caso de no querer buscar ningún partido en concreto debido a que aún no existe, se deberá facilitar el acceso a una sección donde poder añadir de modo manual un partido a la base de datos. Se posibilitará la manera de añadir un nuevo partido político (comprobando que no exista previamente un mismo nombre) desde 0. Ficha de partido: Se mostrarán los datos del partido seleccionado en la búsqueda. Estos datos serán: o Nombre (obligatorio): Alfanumérico de máximo 60 caracteres. o Siglas: Alfanumérico de máximo 15 caracteres. o Color: Entero 10 cifras. (Este dato será información útil para otras aplicaciones relaciona la BD.) o Ámbito: Alfanumérico de máximo 30 caracteres. o Información: Alfanumérico de máximo 255 caracteres. o Datos básicos: Alfanumérico de máximo 255 caracteres o Webs del partido: Alfanumérico de máximo 165 caracteres. Comenzará por para ser considerada una dirección Web válida. o Logotipos: Alfanumérico de máximo 255 caracteres para la url. El logotipo del partido deberá ser obtenido mediante método semiautomático de búsqueda en sitios externos. Un partido puede tener numerosos logotipos asociados a él. La aplicación debe permitir el añadir y visualizar dichos logotipos. También debe dar la opción al usuario de seleccionar una de los logotipos registrados como inicial para el perfil del partido (puede darse que no haya ninguna foto principal). En la visualización no se permitirá ninguna opción de modificación, pero ha de permitirse alguna manera para modificar o borrar completamente los datos para el partido mostrado en la ficha. El borrado de la ficha hará que deje de formar parte del sistema por consiguiente conviene asegurarse que no es un borrado o modificación accidental. 54 PFC - Álvaro Segura Cuervo UC3M55 c) TEMAS: Al igual que con los políticos y con los en este apartado de temas se debe facilitar un buscador para ver las fichas de los temas existentes y la opción de introducir un nuevo tema. La búsqueda del tema podrá realizarse por el nombre de tema ya que este es el único dato del tema. Debido a que una búsqueda puede proporcionar múltiples resultados, se deben presentar en pantalla todos los obtenidos, dando la posibilidad de seleccionar uno de ellos. En caso de no querer buscar ningún tema en concreto debido a que aún no existe, se deberá facilitar el acceso a una sección donde poder añadir de modo manual un tema a la base de datos. Se debe facilitar la posibilidad de añadir un tema nuevo (comprobando que no exista previamente uno con el mismo nombre). En este caso solo la imagen asociada al tema podrá obtenerse con un método semiautomático de ayuda. Ficha del tema: Se mostrarán los datos del tema seleccionado en la búsqueda. Estos datos serán: o Nombre (obligatorio): Será descriptivo respecto al tema que representa (Por ejemplo vivienda). Dato alfanumérico de 255 caracteres como máximo. o Imágenes asociadas: Dato alfanumérico de 255 caracteres como máximo. Este dato debe ser proporcionado mediante un método semiautomático de búsqueda de imágenes. Un tema puede tener numerosas imágenes asociadas a él. La aplicación debe permitir el añadir y visualizar dichas imágenes. También debe dar la opción al usuario de seleccionar una de las fotos registradas como inicial para el perfil del tema (puede darse que no haya ninguna foto principal). El borrado de la ficha hará que deje de formar parte del sistema por consiguiente conviene asegurarse que no es un borrado o modificación accidental REQUISITOS DE RENDIMIENTO Ha de lograrse un rendimiento óptimo que proporcione sensación de fluidez y velocidad, para ello deberán de controlarse los tiempos de respuesta. El sistema enviará y recibirá peticiones tanto a la propia Base de Datos como a sitios externos para la búsqueda semiautomática, por ello es importante minimizar estos tiempos de comunicación. Se tomará como tiempo de respuesta máximo permitido 5 segundos para cualquiera de las transacciones de datos peticionadas. Toda consulta o petición que se demore más de este tiempo conseguirá dañar la fluidez y sensación de agilidad del sistema, por ello se deberán realizar las tareas oportunas para que esto no suceda. Las caídas de conexión con la Base de Datos o sitios externos pueden darse en momentos puntuales, lo que impedirá la funcionalidad de la aplicación (en caso de de la BD la impedirá la funcionalidad totalmente y en caso de los sitios externos solo la impedirá de manera parcial), pero en cualquier caso el sistema no debe mostrar fallos críticos y quedarse colgado, debiendo mostrar un mensaje informativo de la causa del problema. 55 PFC - Álvaro Segura Cuervo UC3M56 REQUISITOS DE INTERFAZ La interfaz debe ser sencilla, clara e intuitiva pero sin perder formalidad. No deben utilizarse colores muy llamativos ni estridentes. El tipo de caracteres empleados debe ser legible en todo momento. Debe mostrarse información util al usuario en un lugar claramente visible. La disposición de los elementos debe facilitar la velocidad de las acciones realizadas por el usuario. Las diferentes ventanas y apartados deben tener un estilo uniforme. El usuario debe saberse en todo momento en que parte de la interfaz se encuentra, que acciones puede realizar y cuáles no. Los elementos de la interfaz deben ser claramente diferenciables e interpretables, pudiéndose ver claramente qué elementos son modificables y cuáles no, los qué están activados y los que no. Se debe poder visualizar la interfaz de políticos, partidos y temas de manera independiente, pero no se debe permitir más de una ventana para cada sección (lo que permitiría gestionar varios políticos, partidos o temas de manera simultánea, pudiendo crear incoherencias en los datos) Las ventanas de la interfaz tendrán un tamaño adecuado a su contenido, pero no deberán superar la resolución de pantalla 1024x REQUISITOS DE VERIFICACIÓN Se usarán equipos de desarrollo con acceso a Internet para realizar las pruebas de verificación. Se probará la funcionalidad de la aplicación siguiendo los casos de uso y comprobando que los resultados dentro de la aplicación son los esperados REQUISITOS DE ACEPTACIÓN Se llevarán a cabo una batería de pruebas de aceptación para comprobar el correcto funcionamiento del sistema y el cumplimiento de los requisitos REQUISITOS DE SEGURIDAD La aplicación debe tener un sistema de seguridad que impida la entrada a usuarios no autorizados. El sistema debe contemplar la posibilidad de una posible no conexión con la Base de Datos o con los sitios externos enlazados REQUISITOS DE HERRAMIENTAS O SOFTWARE Como ya se indico en el apartado es requisito imprescindible el uso del lenguaje Java a la hora de desarrollar el sistema por sus posibilidades de uso, potencia y adecuación. 56 PFC - Álvaro Segura Cuervo UC3M57 4.3.2 ESPECIFICACIÓN DE PROCESOS En este apartado se describen los procesos de manera más detallada para comprender de manera concisa las funcionalidades a realizar por el sistema. De esta especificación se desprenden los posteriores casos de uso y actividades finales que el sistema ha de implementar para cumplir los requisitos iniciales ESPECIFICACIÓN DE PROCESOS DE SISTEMA 1. CONEXIÓN: Para cualquiera de los procesos siguientes el usuario necesitará estar en estado conectado con el sistema, para ello tendrá que superar una validación de nombre de usuario y contraseña. Al proporcionar el usuario un identificador de usuario valido y la contraseña adecuada en los apartados adecuados del interfaz, el sistema pasará a dar reconocimiento al usuario permitiendo el uso de las demás funcionalidades del propio sistema. 2. AYUDA: El usuario podrá una vez introducido correctamente en el sistema, hacer uso de la ayuda, presionando en el elemento de interfaz adecuado, podrá ver una breve descripción de las principales actividades a realizar y las indicaciones de la correcta manera para llevarlas a cabo ESPECIFICACIÓN DE PROCESOS DE POLÍTICOS 1. DAR DE ALTA UN POLÍTICO: Para iniciar el proceso de alta de un político el usuario deberá presionar sobre el elemento indicado en el menú inicial de la aplicación. Esto hará que la aplicación le lleve al interfaz adecuado para llevar a cabo la labor deseada. Una vez allí, el usuario deberá rellenar los siguientes datos sobre el nuevo político a agregar a la BD: - Nombre (Obligatorio), Apellidos (Obligatorio), Partido (Obligatorio), Cargo General (Optativo), Cargo del Partido (Optativo), Biografía (Opcional), Fotos (Opcional) mediante búsqueda asistida, Webs personales (Opcional). Para la inclusión de la fotografía el sistema tendrá un sistema de ayuda que buscará en diferentes fuentes previamente fijadas resultados para el nombre y apellidos de la persona buscada. Este proceso se especificara con más en detalle en un apartado posterior. Lo único que interesa saber en este momento es que el proceso de búsqueda asistida se iniciará presionando un elemento y conducirá a una interfaz nueva donde realizar la funcionalidad requerida. Una vez introducidos los datos deseados, el usuario deberá presionar un elemento cuya función es registrar y mediante el cual él sistema comprobará su validez, certificando que no existe una persona ya registrada en el sistema con ese mismo Nombre y Apellidos. En caso de existir ya otro político con la misma denominación se notificará al usuario mediante un mensaje que no puede 57 PFC - Álvaro Segura Cuervo UC3M58 finalizar el proceso de alta (no se guardaran los datos en la BD) hasta que los datos no sean modificados y no coincidan con ningún político ya registrado. Se indicarán los campos a modificar para facilitar al usuario su localización en el interfaz. Una vez hecha esta comprobación y verificada la no existencia de otra persona con la misma denominación, se procederá a almacenar la información en las correspondientes tablas de la BD. En todo momento deberá existir en el interfaz un enlace que permita volver al menú inicial anulando así el proceso de alta, borrando todos los datos incluidos en los campos hasta el momento. Antes de volver al menú deberá preguntarle al usuario si está seguro de abandonar el proceso de alta, por si hubiera presionado el botón de manera involuntaria. 2. DAR DE BAJA UN POLÍTICO: Para iniciar el proceso que lleva a cabo la eliminación de una persona del sistema el usuario ha de estar debidamente conectado y entrar en la parte de gestión de políticos. Seguidamente se deberán de introducir datos de búsqueda tales como nombre, apellidos y cargo político mediante los cuales, el usuario podrá hacer búsquedas más directas, mostrándose todos aquellos políticos registrados en el sistema con los mismos datos que los buscados. En caso de no concretar ningún campo de búsqueda, la interfaz mostrará todas las personas (políticos) registradas en la BD, para que el usuario pueda seleccionar uno de ellos. Una vez seleccionado la persona se verá su ficha, desde donde podrá, presionando en el elemento adecuado, borrar todos sus datos de manera indefinida. El sistema mostrará un mensaje de advertencia previa al borrado para asegurar la adecuación de la operación 3. MODIFICAR DATOS DE UN POLÍTICO: Una vez elegida la interfaz de gestión de políticos lo primero que el usuario tendrá que hacer es escoger uno de los políticos ya almacenados en la BD, para ello puede seleccionarlo de la lista que aparecerá con todos los registrados. Para reducir esta lista puede hacer una búsqueda por nombre, apellidos, o cargo que sustenta el político, y aparecerán en la lista solo aquellos con los que los datos introducidos coincidan (pueden haber varios). Una vez seleccionado un político los datos que tiene registrados aparecerán en los cuadros destinados a tal efecto, pudiendo modificar los ya escritos o simplemente rellenando algún dato que no se encuentre completado. Podrán ser modificados todos los datos del político. Cargo General, Biografía, Foto búsqueda asistida, Web personal, Blogs asociados búsqueda asistida. Una vez modificados los campos deseados el usuario indicará, presionando el enlace registrar, que se guarden los cambios hechos en la BD. Si después de una modificación se decide volver al estado previo de los datos de la ficha, el sistema posibilita un elemento para anular las modificaciones 58 PFC - Álvaro Segura Cuervo UC3M59 4. CONSULTA DE DATOS DE UN POLÍTICO: Para consultar los datos asociados a un político, el usuario tendrá que entrar en el apartado de gestión de políticos y posteriormente seleccionar uno de ellos de la lista que contiene los registrados en la BD. Esta búsqueda al igual que en anteriores apartados puede realizarse de manera más concreta llenando los campos con datos conocidos del político a buscar como por ejemplo su nombre, apellidos, cargo que ostenta, (pueden ponerse todos los datos de estos que se conozcan, alguno o ninguno). Debido a que el nombre y apellidos identifican de forma unívoca a un político, con estos 2 datos bastaría para encontrar a la persona pretendida. Una vez seleccionado el político de la lista, sus datos aparecerán en los campos determinados a tal efecto, para poder ser visualizados. 5. ASOCIACIÓN DE DIFERENTES POLÍTICOS: Esta funcionalidad del sistema permitirá a un usuario asociar dos entidades políticas diferentes para indicar una relación entre ellas de similitud. Es decir, cuando asociamos a dos políticos estamos diciendo que realmente esos dos políticos son solo 1, pero que las denominaciones registradas son diferentes, por ejemplo, José Luis Rodríguez Zapatero = ZP = JLR Zapatero = J Zapatero = Rodríguez Zapatero Para llevar a cabo esto el usuario deberá en primer lugar seleccionar un político base (ejemplo: José Luis Rodríguez Zapatero) mediante el mecanismo de búsqueda ya suficientemente comentado en los apartados de este punto y acceder a su ficha de datos, una vez allí deberá acceder al apartado de asociaciones mediante el elemento correspondiente. Seguidamente se realizará otra búsqueda dentro del conjunto de políticos (pudiendo ser la lista acotada por los valores de la búsqueda) esta vez para encontrar el político asociado del cual se cargarán sus datos más relevantes. Una vez hecho esto, para finalizar y registrar la asociación se pulsará en el elemento asociación para finalizar el proceso, lo cual eliminará los datos del político seleccionado como asociado, y se añadirá como pseudónimo del político base el nombre y apellidos del político asociado ESPECIFICACIÓN DE PROCESOS DE PARTIDOS 1. ALTA DE UN PARTIDO: Para dar de alta un nuevo partido en el sistema, el usuario deberá acceder al apartado de Nuevo Partido de gestión de partidos. Una vez allí, deberá introducir los datos mínimos requeridos o campos obligatorios, en este caso valdrá con el nombre del partido a registrar. Los demás datos característicos del partido a dar de alta serán: El logotipo, las siglas, el color, el ámbito, la información, los datos básicos, la/s Web/s del partido. Para la búsqueda de logotipos se usará la búsqueda semiautomática, que buscará en diferentes sitios externos diferentes imágenes con los que poder rellenar el perfil del partido. 59 PFC - Álvaro Segura Cuervo UC3M60 En el momento de registrar la información en la BD la herramienta de gestión controlará que no se deja ningún campo obligatorio por rellenar, y seguidamente que no existe una coincidencia de ese partido a crear con otro de los ya existentes en la BD. En cualquiera de los casos se mostrara un mensaje de error en caso de producirse tales circunstancias. Y en caso de no darse fallo alguno, se mostrara un mensaje de conformidad de registro (una última pregunta sobre si está seguro de registrar el partido) y en caso de aceptarse, se almacenará el partido en la BD y se mostrara un mensaje indicándolo. 2. BAJA DE UN PARTIDO: Para dar de baja un partido se deberá acudir a la ficha del partido contenido dentro de la sección Gestión de Partidos. El usuario deberá elegir uno de los partidos que le proveerá el mecanismo de búsqueda. Dicha búsqueda podrá realizarse bajo tres parámetros identificadores, el nombre del partido, sus siglas o su ámbito. Una vez hecho esto se seleccionará sobre la lista el partido deseado, y se procederá a ver la ficha presionando el elemento adecuado, esto hará que se carguen en las casillas de visualización los datos del partido. En caso de no ser el partido el deseado, podrán cargarse posteriormente otros de la lista sin ninguna consecuencia. Una vez elegido el partido adecuado a borrar del sistema (y cargados sus datos en los del formulario de datos del partido a borrar) se pulsará sobre el elemento de borrado para eliminarlo totalmente del sistema. Antes de borrarlo totalmente mostrará un mensaje de conformidad (para saber si realmente se está seguro de que se quiere eliminar el partido seleccionado o se pulsó por error), en caso afirmativo, se procederá a la eliminación total del sistema de dicho partido, y después de mostrar un mensaje de Partido Borrado. En caso de presionarse Borrar sin ningún partido seleccionado (o cargado) se mostrará un mensaje indicando que antes se ha de cargar un partido para ser borrado. 3. MODIFICACIÓN DE UN PARTIDO: Para modificar cualquier (o todos) los datos de un partido ya registrado, el usuario tendrá que acceder a la ficha del partido a modificar dentro de gestión de partidos. El primer paso es hacer una selección de partido de entre aquellos registrados en el sistema (con búsqueda previa o no) y cargarlo en el formulario mediante el elemento adecuado. Una vez hecho esto, los datos de dicho partido se cargarán en sus respectivos campos del formulario, y podrán ser modificables, pudiendo editar cualquier campo. Una vez cambiados los campos deseados se pulsará sobre registrar (para guardar los cambios realizados en el registro de la BD). Antes de guardar los cambios, el sistema preguntará si realmente se desean guardar las modificaciones hechas. Seguidamente si se aceptan las modificaciones, se mostrará un mensaje de partido registrado. 60 PFC - Álvaro Segura Cuervo UC3M61 4. CONSULTA DE LOS DATOS DE UN PARTIDO: Para consultar los datos pertenecientes a un partido registrado en la BD, el usuario deberá acceder a la sección de gestión de partidos. Una vez allí, podrá seleccionar cualquier partido de los que aparezcan como resultado de la búsqueda. Una vez seleccionado uno de los partidos, mediante el elemento correspondiente de la interfaz, se cargarán sus datos en las casillas correspondientes del formulario. De esta manera podrán visualizarse los datos del partido para cualquier consulta ESPECIFICACIÓN DE PROCESOS DE TEMAS. 1. ALTA DE UN TEMA: Para dar de alta un tema nuevo sobre los que se referirán los post el usuario deberá acceder al apartado de altas de la gestión de temas. Desde ahí deberá acceder al apartado de dar de alta un nuevo tema. Una vez hecho esto, el usuario deberá introducir el nombre del tema en el cuadro indicado (de manera obligatoria) pudiendo de manera opcional incluir una foto que haga referencia al nombre del tema. Esta imagen será añadida con ayuda del sistema de búsqueda semiautomático. Una vez introducidos los datos obligatorios (en este caso solo el nombre), el usuario podrá registrar el tema. En caso de no introducir el nombre, se mostraría un mensaje de error. Una vez comprobado que hay un nombre introducido, el sistema procederá a comprobar si dicho nombre se encuentra ya registrado en la BD. En caso haber un tema con el mismo nombre ya registrado, se mostrara un mensaje indicando la duplicidad, y en caso de no haberlo, se procederá a añadir en la BD el tema. Al finalizar, se mostrara un mensaje de tema dado de alta correctamente y se vaciaran 2. BAJA DE UN TEMA: Para dar de baja un tema el usuario deberá acceder al menú de gestión de temas. Una vez allí, deberá seleccionar un tema de los ya registrados en el sistema, mediante el método de búsqueda. Una vez seleccionado el tema de la lista deberá acceder a la ficha del tema donde se cargarán el nombre del tema y su imagen principal en caso de tenerla. Una vez hecho esto, los datos del tema seleccionado (nombre e imagen) aparecerán en las casillas correspondientes para poder ser visualizados y comprobar que es el tema adecuado. Después de asegurarse que ese es el tema que se desea eliminar, se empleará el elemento de la interfaz para darlo de baja de forma indefinida. El sistema mostrará un mensaje para asegurarse de la correcta elección del elemento a borrar. 61 PFC - Álvaro Segura Cuervo UC3M62 3. MODIFICACIÓN DE UN TEMA: Para modificar un tema de los ya registrados en la BD el usuario tendrá que seleccionar, de la lista inicial (tras emplear el mecanismo de búsqueda), un tema en concreto para cargarlo en su ficha. De este modo se cargará el nombre del tema seleccionado y la foto asociada como principal del perfil, pudiendo modificar el nombre del tema en caso de no ser el adecuado o pretendido. Una vez haya realizado las modificaciones, el usuario deberá emplear el elemento cuya finalidad es registrar los datos, para guardar los cambios. Antes de registrarlos el sistema preguntara si realmente se desean guardar los cambios. Y en caso de responder que si, se procederán a almacenar en la BD. 4. CONSULTA DE DATOS DE UN TEMA: Con las consultas el usuario podrá visualizar los datos relacionados con temas almacenados en la BD. Para ello el usuario deberá acceder al apartado de gestión de temas dentro del sistema, una vez ahí deberá seleccionar uno de los temas ya registrados en la BD, mediante el mecanismo de búsqueda integrado en la aplicación. Una vez seleccionado un tema concreto de la lista de resultados el usuario empleará el elemento oportuno de la interfaz para cargar la ficha del tema. Una vez cargada la ficha el usuario podrá ver tanto el nombre del tema como la imagen principal asociada al perfil en caso de tenerla ESPECIFICACIÓN DE PROCESO DE BÚSQUEDAS DE IMÁGENES Este proceso de la aplicación estará repetido en los diferentes apartados de gestión, ya que en cada uno de ellos se hace necesaria la búsqueda de imágenes. El usuario accederá a cada uno de los subsistemas de gestión y una vez ahí a las fichas de cada elemento registrado (ya sea un político, un partido o un tema). Desde la ficha el usuario podrá acceder al apartado de búsqueda de imágenes. Este procedimiento consiste en que el sistema buscará en lugares, (sitios Web) externos al propio sistema imágenes relacionadas con el elemento registrado. Una vez hecha la búsqueda se mostrarán los resultados al usuario, para que pueda elegir cuales de las imágenes almacenar en la Base de Datos (utilizando para ello el elemento de la interfaz adecuado). Desde las fichas de los diferentes subsistemas también se debe permitir la visualización de las imágenes asociadas a un perfil o elemento. Existiendo la posibilidad, mediante un elemento de la interfaz, de marcarse cualquiera de las imágenes ya registradas en el sistema como principal para el perfil. 62 PFC - Álvaro Segura Cuervo UC3M63 4.3.3 ESPECIFICACIÓN DE CASOS DE USO Gracias a la especificación de procesos previamente detallados y a los requisitos se realizan los diferentes casos de uso. Agrupando en diferentes usos las actividades detalladas según el subsistema al que pertenezcan GESTIÓN DE POLÍTICOS Este caso de uso refleja las diferentes actividades o acciones que puede realizar el usuario para el subsistema de gestión de políticos. La aplicación tendrá la funcionalidad de incluir políticos nuevos totalmente desde cero. El usuario también tendrá un método que le permita buscar políticos de manera concreta y rápida. Además el usuario podrá visualizar la ficha de los datos de un político previamente registrado en la Base de Datos y en caso de estimarlo oportuno podrá modificar todos los datos que crea conveniente. La aplicación también podrá realizar el borrado completo e indefinido de los datos de un político almacenado en la Base de Datos. Para los políticos ya registrados el sistema tendrá la posibilidad de buscar imágenes relacionadas, así como de almacenarlas. Y para las imágenes ya almacenadas, debe permitir su visualización a modo de consulta, su borrado de la Base de Datos y la selección de una de las imágenes como principal del perfil del político. Además de estas funcionalidades, el sistema permitirá que dos políticos registrados que están representando a la misma entidad física, es decir, al mismo político, se asocien para tener los datos concentrados en una sola ficha de político. En la siguiente figura se representan todos los casos de uso relacionados con la gestión de los políticos. Como actor solo participa el usuario de la aplicación, como ocurrirá con todos los casos de uso del proyecto. 63 PFC - Álvaro Segura Cuervo UC3M64 Buscar Político Registrar Nuevo Consultar Ficha Editar Ficha Borrar Ficha Asociar Políticos Usuario Buscar Imágenes Ver Imágenes Guardar Imágenes Borrar Imágenes Hacer Imagen Principal Esquema 6 Caso de uso Gestión de Políticos 64 PFC - Álvaro Segura Cuervo UC3M65 GESTIÓN DE PARTIDOS Este caso de uso indica las actividades que el usuario puede realizar para el subsistema de gestión de partidos. El sistema debe facilitar la funcionalidad que permita buscar partidos ya registrados dentro de la Base de Datos o crear uno nuevo desde 0. Para los partidos que se encuentren ya registrados se podrán consultar o editar sus datos. La aplicación también permitirá el borrado del partido seleccionado de la Base de Datos. Además se facilitará la búsqueda de logotipos asociados al partido, permitiendo guardar los logotipos encontrados, visualizarlos posteriormente, borrar los ya registrados, o seleccionar alguno de ellos como imagen principal del partido. Buscar Partido Registrar Nuevo Consultar Ficha Editar Ficha Borrar Ficha Buscar Imágenes Usuario Ver Imágenes Guardar Imágenes Borrar Imágenes Hacer Imagen Principal Esquema 7 Caso de uso Gestión de Partidos 65 PFC - Álvaro Segura Cuervo UC3M66 GESTIÓN DE TEMAS Este caso de uso indica las actividades que el usuario puede realizar para el subsistema de gestión de temas. El sistema debe facilitar la funcionalidad que permita buscar temas ya registrados dentro de la Base de Datos o crear uno nuevo completamente, al igual que para la gestión de políticos o partidos. Para los temas ya registrados se podrán consultar o editar sus datos. La aplicación también permitirá el borrado del tema seleccionado de la Base de Datos de manera indefinida. Además la aplicación permitirá la búsqueda de imágenes asociadas al tema seleccionado, pudiendo almacenar las imágenes encontradas, visualizar o borrar las ya registradas, o seleccionar alguna de ellas como imagen principal del tema. Buscar Tema Registrar Nuevo Consultar Ficha Editar Ficha Borrar Ficha Buscar Imágenes Usuario Ver Imágenes Guardar Imágenes Borrar Imágenes Hacer Imagen Principal Esquema 8 Caso de uso Gestión de Temas 66 PFC - Álvaro Segura Cuervo UC3M67 GESTIÓN GLOBAL Este caso de uso muestra la actividad realizada por el usuario al acceder a la aplicación. El sistema deberá controlar el acceso de inicio, y una vez el usuario este inicializado en el sistema, podrá recurrir a buscar ayuda en el sistema para conocer cuál es la correcta forma de proceder. Iniciar Sesion Usuario Ayuda Esquema 9 Caso de uso Gestión Global ANÁLISIS DE LOS CASOS DE USO A través de analizar los casos de uso anteriores podemos identificar las clases que participarán en el sistema. Una vez identificadas las clases participantes se realizará el diagrama de interacción entre ellas (diagrama de clases) que facilitará en gran medida la comprensión de funcionamiento del sistema IDENTIFICACIÓN DE CLASES ASOCIADAS El sistema se diferencia claramente en varios apartados según su uso. Este sistema, como se puede comprobar en los casos de uso, debe presentar varias clases primordiales para el control de las funcionalidades requeridas, estas son: POLÍTICOS: Clase encargada de la gestión de los políticos a tratar. PARTIDOS: Clase encargada del control y gestión de los partidos del sistema. TEMAS: Clase encargada del control y gestión de los temas relevantes. USUARIO: Clase encargada de validar la entrada del usuario en el sistema. SISTEMA DE GESTIÓN: Clase central que gestiona el resto de clases y por consiguiente, el sistema. 67 PFC - Álvaro Segura Cuervo UC3M68 4.3.5 MODELO ESTÁTICO DE DATOS: DIAGRAMA DE CLASES Para realizar las funcionalidades del sistema se requieren un conjunto de clases, mediante las cuales el sistema tratará los datos almacenados en la Base de Datos. Este diagrama es de alto nivel, lo que significa que las operaciones señaladas aparecen sin atributos (lo que no quiere decir que no los tengan) debido a que estos serán especificados más adelante. En el siguiente modelo se muestran las clases del sistema, mostrándose sus asociaciones, así como el grado de instancias relacionadas que presentan entre sí (lo que se conoce como cardinalidad). IMAGEN_PARTIDO -URL_Imagen : string -Dim X : int -Dim Y : int +Guardar imagen() +Ver Imagen() +Hacer Principal() +Borrar Imagen() IMAGEN_PERSONA -URL_Imagen : string -Dim X : int -Dim Y : int +Guardar imagen() +Ver Imagen() +Hacer Principal() +Borrar Imagen() IMAGEN_TEMA -URL_Imagen : string -Dim X : int -Dim Y : int +Guardar imagen() +Ver Imagen() +Hacer Principal() +Borrar Imagen() 0..* 0..* 0..* 1 PARTIDO -Nombre : string 1 -Siglas : string -Color : string -Ambito : string -Informacion : string -Datos Basicos : string -Webs : string -URL_LogoPrincipal +RegistrarDatos() +MostrarDatos() +BorrarDatos() +BuscarImagenes() -Partido 1..* -partido PERSONA -persona 1..* -Nombre : string -Apellidos : string -Biografia : string -Webs : string -URL_Foto represent -Pseudonimo : string -Cargo General : string -Cargo Partido : string +RegistrarPersona() +BorrarPersona() +MostrarPersona() +AsociarPersona() +BuscarImagenes() 1 0..* -Tema TEMAS -Nombre : string -URL_Imagen Principal +MostrarTema() +BorrarTema() +RegistrarTema() +BuscarImagenes() 1 0..* -Persona 1 -Sistema SISTEMA GESTION 1 1 -Sistema +Iniciar Sesion() +MostrarAyuda() +BuscarPersona() +BuscarPartido() +BuscarTema() -Sistema 1 -Persona 1 -Usuario USUARIO -Nombre -Contraseña +ValidarContraseña() Esquema 10 Diagrama de Clases. 68 PFC - Álvaro Segura Cuervo UC3M69 Como puede observarse el diagrama de clases del sistema no es nada complejo, pero a pesar de ello sí que contendrá numerosos datos y operaciones posibles que manejar. A continuación se analizarán las clases mediante la identificación y especificación de responsabilidades y atributos, lo que sirve para detallar más en profundidad el sistema ANÁLISIS DE CLASES Definición de cada una de las clases junto con sus atributos, funcionalidad y responsabilidades, pertenecientes al sistema. Responsabilidades Atributos Métodos PERSONA Clase sobre la que se gestiona a los políticos almacenados en el sistema. Nombre: Nombre del político. Junto a los apellidos serán los atributos que identifiquen de manera única a la persona. Apellidos: Primer y segundo apellido del político, también podría tener un apellido único. Biografía: Descripción breve sobre los datos biográficos de la persona. Webs: Direcciones de páginas de internet relativas a la persona. URL_Foto representante: URL de la Imagen principal del perfil. Pseudónimos: Nombres alternativos de la persona o político. Cargo General: Cargo ocupado a nivel nacional por la persona. Cargo de Partido: Cargo ocupado por la persona dentro del propio partido al que pertenece. Registrar Persona: Registra la ficha de la persona en el sistema. Borrar Persona: Elimina la persona junto con sus datos del sistema. Mostrar Persona: Muestra los datos de la persona a través de la interfaz del sistema. Asociar Persona: Asocia dos personas que en el fondo representan a la misma para evitar duplicidad de datos en el sistema. Buscar Imágenes: Busca en la Web un conjunto de imágenes relacionadas con la persona. Tabla 2 Análisis Clase Persona 69 PFC - Álvaro Segura Cuervo UC3M70 Responsabilidades Atributos Métodos PARTIDO Clase sobre la que se gestiona a los partidos almacenados en el sistema. Nombre: Nombre del partido. Describe de manera única a un partido dentro del sistema. Siglas: Iniciales o acrónimo del nombre del partido. Ámbito: Marco regional en el que opera el partido político. Color: Color representante del partido. Información: Breve introducción o anotaciones interesantes a cerca del partido. Datos Básicos: Datos descriptivos del partido. Webs: Direcciones a páginas de Internet relacionadas con el partido. URL Logotipo Principal: URL de la Imagen o anagrama representante del partido. Registrar Partido: Almacena en el sistema los datos del partido. Borrar Partido: Elimina del sistema los datos referentes al partido indicado. Mostrar Partido: Muestra en la interfaz del sistema los datos relativos al partido. Buscar Imágenes: Busca en localizaciones externas al sistema logotipos relacionados al partido. Tabla 3 Análisis Clase Partido Responsabilidades Atributos Métodos USUARIO Clase que contendrá los datos referentes al usuario que empleará el sistema. Nombre: Nombre del usuario a manejar el sistema.( admin por defecto) Contraseña: Palabra clave a escribir en el comienzo de la aplicación para validar que solo el usuario administrador (único conocedor de la clave) podrá acceder al sistema. (por defecto memetracker ) Validar Contraseña: Compara que el usuario y la clave se corresponden según lo almacenado para permitir o no la entrada al sistema. Tabla 4 Análisis Clase Usuario 70 PFC - Álvaro Segura Cuervo UC3M71 Responsabilidades Atributos Métodos TEMA Clase sobre la que se gestionan los temas almacenados en el sistema. Nombre: Nombre descriptivo del tema. Será el atributo que identifique de manera unívoca un tema determinado dentro del sistema. Imagen: Imagen relacionada con el tema indicado. Registrar Tema: Almacena en el sistema los datos referentes al tema en cuestión. Borrar Tema: Elimina del sistema los datos del tema indicado. Mostrar Tema: Muestra mediante la interfaz del sistema los datos referentes al tema indicado. Buscar Imágenes: Busca imágenes relacionadas al tema indicado mediante sistemas externos. Tabla 5 Análisis Clase Tema Responsabilidades Atributos Métodos SISTEMA DE GESTIÓN Clase central del sistema, llevará un control de los diferentes procesos y envíos de datos entre las clases del propio sistema. También maneja las interfaces mediante las que el usuario se comunicará con el sistema. Iniciar Sesión: Entra en el sistema según las interfaces adecuadas. Mostrar Ayuda: Muestra una breve ayuda o descripción de las principales funcionalidades de la aplicación. Buscar Persona: Busca personas dentro del sistema. Buscar Partido: Busca partidos dentro del sistema. Buscar Tema: Busca temas dentro del sistema. Tabla 6 - Análisis Clase Sistema de Gestión 71 PFC - Álvaro Segura Cuervo UC3M72 Responsabilidades Atributos Métodos IMAGEN_POLÍTICO Clase sobre la que se gestionan las imágenes asociadas a los políticos URL Imagen: Contiene la URL asociada a la imagen. Dim_X: Contiene la dimensión en número de pixeles de la resolución horizontal. Dim_Y: Contiene la dimensión en número de pixeles de la resolución vertical. Guardar Imagen: Almacena la imagen seleccionada. Ver Imagen: Muestra la imagen correspondiente a la URL almacenada. Hacer Principal: Indica que la foto es la principal para el perfil del político. Borrar Imagen: Elimina del sistema la imagen. Tabla 7 Análisis Clase Imagen Político Responsabilidades Atributos Métodos IMAGEN_PARTIDO Clase sobre la que se gestionan las imágenes asociadas a los partidos URL Imagen: Contiene la URL asociada a la imagen. Dim_X: Contiene la dimensión en número de pixeles de la resolución horizontal. Dim_Y: Contiene la dimensión en número de pixeles de la resolución vertical. Guardar Imagen: Almacena la imagen seleccionada. Ver Imagen: Muestra la imagen correspondiente a la URL almacenada. Hacer Principal: Indica que la foto es la principal para el perfil del partido. Borrar Imagen: Elimina del sistema la imagen. Tabla 8 Análisis Clase Imagen Partido Responsabilidades Atributos Métodos IMAGEN_TEMA Clase sobre la que se gestionan las imágenes asociadas a los temas URL Imagen: Contiene la URL asociada a la imagen. Dim_X: Contiene la dimensión en número de pixeles de la resolución horizontal. Dim_Y: Contiene la dimensión en número de pixeles de la resolución vertical. Guardar Imagen: Almacena la imagen seleccionada. Ver Imagen: Muestra la imagen correspondiente a la URL almacenada. Hacer Principal: Indica que la foto es la principal para el perfil del tema. Borrar Imagen: Elimina del sistema la imagen. Tabla 9 Análisis Clase Imagen Tema 72 PFC - Álvaro Segura Cuervo UC3M73 4.3.7 DESCRIPCIÓN DE INTERACCIÓN. DIAGRAMAS DE SECUENCIA Los diagramas escogidos para representar la interacción son los de secuencia. En ellos se representa la interacción entre objetos del sistema para las principales tareas que se pueden realizar. Como para este proyecto todas las tareas del sistema presentan un diagrama de secuencia similar (cambiando las operaciones y sus atributos) solo se muestra en este apartado los diagramas de secuencia para las operaciones más significativas que deberá llevar a cabo el sistema DIAGRAMA DE SECUENCIA EDITAR POLÍTICO La operación a diagramar será la producida cuando un usuario pretende editar algún aspecto de una persona (político) ya registrado en el sistema. El usuario envía a la clase sistema de gestión el nombre de usuario y contraseña para identificarse, después de validarse la contraseña en la clase usuario y ser correcta, se busca la ficha del político, luego se carga mediante la función mostrar persona, y finalmente se envían los datos editados antes de registrar los cambios. SISTEMA GESTION Usuario Persona Top Package::Usuario Iniciar Sesion (NombreUsuario, Contraseña) ValidarContraseña (NombreUsuario, Contraseña) Gestionar Personas() OK BuscarPersona(Nombre,Apellidos) Buscar Persona (Nombre,Apellidos) OK {} Mostrar Persona (Persona) OK Editar Persona (Datos Modificados) Registrar Persona (Persona) Esquema 11 - Diagrama de secuencia Editar Político 73 PFC - Álvaro Segura Cuervo UC3M74 DIAGRAMA DE SECUENCIA GUARDAR Y HACER PRINCIPAL IMAGEN DE PARTIDO Este diagrama describe la secuencia que se da si un usuario busca imágenes para un partido y quiere guardar y hacer principal una de ellas. Se parte de la premisa que el usuario ya está conectado al sistema y con un partido ya seleccionado. En primer lugar el usuario envía la orden de buscar imágenes a la clase Sistema de Gestión y esta es la encargada de enviar la señal a la clase partido para que realice la búsqueda, posteriormente mostrará las imágenes en la interfaz adecuada mediante la operación de Mostrar Datos. Una vez hecho esto el usuario indicará al sistema la URL de la imagen que desea almacenar y hacer principal para el perfil del partido. Entonces la clase Partido enviara primero la señal de guardar la imagen a la clase Imagen Partido y posteriormente la señal de hacer principal para el Partido, finalmente se registrarán los datos y se dará el visto bueno a la operación. Sistema Gestion Partido Imagen Partido Top Package::Usuario Buscar Imágenes ( ) Buscar Imágenes (Nombre) MostrarDatos (URL,Dim_X,Dim_Y) {} Guardar y Principal Imagen (URL) Guardar Imagen (URL) OK Hacer Principal (URL ) OK Registrar Datos (URL_LogoPrincipal) OK Esquema 12 - Diagrama de secuencia Guardar y hacer principal imagen Partido 74 PFC - Álvaro Segura Cuervo UC3M75 DIAGRAMA DE SECUENCIA ASOCIAR POLÍTICOS El siguiente diagrama describe la secuencia que se produce entre los mensajes de las clases en caso que el usuario quiera asociar a dos políticos. Se parte de que el usuario esta adecuadamente conectado al sistema. En primer lugar el usuario enviará al sistema de gestión el mensaje para buscar al político deseado. La clase sistema de Gestión enviará a su vez una petición a la clase persona para mostrar sus datos. Una vez hecho esto el usuario mediante la interfaz pertinente buscará el político a asociar al anteriormente mostrado. El proceso de mensajes entre clases se repetirá como para la primera búsqueda de político. Una vez se tengan los dos políticos elegidos, el usuario indicará a la aplicación el mensaje para asociarlos. La clase Persona se encargará de guardar los datos necesarios en el político base y de borrar los datos del político asociado. Finalmente se dará a la clase Sistema de Gestión la respuesta de operación completada. Sistema Gestion Persona Top Package::Usuario Buscar Persona(Nombre,Apellidos) Mostrar Datos(Nombre, Apellidos) ) OK Buscar Persona(NombreAso,ApellidosAso) {} Mostrar Datos(NombreAso, ApellidosAso) ) OK Asociar Persona(Nombre, Apellidos) ) Registrar Datos (Pseudonimol) Borrar Persona(NombreAso,ApellidosAso) OK Esquema 13 - Diagrama de secuencia Asociar Políticos 75 PFC - Álvaro Segura Cuervo UC3M76 DIAGRAMA DE SECUENCIA BORRAR TEMA Por último se muestra el diagrama de secuencia para el caso que un usuario desee borrar un Tema del sistema. Se parte con un usuario correctamente conectado al sistema. Posteriormente el usuario envía el mensaje de buscar un Tema concreto al sistema de Gestión, el cual se encarga de pasar el mensaje a la clase Tema para que lo muestre. Una vez hecho esto el usuario indicara a la aplicación que desea borrar el tema que esta visualizando. A continuación la clase Tema borra los datos del tema a los que tiene acceso y envía el mensaje a la clase Imágenes Tema para que se encargue de borrar todas las imágenes asociadas al Tema. Una vez finalizadas correctamente las actividades, las clases se envían entré si mensajes de confirmación. Sistema Gestion Tema Imagen Tema Top Package::Usuario Buscar Tema (Nombre) {} Borrar Tema (Nombre) Mostrar Tema (Nombre) ) OK Borrar Tema (Nombre) OK Borrar Imagen ( ) OK Esquema 14 - Diagrama de secuencia Borrar Tema 76 PFC - Álvaro Segura Cuervo UC3M77 4.3.8 ANÁLISIS DE LA BASE DE DATOS EXISTENTE En el siguiente apartado se mostrará el modelo E-R (Entidad - Relación) que representa a la Base de Datos existente de manera previa y sobre la que tendrá que trabajar el sistema actual. Pero no todos los datos empleados en realizar los procesos del sistema pueden ser sustentados por este modelo de Base de Datos. Por tanto se necesitarán realizar algunas modificaciones sobre la Base de Datos para que nuestra aplicación (o sistema) funcione correctamente. Para realizar estos cambios en primer lugar conviene observar y analizar la Base de Datos existente en el proyecto, para conocer qué datos almacena, cuáles no, como se relacionan entre sí. En esta fase de análisis se mostrarán tanto el modelo E-R como el grafo relacional que definen a la Base de Datos (al menos en parte). Una vez hecho esto, se mostrarán los diagramas de flujos de datos del sistema, para conocer de manera más concreta como se relacionan los datos dentro del mismo. Hay que tener en cuenta que la aplicación no requiere de todas las entidades representadas en el siguiente modelo, por tanto a continuación se especifican cuales de ellas son relevantes para este proyecto. De los requisitos tomados en el apartado se observa que la aplicación solo requiere datos relacionados con políticos, partidos y temas. Pero estos datos en algunos casos están dispersos en diferentes entidades o no existen entidades apropiadas para albergarlos. Las entidades existentes con las que se relaciona este proyecto son: POR PARTE DEL POLÍTICO: Persona Referenciado POR PARTE DEL PARTIDO: Partido POR PARTE DEL TEMA: Tema 77 PFC - Álvaro Segura Cuervo UC3M78 MODELO E-R Esquema 15 Diagrama E-R Del este modelo E-R se obtiene el siguiente grafo relacional donde se hace la transformación a tablas, sé indican sus claves y relaciones, así como sus propiedades respecto a la integridad referencial. 78 PFC - Álvaro Segura Cuervo UC3M79 GRAFO RELACIONAL Del modelo relacional total se han separado las tablas junto con las dependencias que afectan al proyecto, dejando de lado demás información no relevante para el diseño de esta aplicación. Estas son las tablas que inicialmente contienen la Base de Datos como soporte para la aplicación. Esquema 16 Grafo Relacional Politiktracker Viendo el grafo con el conjunto de tablas, observamos que no están en el modelo todas las tablas necesarias para lograr los objetivos del sistema, ya que hay datos como las imágenes que no disponen de soporte. Por tanto en el siguiente apartado se tratan las modificaciones que han de realizarse sobre este esquema para poder albergar todas las tablas necesarias para el desarrollo de la aplicación de gestión manual de Politiktracker.. 79 PFC - Álvaro Segura Cuervo UC3M80 4.3.9 MODIFICACIONES SOBRE LA BASE DE DATOS Observando los datos contenidos en los flujos de los diagramas anteriores, los contenedores de datos necesarios para su almacenamiento, y en las tablas existentes en la Base de Datos, llegamos a la conclusión de que no todos los datos pueden ser albergados en dicha BD según su definición inicial. Por ello es necesario realizar determinados cambios en la BD para poder sostener los datos de la aplicación de gestión que este proyecto describe. A pesar de que en todo momento se han tratado de llevar a cabo los mínimos cambios sobre la BD que pudieran afectar a otros proyectos realizados de manera paralela, algunos cambios son imprescindibles para el desarrollo de este proyecto. Estos cambios consistirán principalmente en añadir las tablas necesarias a la BD. Serán necesarias las siguientes tablas: Tabla para gestión de imágenes de un político: se hace necesaria una tabla para albergar varias imágenes asociadas a un político ya que según la definición inicial de la BD se contempla que un político solo puede tener una foto asociada a él. Para no sobrecargar la BD con múltiples imágenes se ha tomado la decisión de almacenar solo las URLs de dichas imágenes. Esta tabla deberá contener los campos clave del político ( nombre y apellidos ) a modo de clave externa, también debe contener un campo de texto que almacene la URL de la imagen (debido a que la longitud de las URL pueden ser largas será necesaria una longitud de campo de 255 caracteres). Estos 3 campos formarán la clave de la tabla ya que identifican de manera unívoca a una URL de imagen para un político. También será necesario almacenar las dimensiones de la imagen (medidas en pixeles) dimensión horizontal ( Dim X ) y dimensión vertical ( Dim Y ) como valores enteros. Tabla para gestión de imágenes de un partido: De igual manera que pare el político, se hace necesaria una nueva tabla que pueda albergar múltiples imágenes para un partido. Contendrá campos similares a los descritos para el político. Debe tener (la clave del partido como clave externa enlazada a la tabla partido) nombre y la URL de la imagen (255 caracteres alfanuméricos) que formarán la clave principal. También contendrá las resoluciones vertical y horizontal en pixels, Dim X y Dim Y como valores enteros. Tabla para gestión de imágenes de temas: Como en los anteriores casos, se necesita una tabla para albergar las diferentes imágenes que pueden asociarse a un tema. Contendrá campos similares a los descritos para el político y el partido. Debe tener (la clave del tema como clave externa enlazada a la tabla tema) nombre y la URL de la imagen (255 caracteres alfanuméricos) que formarán la clave principal. También contendrá las resoluciones vertical y horizontal en pixels, Dim X y Dim Y como valores enteros. Todas las relaciones entre las tablas nuevas deberán tener actualización y borrado en cascada para mantener la integridad referencial de la Base de Datos. A continuación se muestra como quedarían dichos cambios aplicados al modelo Relacional anteriormente presentado. 80 PFC - Álvaro Segura Cuervo UC3M81 MODELO RELACIONAL ADAPTADO Por tanto, según lo anteriormente detallado, el modelo Relacional de la BD específico para el proyecto quedaría modificado con los siguientes cambios para permitir el sustento de los datos necesarios: Esquema 17 - Modelo Entidad Relación Adaptado 81 PFC - Álvaro Segura Cuervo UC3M82 4.4 DISEÑO DE LA APLICACIÓN El objetivo de esta parte del documento es estudiar el problema desde una perspectiva técnica y orientada a la tecnología con la que se va a ofrecer la solución. El alcance de este documento es plantear un diseño capaz de cubrir las necesidades estudiadas a lo largo de la fase de análisis. Esta fase de diseño comprenderá diferentes técnicas y diagramas que describirán en detalle la aplicación elaborada. En primer lugar se llevará a cabo un diagrama de arquitectura de sistema donde se realizará como su propio nombre indica un diagrama ilustrativo de la arquitectura a emplear por el sistema. A continuación se especificará el entorno tecnológico del sistema, tanto el del entorno necesario para hacer funcionar el sistema, como el entorno de construcción utilizado para llevarlo a cabo. Para finalizar se detallará la parte más importante del diseño. Se mostrarán los prototipos de diseño de la aplicación o sistema a desarrollar. Como fue modificándose de acuerdo a las indicaciones del usuario final. 82 PFC - Álvaro Segura Cuervo UC3M83 4.4.1 DIAGRAMA DE ARQUITECTURA DEL SISTEMA Se identifica el siguiente diagrama de arquitectura: Esquema 18 Diagrama de arquitectura del sistema. El entorno del sistema está compuesto por la aplicación que será la herramienta del usuario para manejar la Base de Datos. La aplicación se comunicará con el servidor Apache, mediante el cual nuestra aplicación podrá enviar peticiones y recibir los datos pretendidos desde la Base de Datos. Como se observa en el diagrama la aplicación también se comunica directamente con internet, esto sucederá en el caso de las búsquedas de imágenes, ya que las peticiones se realizaran a motores de búsqueda externa, por lo que el sistema hará las veces de multibuscador, recibiendo las imágenes resultantes para el almacenamiento de sus direcciones. 83 PFC - Álvaro Segura Cuervo UC3M Mostrar más
Escuela Provincial de Educación Técnica N 1 UNESCO Planificación Anual 2015 Ciclo Superior Secundario Especialidad: Técnico en Informática Personal y Profesional - Espacio Curricular: Programación Web Más detalles Recuperación de Información en Internet Tema 2: La web
Recuperación de Información en Internet Tema 2: La web P.O.P. Língua e usos profesionais Miguel A. Alonso Jorge Graña Jesús Vilares Departamento de Computación Facultad de Informática Universidade da Coruña Más detalles INTRODUCCIÓN AL WEB. Pag. 1 de 10
INTRODUCCIÓN AL WEB La World Wide Web o simplemente WWW o Web es uno de los métodos más importantes de comunicación que existe en Internet. Consiste en un sistema de información basado en Hipertexto (texto Más detalles BASES DE DATOS MIS 308
2. MODELOS DE DATOS Introducción 2.1 Entidad relación 2.2 Jerárquico 2.3 De red 2.4 Relacional Introducción Hoy en día las empresas manejan una gran cantidad de datos. Cualquier empresa que se precie debe Más detalles CUALIFICACIÓN CONFECCIÓN Y PUBLICACIÓN DE PÁGINAS WEB PROFESIONAL. Nivel 2. Versión 5 Situación RD 1201/2007 Actualización
Página 1 de 18 CUALIFICACIÓN CONFECCIÓN Y PUBLICACIÓN DE PÁGINAS WEB PROFESIONAL Familia Profesional Informática y Comunicaciones Nivel 2 Código IFC297_2 Versión 5 Situación RD 1201/2007 Actualización Más detalles SISTEMAS DE GESTIÓN DE BASE DE DATOS SGBD / DBMS
Universidad de Carabobo Facultad Experimental de Ciencias y Tecnología Departamento de Computación Unidad Académica Base de Datos SISTEMAS DE GESTIÓN DE BASE DE DATOS SGBD / DBMS Integrantes: Fidel Gil Más detalles Desarrollo de Aplicaciones con Tecnologías Web
Desarrollo de Aplicaciones con Tecnologías Web Código: Modalidad: Distancia Duración: 100 Horas. Objetivos: La presente formación se ajusta al itinerario formativo del Certificado de Profesionalidad IFCD0210 Más detalles Poder Judicial de Tucumán Año 2013
Internet y Correo electrónico El presente instructivo corresponde a una guía básica para el manejo de los programas y para la adquisición de conceptos en relación a estos utilitarios. No obstante ello, Más detalles Curso básico de creación de páginas web
Curso básico de creación de páginas web Programa de formación docente UAM 2005-2006 Miguel Sevilla Callejo Abril 2006 Departamento de Geografía Universidad Autónoma de Madrid Objetivos Desarrollar las Más detalles DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB PROFESIONAL
Página 1 de 21 CUALIFICACIÓN DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB PROFESIONAL Familia Profesional Informática y Comunicaciones Nivel 3 Código IFC154_3 Versión 5 Situación RD 1087/2005 Actualización Más detalles ACCIÓN FORMATIVA FINANCIADA POR EL SERVICIO PÚBLICO DE EMPLEO ESTATAL
MF0491_3: PROGRAMACIÓN WEB EN EL ENTORNO CLIENTE. (IFCD0210: DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB) 180 HORAS PRESENCIALES Nº DE EXPEDIENTE: FC/2013/0064 ACCION 141 GRUPO 1 ACCIÓN FORMATIVA FINANCIADA Más detalles CONSTRUCCIÓN DE PORTALES
Curso «Los portales de internet». Fac. Documentación. Universidad de Murcia. 29 CONSTRUCCIÓN DE PORTALES Juan Antonio Pastor Sánchez 1. Introducción La Gestión de los contenidos informativos de los portales Más detalles Ministerio de Educación Base de datos en la Enseñanza. Glosario
Ministerio de Educación Base de datos en la Enseñanza. Glosario Instituto de Tecnologías Educativas 2011 Glosario Glosario GLOSARIO Archivo Un archivo es un elemento que contiene información y que a su Más detalles CURSO DE ESPECIALISTA EN DESARROLLO DE APLICACIONES WEB
CURSO DE ESPECIALISTA EN DESARROLLO DE APLICACIONES WEB Objetivos Generales: Al término de esta acción formativa los participantes alcanzarán los siguientes objetivos: Preparar profesionales para el desarrollo Más detalles Anexo I: Detalles sobre Diseño WEB y Diseño Interactivo
Anexo I: Detalles sobre Diseño WEB y Diseño Interactivo Anexo I: Detalles sobre Diseño WEB y Diseño Interactivo... 1 1. Los ejes alrededor de un diseño interactivo... 2 2. Los problemas de Adobe Flash... Más detalles GUÍA Nro. 1 TECNOLOGÍA DE INTERNET. TIII PIII
GUÍA Nro. 1 TECNOLOGÍA DE INTERNET. TIII PIII GUIA DISPONIBLE EN: http://preparadorivan.blogspot.com/ - http://preparadormssi.50webs.com/inicio.html La World Wide Web o la Web, es una de las múltiples Más detalles Las bases de datos pueden dividirse en dos grupos, considerando su función primordial, a saber:
Base de datos De Wikipedia, la enciclopedia libre. Una base de datos es un conjunto de datos que pertenecen al mismo contexto almacenados sistemáticamente para su uso posterior. En este sentido, una biblioteca Más detalles CUALIFICACIÓN CONFECCIÓN Y PUBLICACIÓN DE PÁGINAS WEB PROFESIONAL. Nivel 2. Versión 6. Actualización
Página 1 de 19 CUALIFICACIÓN CONFECCIÓN Y PUBLICACIÓN DE PÁGINAS WEB PROFESIONAL Familia Profesional Informática y Comunicaciones Nivel 2 Código IFC297_2 Versión 6 Situación Contraste externo Actualización Más detalles Manual de Usuario. 2005 MexWebs Soluciones Web Globales S. de R.L. MEXWEBS Content Management System v2.0
Manual de Usuario 2005 MexWebs Soluciones Web Globales S. de R.L. MEXWEBS Content Management System v2.0 MEXWEBS CMS v2.0 2 Índice ÍNDICE...2 MANUAL PARA EL MEXWEBS CMS V2.0...3 Qué es MexWebs CMS v2.0?... Más detalles Módulo Profesional 01: Bases de datos (código: 0484).
DENOMINACIÓN: CON TECNOLOGÍAS WEB Código: IFCD0210 Familia profesional: Informática y Comunicaciones Área profesional: Desarrollo Nivel de cualificación profesional: 3 Cualificación profesional de referencia: Más detalles PLAN FORMATIVO MODALIDAD I
PLAN FORMATIVO MODALIDAD I Modalidad Acción: TELEFORMACIÓN Nº de la Acción: FPTO/2014/695/202 Familia Profesional: Tipo Especialidad: IFC / INFORMÁTICA Y COMUNICACIONES NUEVA ESPECIALIDAD Area Profesional: Más detalles Tema 3: Bases de datos en Entorno Web
Tema 3: Bases de datos en Entorno Web 1. Introducción. Un sistema de bases de datos proporciona un control centralizado de los datos. Esto contrasta con la situación que prevalece actualmente, donde a Más detalles Datos del Curso Título Diseño y Creación de Portales Web
Datos del Curso Título Diseño y Creación de Portales Web Duración 40 horas (5,3 créditos ECTS) Responsables Dr. Julio Gómez López Dra. Consolación Gil Montoya Profesorado Eugenio Villar Fernández euflamante@gmail.com Más detalles Buscadores en Internet. capítulo 05
Buscadores en Internet capítulo 05 Buscadores en Internet buscadores 5.1 Qué son? Los buscadores de Internet o motores de búsqueda son una página web cuyo servidor contiene una base de datos con direcciones Más detalles Interfaces de acceso a base de datos. Interfaces de acceso a base de datos. Interfaces de acceso a base de datos. Interfaces de acceso a base de datos
Desarrollo de Aplicaciones con Tecnologías Web (Online) (Dirigida a la Acreditación de las Competencias Profesionales R.D. 1224/2009) Titulación certificada por EUROINNOVA BUSINESS SCHOOL Desarrollo de Más detalles Internet y World Wide Web. Informática Aplicada Grado en GAP Fac. de Admón. y Dir. de Empresas Univ. Politécnica de Valencia
Tema 47. Las herramientas ofimáticas. Integración con sistemas de información estructurada. Esquema Introducción... 2 Historia... 2 Suites... 2 Herramientas ofimáticas... 3 Tipos de programas ofimáticos:... Más detalles Plantilla de texto plano
Plantilla de texto plano Esta es la plantilla seleccionada por defecto al crear una nueva página. Título: Es el título que aparecerá identificando a la página, así como en la cabecera del documento en Más detalles Web. Web Diapositiva 1
Web Servicio WorldWideWeb Historia de la Web URL Dominios Dominio de alto nivel Cómo funciona? Hipertexto e Hipervínculos Sitios Web y Páginas de Inicio Cómo identificar los hipervínculos? Navegador Web Más detalles Introducción al desarrollo WEB. Tecnologías Web
Introducción al desarrollo WEB Tecnologías Web Un poco de Historia World Wide Web (WWW) Inventada por Tim Berners Lee en 1989!!! Mientras trabajaba European Organization for Nuclear Research (CERN) http://www.w3.org/consortium/history.html Más detalles Metodología de Ingeniería del Software para el desarrollo y mantenimiento de sistemas de información del Gobierno de Extremadura
Metodología de Ingeniería del Software para el desarrollo y mantenimiento de sistemas de información del Gobierno de Extremadura Página 1 de 23 Índice del Documento 1.- Introducción... Página 4 2.- Propuesta Más detalles HISTORIA DE LAS B.D.
BASE DE DATOS HISTORIA DE LAS B.D. Tuvieron sus orígenes en 1960-1962, cuando se empezaron a usar las maquinas que codificaban la información en tarjetas perforadas por medio de agujeros. Las bases de Más detalles CICLO SUPERIOR DESARROLLO DE APLICACIONES MULTIPLATAFORMA
CICLO SUPERIOR DESARROLLO DE APLICACIONES MULTIPLATAFORMA PROGRAMACIÓN DIDACTICA ANUAL Parte específica del módulo: 0485. Programación Departamento de Familia Profesional de Informática Curso: 2014-15 Más detalles EVOLUCIÓN DE LA WEB. Presentado por: Pablo E. Lozada Y. (pablo.lozada@alumnos.usm.cl)
EVOLUCIÓN DE LA WEB Presentado por: Pablo E. Lozada Y. (pablo.lozada@alumnos.usm.cl) Contenido Historia del Internet. La Web 1.0. Definición. Características. La Web 2.0. Definición. Tecnologías de la Más detalles UNIVERSIDAD FRANCISCO GAVIDIA FACULTAD DE INGENIERIA Y ARQUITECTURA
UNIVERSIDAD FRANCISCO GAVIDIA FACULTAD DE INGENIERIA Y ARQUITECTURA TRABAJO DE GRADUACIÓN DISEÑO DE UN BUSCADOR ACADEMICO LLAMADO SALVADOR PRESENTADO POR: GLENDA MARISOL MARROQUIN LARREYNAGA MARINA LOURDES Más detalles CUALIFICACIÓN PROGRAMACIÓN DE SISTEMAS INFORMÁTICOS PROFESIONAL. Nivel 3. Versión 6. Actualización
Página 1 de 19 CUALIFICACIÓN PROGRAMACIÓN DE SISTEMAS INFORMÁTICOS PROFESIONAL Familia Profesional Informática y Comunicaciones Nivel 3 Código IFC303_3 Versión 6 Situación Contraste externo Actualización Más detalles Introducción a Internet
Introducción a Internet Localización y acceso a la informacion Instituto de Ciencias de la Educación Jesús Tramullas Dpto. CC. Documentación http://tramullas.com/lai Historia de Internet Inicio proyecto Más detalles Formación a distancia de EXPERTO EN DISEÑO Y PROGRAMACIÓN WEB CON PHP
Instituto de Formación Profesional CBTech Estudie desde su hogar y obtenga un certificado universitario Formación a distancia de EXPERTO EN DISEÑO Y PROGRAMACIÓN WEB CON PHP 1 Curso de Diseño Web con HTML5 Más detalles GLOSARIO. Arquitectura: Funcionamiento, estructura y diseño de una plataforma de desarrollo.
GLOSARIO Actor: Un actor es un usuario del sistema. Esto incluye usuarios humanos y otros sistemas computacionales. Un actor usa un Caso de Uso para ejecutar una porción de trabajo de valor para el negocio. Más detalles ACCESS 2010 OFIMÁTICA AULA MENTOR
ACCESS 2010 OFIMÁTICA AULA MENTOR Módulo I: Introducción UNIDADES DIDÁCTICAS: 1. Unidad didáctica 1 2 Introducción a las Bases de Datos 2. Unidad didáctica 2 10 Comenzar a trabajar con Access Página 1 Más detalles UF1302 Creación de páginas web con lenguajes de marcas
UF1302 Creación de páginas web con lenguajes de marcas TEMA 1. Los lenguajes de marcas TEMA 2. Imágenes y elementos multimedia TEMA 3. Técnicas de accesibilidad y usabilidad TEMA 4. Herramientas de edición Más detalles Trabaja desde cualquier ubicación con conexión a Internet. Los puestos clientes sólo precisan de un navegador web.
Introducción Características Versiones y módulos Consultas Descripción Ficha catalográfica OPAC Edición de productos impresos en el módulo Instalación y puesta en marcha Soporte técnico y mantenimiento Más detalles JOOMLA!, UNA HERRAMIENTA EDUCATIVA Y DE CENTROS
JOOMLA!, UNA HERRAMIENTA EDUCATIVA Y DE CENTROS Tomás Clemente Carrilero. Profesor de enseñanza secundaria. Introducción. Joomla! es un sistema gestor de contenidos dinámicos (CMS, Content Management System) Más detalles Modulo I. Introducción a la Programación Web. 1.1 Servidor Web.
Modulo I. Introducción a la Programación Web. 1.1 Servidor Web. Antes de analizar lo que es un servidor Web y llevara a cabo su instalación, es muy importante identificar diferentes elementos involucrados Más detalles Características de OpenCms
Características de OpenCms Se basa en Java y Xml OpenCms está totalmente desarrollado en java bajo el estándar servlet. Por lo tanto, se puede integrar fácilmente en entornos hardware y software existentes, Más detalles Capítulo 1 Sistemas de gestión de contenidos
Capítulo 1 Sistemas de gestión de contenidos Si hoy en día una persona se encuentra en Internet careciendo de una extensa funcionalidad o de un contenido actualizado, se encontrará en clara desventaja Más detalles Eurowin 8.0 SQL. Manual del módulo GESTIÓN DOCUMENTAL
Eurowin 8.0 SQL Manual del módulo GESTIÓN DOCUMENTAL Documento: me_gestiondocumental Edición: 08 Nombre: Manual del módulo Gestión Documental de Eurowin Fecha: 30-04-2012 Tabla de contenidos 1. Introducción... Más detalles Desarrollo de una aplicación Web para la gestión de calificaciones de alumnos
PROYECTO FIN DE CARRERA Desarrollo de una aplicación Web para la gestión de calificaciones de alumnos Fecha: Julio 2009 Autora: Gloria Núñez Mayorga Tutor: Jesús Arias Fisteus Introducción La tarea de Más detalles CUALIFICACIÓN PROGRAMACIÓN DE SISTEMAS INFORMÁTICOS PROFESIONAL. Nivel 3. Versión 5 Situación RD 1201/2007 Actualización
Página 1 de 17 CUALIFICACIÓN PROGRAMACIÓN DE SISTEMAS INFORMÁTICOS PROFESIONAL Familia Profesional Informática y Comunicaciones Nivel 3 Código IFC303_3 Versión 5 Situación RD 1201/2007 Actualización Competencia Más detalles Herramientas Informáticas para la Documentación Práctica 1. Introducción al navegador Netscape
Herramientas Informáticas para la Documentación Práctica 1. Introducción al navegador Netscape Introducción y objetivos De modo muy resumido Internet es una red que interconecta redes de ordenadores. Conectándose Más detalles CUALIFICACIÓN SISTEMAS DE GESTIÓN DE INFORMACIÓN PROFESIONAL. Nivel 3. Versión 5 Situación RD 1201/2007 Actualización
Página 1 de 16 CUALIFICACIÓN SISTEMAS DE GESTIÓN DE INFORMACIÓN PROFESIONAL Familia Profesional Informática y Comunicaciones Nivel 3 Código IFC304_3 Versión 5 Situación RD 1201/2007 Actualización Competencia Más detalles Ciclo Formativo de Grado Superior Desarrollo de Aplicaciones Web
Ciclo Formativo de Grado Superior Desarrollo de Aplicaciones Web Proyecto Propio de Ampliación con Programación de Dispositivos Móviles e Inteligentes Paseo de la Puerta del Ángel, s/n 28011 Madrid www.iesellago.net Más detalles UNIVERSIDAD TECNOLÓGICA ECOTEC. ISO 9001:2008. Gestión de Información Web
Gestión de Información Web Características deseables de CMS Arquitectura técnica: Tiene que ser fiable y permitir la escalabilidad del sistema para adecuarse a futuras necesidades con módulos o extensiones. Más detalles Presentación del Curso Virtual PROGRAMACIÓN WEB PHP CON MYSQL BÁSICO
Presentación del Curso Virtual PROGRAMACIÓN WEB PHP CON MYSQL BÁSICO INNOVATIVA CENTRO DE TRANSFERENCIA Y DESARROLLO TECNOLÓGICO ESPE CECAI Capacitación Virtual La mejor opción para su crecimiento profesional Más detalles DESCRIPCIÓN ESPECÍFICA NÚCLEO: COMERCIO Y SERVICIOS SUBSECTOR: INFORMÁTICA
DESCRIPCIÓN ESPECÍFICA NÚCLEO: COMERCIO Y SERVICIOS SUBSECTOR: INFORMÁTICA Nombre del Módulo: DISEÑO DE PAGINAS WEB CON HTML Código: CSTI0085 total: 63 Horas Objetivo General: Construir páginas Web a partir Más detalles Internet - Web. Internet - Web. Internet. Internet. Diseño de Sitios Web Desarrollo de Paginas Web. Qué es la Internet? - Qué es la Web?
Desarrollo de Paginas Web Internet - Web Internet - Web Qué es la Internet? - Qué es la Web? Internet: Una red de computadoras a nivel mundial Web: Una forma de organizar la información existente en Internet Más detalles ÍNDICE INTRODUCCIÓN...15
ÍNDICE INTRODUCCIÓN...15 CAPÍTULO 1. LA ARQUITECTURA CLIENTE-SERVIDOR...19 1.1 LAS DIRECCIONES IP Y EL SERVICIO DNS...20 1.2 LOS PROTOCOLOS TCP/IP...23 1.2.1 Los paquetes...24 1.2.2 Los puertos...25 1.2.3 Más detalles Introducción a las bases de datos
Introducción a las bases de datos Juan Ignacio Rodríguez de León Abstract Aplicaciones de los sistemas de bases de datos. Sistemas de bases de datos frente a sistemas de archivos. Visión de los datos. Más detalles DESCRIPCIÓN ESPECÍFICA NÚCLEO: COMERCIO Y SERVICIOS SUBSECTOR: INFORMÁTICA
DESCRIPCIÓN ESPECÍFICA NÚCLEO: COMERCIO Y SERVICIOS SUBSECTOR: INFORMÁTICA Nombre del Módulo: DISEÑO DE PAGINAS WEB CON HTML Código: CSTI0085 total: 3 Horas Objetivo General: Construir páginas Web en base Más detalles GUÍA DE EVIDENCIA DE LA UNIDAD DE COMPETENCIA
MINISTERIO DE EDUCACIÓN, CULTURA Y DEPORTE SECRETARÍA DE ESTADO DE EDUCACIÓN, FORMACIÓN PROFESIONAL Y UNIVERSIDADES DIRECCIÓN GENERAL DE FORMACIÓN PROFESIONAL INSTITUTO NACIONAL DE LAS CUALIFICACIONES Más detalles Especificación de requisitos de software Proyecto: SIS-WEB (Sistema de Información de Seminarios WEB) Revisión 1.0
Especificación de requisitos de software Proyecto: (Sistema de Información de Seminarios WEB) Revisión 1.0 Tania Isadora Mora Dorance Moreno Luis Yovany Romo Septiembre 2007 Realizado Por: Tania I. Mora Más detalles Diseño de un portal Web 2.0 sobre el turismo cultural en la comarca del Garraf en el ámbito de las TIC
Diseño de un portal Web 2.0 sobre el turismo cultural en la comarca del Garraf en el ámbito de las TIC Autor: Raquel Hidalgo Titulación: Ingeniería Técnica en Informática de Gestión Director: Manuel López Más detalles Tema 5. Tecnologías web. Antonio Sanz ansanz@unizar.es. Comercio Electrónico
Tema 5 Tecnologías web Antonio Sanz ansanz@unizar.es Comercio Electrónico Índice Gestión de un proyecto web Historia i de Internet t y la WWW Arquitecturas cliente/servidor Gestión de un proyecto web Introducción Más detalles Reflexión. Inicio. Contenido
Exploradores de Internet Navegador WEb Reflexión "Una máquina puede hacer el trabajo de 50 hombres corrientes. Pero no existe ninguna máquina que pueda hacer el trabajo de un hombre extraordinario. Elbert Más detalles INTRODUCCIÓN AL SQL. TRANSACT-SQL SQL SERVER 2005. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE
INTRODUCCIÓN AL SQL. TRANSACT-SQL SQL SERVER 2005 Manual de Referencia para usuarios Salomón Ccance CCANCE WEBSITE INTRODUCCIÓN AL SQL. TRANSACT SQL CONCEPTOS BÁSICO DE SQL SQL (Structured Query Language), Más detalles UNIVERSIDAD ALBERT EINSTEIN FACULTAD DE INGENIERIA
UNIVERSIDAD ALBERT EINSTEIN FACULTAD DE INGENIERIA Estudio de las herramientas TOAD y DBArtisan para la administración e integración de bases de datos relacionales. PREVIA OPCION AL TÍTULO DE: INGENIERO Más detalles Práctica1. Introducción a Microsoft Access. Qué es Access?
Plataforma Moodle Gestión y administración de un curso El panel de administración----------------------------------------------------------- 2 Gestión de personas (alumnos y profesores) ------------------------------------ Más detalles Especialista en Creación de Portales Web con Joomla 3.3
Especialista en Creación de Portales Web con Joomla 3.3 TITULACIÓN DE FORMACIÓN CONTINUA BONIFICADA EXPEDIDA POR EL INSTITUTO EUROPEO DE ESTUDIOS EMPRESARIALES Especialista en Creación de Portales Web Más detalles ADMINISTRACIÓN DE BASE DE DATOS
SQL SERVER T-SQL QUERY s es ADMINISTRADOR GRÁFICO SGBD Elementos objetos Tablas Procedimientos Triggers Funciones Usuarios Permiso Roles Contraseñas Programas DTS (Data Transfer System) Exportación e Importación Más detalles Tema 1: Introducción a las Aplicaciones Web. Contenidos:
Tema 1: Introducción a las Aplicaciones Web. Contenidos: 1. Esquema de funcionamiento. 1.1. Modelo Cliente/Servidor. 1.1.1. Componentes de un Servidor (WAMP, LAMP). 1.1.2. Navegadores. 1.2. Conceptos. Más detalles 1. Capítulo 1: Herramientas de Software para el sistema
1. Capítulo 1: Herramientas de Software para el sistema 1.1 Conceptos Generales 1.1.1 Joomla.- Es un sistema dinámico que gestiona y administra contenidos de código abierto, y permite desarrollar sitios Más detalles 8. RECURSOS Y MÓDULOS COLABORATIVOS.
8. RECURSOS Y MÓDULOS COLABORATIVOS. En este capítulo estudiaremos las actividades que ponen el acento en el trabajo en grupo como una metodología fuertemente eficaz para garantizar ocasiones de aprendizaje Más detalles ADMINISTRADORES DE SERVIDORES Y PÁGINAS WEB
ADMINISTRADORES DE SERVIDORES Y PÁGINAS WEB ADMINISTRADORES DE SERVIDORES Y PÁGINAS WEB Horas: 350 Teoría: 160 Práctica: 190 Presenciales: 350 A Distancia: 0 Acción: FIP IFCI7004 Nº Grupo: Código: FIP Más detalles Diseño del Sistema de Información
Diseño del Sistema de Información ÍNDICE DESCRIPCIÓN Y OBJETIVOS... 2 ACTIVIDAD DSI 1: DEFINICIÓN DE LA ARQUITECTURA DEL SISTEMA... 7 Tarea DSI 1.1: Definición de Niveles de Arquitectura... 9 Tarea DSI Más detalles DESARROLLO WEB EN ENTORNO CLIENTE
DESARROLLO WEB EN ENTORNO CLIENTE CAPÍTULO 1: Selección de arquitecturas y herramientas de programación Juan Manuel Vara Mesa Marcos López Sanz David Granada Emanuel Irrazábal Jesús Javier Jiménez Hernández Más detalles Curso Diseño Web con Software libre, VNU
1. - QUE ES VNU? NVU (se pronuncia N-view, por "new view") es un editor de páginas web libre y gratuito desarrollado bajo la modalidad Open Source, o sea que cualquiera está autorizado para bajarlo sin Más detalles Gestores de Contenidos (CMS)
Joomla Gestores de Contenidos (CMS) Sistema de Gestión de Contenidos o Content Managment System (CMS) Aplicación informática para crear, editar, manejar y publicar contenidos de una forma organizada y Más detalles CAPITULO 1. Introducción a los Conceptos Generales de Bases de Datos Distribuidas
CAPITULO 1 Introducción a los Conceptos Generales de 1.1 Preliminares Las empresas necesitan almacenar información. La información puede ser de todo tipo. Cada elemento informativo es lo que se conoce Más detalles COUNTSTAR: ADMINISTRACIÓN Y GESTIÓN DE EMPRESA
Trabajo fin de carrera INGENIERÍA TÉCNICA EN INFORMÁTICA DE SISTEMAS Facultad de Matemáticas Universidad de Barcelona COUNTSTAR: ADMINISTRACIÓN Y GESTIÓN DE EMPRESA Óscar Llorente Lucía Director/a: Dra. Más detalles Para iniciarnos en el estudio de este curso necesitamos estar familiarizados con ciertos conceptos generales, entre ellos:
Conceptos básicos de la internet y la web Para iniciarnos en el estudio de este curso necesitamos estar familiarizados con ciertos conceptos generales, entre ellos: Internet: Red mundial de computadoras Más detalles PDF created with pdffactory Pro trial version www.pdffactory.com
Este libro está diseñado y escrito para aquellas personas que, conociendo HTML y JavaScript, desean dar un salto cuantioso en la creación de sitios web, con la programación dinámica en el lado del servidor. Más detalles Evaluar el rendimiento de los servicios de comunicaciones. ANEXO CLIV
746 Miércoles 5 octubre 2005 Suplemento del BOE núm. 238 CE2.1 Identificar los distintos sistemas de archivo utilizables en un dispositivo de almacenamiento dado para optimizar los procesos de registro Más detalles Por Jennifer Islas. Manual de uso para Intranet
Por Jennifer Islas Manual de uso para Intranet Presentación El siguiente manual se ha hecho con la finalidad de que los miembros del laboratorio de átomos fríos se sirvan de una ayuda para poder gestionar Más detalles CARPETAS Y CONCEPTOS Bienvenidos a la sencillez
ADAIO: GESTOR DOCUMENTAL adaio es un potente sistema de gestión documental preparado para adaptarse con facilidad a las necesidades de empresas de cualquier tamaño y sector. Teniendo en cuenta la estructura Más detalles Confección y publicación de páginas Web
2014 Confección y publicación de páginas Web Docente: Manuel Fernández Catalán 0 ÍNDICE 1 Presentación... 2 2 Objetivos... 2 3 Tecnología... 2 4 Metodología y evaluación... 3 5 Material didáctico... 3 Más detalles CMS JOOMLA. Características
CMS JOOMLA Joomla es un sistema gestor de contenidos dinámicos (CMS o Content Management System) que permite crear sitios web de alta interactividad, profesionalidad y eficiencia. La administración de Más detalles Diseño del Sistema de Información
Diseño del Sistema de Información ÍNDICE DESCRIPCIÓN Y OBJETIVOS...2 ACTIVIDAD DSI 1: DEFINICIÓN DE LA ARQUITECTURA DEL SISTEMA...7 Tarea DSI 1.1: Definición de Niveles de Arquitectura...9 Tarea DSI 1.2: Más detalles 1.- REDES E INTERNET TIPOS DE REDES COMUNICACIÓN POR INTERNET PROTOCOLO IP PROTOCOLO TCP
1.- REDES E INTERNET TIPOS DE REDES LAN (Local Area Network). Enlazan ordenadores dentro de un área limitada: un departamento, una oficina, un edificio, etc La forma más sencilla para crear una LAN es Más detalles HTML & Fila Zilla. Temario:
HTML & Fila Zilla Conocer la estructura de tus páginas te permite tener un control total sobre estas, sin mencionar, que también te permite modificar la apariencia de tus sitios con CSS y mejorar tu presencia Más detalles DOMINE PHP Y MYSQL por LOPEZ QUIJADO Isbn 9701512693 Indice del Contenido INTRODUCCIÓN PARTE I. REDES E INTERNET
DOMINE PHP Y MYSQL por LOPEZ QUIJADO Isbn 9701512693 Indice del Contenido INTRODUCCIÓN PARTE I. REDES E INTERNET CAPÍTULO 1. LA ARQUITECTURA CLIENTE-SERVIDOR 1.1 LAS DIRECCIONES IP Y EL SERVICIO DNS 1.2 Más detalles Museos y Patrimonio: nuevas estrategias de difusión.
Museos y Patrimonio: nuevas estrategias de difusión. 6 de mayo. Sala 05-M de la Facultad de Derecho. «BBDD vs. Páginas HTML: Una experiencia práctica de estatificación de una web de museos», de Juan Manuel Más detalles Manual imprescindible SQL Server 2012 (c) Francisco Charte Ojeda
Manual imprescindible SQL Server 2012 (c) Francisco Charte Ojeda Agradecimientos Introducción Gestores de bases de datos Servidores de bases de datos Microsoft SQL Server 2012 Qué puede hacer con SQL Server Más detalles UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS ESCUELA DE COMPUTACIÓN
UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS ESCUELA DE COMPUTACIÓN CICLO: 02/2015 GUIA DE LABORATORIO #5 Nombre de la Práctica: Instalación y creación de sitios con WordPress Lugar de Ejecución: Más detalles ADMINISTRACIÓN DE BASES DE DATOS
ADMINISTRACIÓN DE BASES DE DATOS Descripción del curso: Con la nueva legislación, para desarrollar la actividad profesional de ADMINISTRACIÓN DE BASES DE DATOS, ya sea en entidades públicas o privadas, Más detalles 2017 © DocPlayer.es Política de privacidad | Condiciones del servicio | Feedback

References: resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución