Entorno Web comunitario para "Soufriere Youth and Sports Council"
Texto completo
(2) Hacemos constar que el presente Trabajo de Diploma ha sido realizado en la facultad de Matemática, Física y Computación de la Universidad Central “Marta Abreu” de Las Villas (UCLV) como parte de la culminación de los estudios de Licenciatura en Ciencia de la Computación, autorizando a que el mismo sea utilizado por la institución para los fines que estime conveniente, tanto de formato tal como parcial.. ______________________________ Firma del Autor. Los abajo firmantes, certificamos que el presente trabajo ha sido realizado según acuerdo de la dirección de nuestro centro y que el mismo cumple con los requisitos que debe tener un trabajo de esta envergadura referido a la temática señalada.. _________________________ Firma del Tutor. ________________________ Jefe del Seminario de Programación. i.
(3) DEDICATORIA. A Dios, a mi esposa y a mis padres por el amor, el esfuerzo, la preocupación y el apoyo de tantos años. Gracias por confiar en mí. A mis amigos y profesores, por el tiempo compartido.. ii.
(4) AGRADECIMIENTOS. A mi esposa que ha sido conmigo durante mis años en Cuba y me ha motivado para seguir luchando y para el apoyo que me ha dado el cual me aprecio mucho. Al Dr. Daniel Gálvez Lio, tutor de esta Tesis, por su paciencia y magnífica conducción científica, por su permanente aliento y estímulo humano que hizo posible su realización. Al Anthony Robinson y Patrick Mathurin para su apoyo en la terminación de este trabajo. A todos los compañeros que de manera sincera me han estimulado y brindado su apoyo, en especial, Munyori Nderitu Harun, Leanna Wallace, Dharmelta Maxwell, Dorian Rodriguez, Antonio Bouza, Renier Millo, Emelyne Bapoh, Joelle Thomas, Navine Dixon. A mi familia, por el apoyo moral y material que me prestara para llevarla hasta su culminación A todos muchas gracias.. iii.
(5) A little knowledge is a dangerous thing. So is a lot Albert Einstein. iv.
(6) RESUMEN En el presente trabajo se aborda la problemática de la falta de conocimiento e información sobre las actividades organizadas por el Consejo de la Juventud y del Deporte de Soufriere. Esto ha constituido una causa de preocupación para los miembros ejecutivos y para la comunidad, así como no favorece la posibilidad de recibir patrocinio y subvención para las actividades del consejo. Con el fin de solucionar esta situación se decide desarrollar una aplicación Web que facilite el manejo de la información del consejo y de sus actividades. La aplicación Web brinda la comunidad noticias de actividades pasadas, actuales y futuras del consejo. Los usuarios interactúan con la aplicación utilizando las encuestas, foros, comentando los artículos publicados y haciendo búsqueda sobre información de jugadores y estadísticas almacenadas en una base de datos que es mantenida por la aplicación Web. El sitio web desarrollado debe convertirse en un instrumento valioso en manos del consejo y de la comunidad.. v.
(7) ABSTRACT This paper addresses the problem of the lack of record keeping and public awareness of the activities organized by the Soufriere Youth and Sports Council. This problem has been a cause for concern among the executive members and the community as it hinders the possibility of receiving sponsorship and grants. As a result of this growing concern it was decided to develop a web application that would handle these problems. The web application provides the community with news of past, present and future activities of the council. Users are able to interact with the website by taking part in polls, forums, commenting on the different articles and blogs and by searching for information about different players and statistics stored in a database that is maintained by a web application. The fully developed website should be a valuable instrument in the hands of the council and the community.. vi.
(8) Tabla de Contenidos TABLA DE FIGURAS ........................................................................................................................ 1 INTRODUCCIÓN ............................................................................................................................... 2 CAPÍTULO 1: EL NEGOCIO DEL CONSEJO DE LA JUVENTUD Y EL DEPORTE DE SOUFRIERE Y EL PAPEL DE LAS TECNOLOGIAS DE LA INFORMACIÓN Y LA COMUNICACIÓN (TIC) .................................................................................................................... 5 1.1. HISTORIA ............................................................................................................................ 5. 1.2. LA POLITICA....................................................................................................................... 6. 1.3. LAS ACTIVIDADES DEL CONSEJO................................................................................. 7. 1.4. LAS TECNOLOGIAS DE LA INFORMACIÓN Y COMUNICACIÓN ............................. 8. 1.4.1. World Wide Web ............................................................................................................ 9. 1.4.2. Drupal........................................................................................................................... 10. 1.4.3. MySQL ........................................................................................................................ 14. 1.4.4. PhpMyAdmin ............................................................................................................... 16. 1.4.5. PHP .............................................................................................................................. 17. 1.4.6. HTML .......................................................................................................................... 18. 1.4.7. JavaScript ..................................................................................................................... 18. 1.4.8. CSS .............................................................................................................................. 18. CAPÍTULO 2: ANALISIS Y DISEÑO DEL SISTEMA ................................................................... 20 2.1. Requisitos ............................................................................................................................ 21. 2.1.1. Propósito ...................................................................................................................... 21. 2.1.2. Alcance......................................................................................................................... 21. 2.1.3. Resumen de características .......................................................................................... 21. 2.1.4. Determinación de los requisitos ................................................................................... 22. 2.1.5. Restricciones ................................................................................................................ 22. 2.2. Actores y caso de uso del sitio ............................................................................................ 22. 2.2.1. Sistema de registro y autenticación .............................................................................. 23. 2.2.2. Sistema de publicación de contenido ........................................................................... 23. 2.2.3. Sistema de blogging ..................................................................................................... 24. 2.2.4. Sistema de foro ............................................................................................................ 25. 2.2.5. Sistema de estadística................................................................................................... 25. 2.2.6. Acciones especiales del administrador ........................................................................ 26. 2.3. Modelo de contenido ........................................................................................................... 27. 2.4. Modelo de usuario ............................................................................................................... 28. 2.5. Modelo de navegación......................................................................................................... 29. 2.6. Modelo de proceso .............................................................................................................. 30 vii.
(9) 2.7. Modelo de presentación....................................................................................................... 32. 2.8. Diagrama de la base de datos .............................................................................................. 33. 2.9. Diagrama de despliegue ...................................................................................................... 35. CAPÍTULO 3: INSTALACIÓN Y USO DEL SITIO WEB .............................................................. 37 3.1. Herramientas básicas para el funcionamiento del sitio ....................................................... 37. 3.2. Instalación del software ....................................................................................................... 37. 3.3. Características generales del software ................................................................................. 39. 3.4. Manual de usuario para el rol usuario registrado ................................................................ 39. 3.4.1. Funciones del usuario registrado.................................................................................. 39. 3.4.2. Opciones de login, registración y solicitación de contraseña ...................................... 39. 3.4.3. Opciones de una encuesta ............................................................................................ 41. 3.4.4. Opciones de comentario ............................................................................................... 42. 3.4.5. Opciones de blog .......................................................................................................... 43. 3.4.6. Opciones de foro .......................................................................................................... 43. 3.4.7. Opciones de estadísticas............................................................................................... 43. 3.5. Manual de usuarios con rol blogger .................................................................................... 46. 3.6. Manual de usuarios con rol gerente del foro ....................................................................... 46. 3.7. Manual de usuarios con rol gerente de estadísticas ............................................................. 47. 3.8. Manual de usuario del rol gestor de contenido.................................................................... 48. 3.9. Manual de usuario del rol administrador............................................................................. 48. CONCLUSIONES ............................................................................................................................. 50 RECOMENDACIÓN ........................................................................................................................ 51 REFERENCIAS ................................................................................................................................. 52 ANEXO #1: Diagrama de Navegación del sitio web ........................................................................ 54 ANEXO #2: Diagrama completo de la Base de Datos ...................................................................... 55. viii.
(10) TABLA DE FIGURAS Figura 1 Diagrama de los objetos de datos en Drupal 6 .................................................................... 12 Figura 2 Diagrama de los entidades en Drupal 7 ............................................................................... 13 Figura 3 Sistema de Cliente-Servidor ................................................................................................ 15 Figura 4 Solicitud de Cliente-Servidor .............................................................................................. 15 Figura 5 Diagrama de una vista lógica de la arquitectura de MySQL ............................................... 16 Figura 6 Diagrama de caso de uso del sistema de registro ................................................................ 23 Figura 7 Diagrama de caso de uso del sistema de publicación de contenido .................................... 24 Figura 8 Diagrama de caso de uso del sistema de blogger ................................................................ 24 Figura 9 Diagrama de caso de uso del sistema de foro ...................................................................... 25 Figura 10 Diagrama de caso de uso para el sistema de estadística .................................................... 26 Figura 11 Diagrama de caso de uso del Administrador ..................................................................... 26 Figura 12 Diagrama de contenido para el sitio web........................................................................... 28 Figura 13 Diagrama de roles que muestra los actores de sitio web ................................................... 29 Figura 14 Diagrama de nombres y símbolos estereotipos de la clase de navegación de UWE ......... 30 Figura 15 Diagrama de Estructura de Proceso ................................................................................... 31 Figura 16 Diagrama de Flujo de Proceso de Registración ................................................................. 31 Figura 17 Diagrama de Presentación de la página principal .............................................................. 33 Figura 18 Diagrama que muestra la relación de un jugador del fútbol y su club. ............................. 34 Figura 19 Diagrama que muestra la relación entre las tablas necesarias para guardar las detalles de un juego de fútbol .............................................................................................................................. 35 Figura 20 Diagrama de despliegue..................................................................................................... 36 Figura 21 Diagrama que muestra el panel de control de XAMPP ..................................................... 38 Figura 22 Enlace de login y registración en el tope de la página....................................................... 39 Figura 23 Bloque de login de usuario. ............................................................................................... 40 Figura 24 Página de registración ........................................................................................................ 40 Figura 25 Página para solicita una nueva contraseña ........................................................................ 41 Figura 26 Página de cuenta de usuario............................................................................................... 41 Figura 27 Bloque de la encuesta. ....................................................................................................... 42 Figura 28 Parte de una página donde puede hacer comentarios ........................................................ 42 Figura 29 Un blog con las opciones de un usuario ............................................................................ 43 Figura 30 Página del foro. .................................................................................................................. 43 Figura 31 Página estadística ............................................................................................................... 44 Figura 32 Resultado de una búsqueda con Smith como apellido ...................................................... 44 Figura 33 Resultado de la estadística del jugador Dwayne Smith ..................................................... 45 Figura 34 Resultado de haga clic en el enlace Top 10 runs scorers ................................................... 45 Figura 35 Enlace para entra un nuevo blog........................................................................................ 46 Figura 36 Página que muestra las opciones del administrador del foro............................................. 46 Figura 37 Página de configuración de foro ........................................................................................ 47 Figura 38 Una vista de la tabla Basketball League Player Match Stats ............................................. 48 Figura 39 El bloque de operaciones del gestor de contenido ............................................................. 48 Figura 40 El menú del administrador ................................................................................................. 49. 1.
(11) INTRODUCCIÓN El uso del Internet ha sido inevitable en el mundo moderno de hoy. Cualquier empresa u organización que no tiene alguna presencia en el Internet es uno que es lentamente muriendo y es uno que posiblemente no se desempeñó un papel activo en su comunidad. La creciente capacidad de las telecomunicaciones ha provocado que las Aplicaciones Web superen en algunos puntos a las aplicaciones de escritorio y las empresas las vean como una alternativa bastante viable para el desarrollo de aplicaciones que proveen a los usuarios de una alternativa para interactuar con todos los ámbitos de un negocio con la ayuda de computadora y un explorador Web.. Evitar la dependencia física de una máquina es una característica importante en este tipo de sistemas ya que no es necesario que se instale nada en el cliente, una persona sin necesidad de contar con su máquina de oficina puede trabajar desde cualquier punto a cualquier hora (Javier, 2009).. El Consejo de la Juventud y de los Deportes de Soufriere (Soufriere Youth and Sports Council) es una organización sin fines de lucro que opera como una rama para el ministerio de deportes en Santa Lucía. La declaración de misión del Consejo es “Juventud, Deporte, Cultura - el vehículo para el significante desarrollo de la comunidad”. El objetivo general del consejo es la unificación de clubes, grupos y organizaciones, mientras trabajando hacia la planificación, ejecución y promoción de todas las formas de actividades deportivas, educativas y culturales del consejo.. El Consejo existe hace más de 30 años y como resultado de su trabajo ha ayudado en el desarrollo de un nuevo campo de deportes multipropósito, una cancha de tenis y del voleibol, una cancha del netball y una cancha del baloncesto. Recientemente, una grada pequeña fue construida para el campo de deportes multipropósito y se instalaron las luces para facilitar los juegos nocturnos, con la ayuda del Gobierno de Santa Lucía.. El Consejo está integrado por cinco miembros ejecutivos que son voluntarios de la comunidad, lo cual ha influido en el lento desarrollo del consejo y en el compromiso bajo hacía la organización. Por lo anterior, el esfuerzo extraordinario realizado para mantener archivos permanentes de las actividades, ya sean deportivas o educativas, ha sido infructuoso. 2.
(12) El Consejo desea mejorar en promoción y divulgación de las actividades que realiza, de manera que pueda lograr motivar más a los jóvenes a participar y poder incidir mejor en la comunidad. Con tal motivo desea gestionar mejor toda la información que maneja de las actividades a realizar, los deportes, los jugadores, los eventos deportivos, y dar facilidades de interacción con la comunidad.. Objetivo General Desarrollar un sistema computacional para el manejo de la información del Consejo de la Juventud y de los Deportes de Soufriere que permita un amplio acceso y divulgación de la misma a la comunidad a través de Internet.. Objetivos Específicos 1.. Profundizar en el estudio del negocio del Consejo de la Juventud y de los Deportes de Soufriere que nos permita modelarlo adecuadamente para ser implementado en un sistema informático.. 2. Diseñar una Base de Datos que garantice el almacenamiento y manipulación de la información necesaria en el negocio en un gestor de software libre.. 3.. Diseñar una interfaz Web que garantice las funcionalidades necesarias para la gestión de información del Consejo de la Juventud y de los Deportes de Soufriere.. 4. Implementar el sitio que integre los elementos anteriores usando un gestor de contenidos.. Preguntas de Investigación 1. ¿Qué componentes de una base de datos deben estar presentes para almacenar la información necesaria para el Consejo de la Juventud y de los Deportes de Soufriere? 2. ¿Qué funcionales deben ser incluidas en el sistema informático para garantizar reflejar el negocio del Consejo de la Juventud y de los Deportes de Soufriere?. Justificación de la investigación El consejo tiene la necesidad de estructurar y organizar la información que maneja en áreas de poder hacer una mejor gestión de la misma y poder divulgar con efectividad las actividades que 3.
(13) realiza en la comunidad, por lo que con este trabajo el consejo se beneficia tremendamente porque podrán tener un sistema informático que les facilite mayor organización a través del almacenamiento de los datos y la divulgación de las actividades del consejo, para lo cual contaran con una base de datos. El sitio Web obtenido puede aumentar la publicidad de las actividades del consejo y tendrán una relación más íntima con el público, el cual puede contribuir a los foros y participar en las encuestas. Todos los elementos anteriores no están disponibles en el estado actual de informatización de las actividades del Consejo. Este proyecto le da la posibilidad al Consejo de aumentar el nivel profesional en la manera en que se organiza y maneja sus asuntos y también para ganar más respeto de las personas que sirve.. Viabilidad y consecuencia de la investigación Se disponen de los recursos necesarios para llevar a cabo este desarrollo, a partir de la disponibilidad e interés de los miembros del Consejo en mejorar el manejo de su información y la divulgación de sus actividades y poseer los recursos computacionales de hardware y software que permiten obtener un producto de calidad. Este proyecto está planificado para de cuatro (4) meses aproximadamente de desarrollo y con un costo de realización bastante bajo. Como consecuencia de la realización de este proyecto se contará con un nuevo modelo del negocio integrado en el entorno web desarrollado.. 4.
(14) CAPÍTULO 1: EL NEGOCIO DEL CONSEJO DE LA JUVENTUD Y EL DEPORTE DE SOUFRIERE Y EL PAPEL DE LAS TECNOLOGIAS DE LA INFORMACIÓN Y LA COMUNICACIÓN (TIC) En este capítulo se aborda la historia, la política y los objetivos del consejo. También se abordan las herramientas y lenguajes de programación que serán empleados para dar una solución computacional.. 1.1 HISTORIA En 1980, el Ministerio de la Juventud y los Deportes de Santa Lucía decidieron desarrollar un sistema que sería responsable de programas de deportes en los principales poblados en el país y de la atención a la juventud. Como resultado de este empeño de este Ministerio se formó el Consejo de la Juventud y de los Deportes de Soufriere. El primer presidente del consejo era el Señor Edward Innocent y le siguieron hombres como Señor Michael Bob, Señor Michael Cazaubon (el presidente que dirigió por más tiempo), Señor Ken Patrick, Señor Prospere, Señor Reed, Señor Shaun Joseph, Señor Shawn Alcindor, Señor Anthony Robinson y el Presidente actual Señor Franklin Solomon.. En sus inicios el consejo tenía solo la posibilidad de organizar sus eventos en el campo de deportes de Old Trafford que se sitúa muy cerca del mar en el pueblo de Soufriere. Con el paso de los años y con la ayuda del Gobierno de Santa Lucía fue construido en el área de Palmiste/New Development de Soufriere un nuevo campo de deportes, así como dos canchas multipropósito y una cancha de baloncesto. La más reciente infraestructura adquirida por el consejo también con la ayuda del Gobierno de Santa Lucía es un mini estadio multipropósito con capacidad para alrededor de mil personas.. En 1985 el consejo organizó un programa de consolación para la juventud que tuvo tanto éxito que hizo que el Gobierno de Santa Lucía organizara lo que se conoce por el Consejo Nacional de la Juventud. El consejo era bien conocido por su organización de la carrera de relevo de batón que se corría en las calles y por organizar debates públicos sobre temas de interés comunitario, actividades que se han dejado de existir. Debido a los esfuerzos del consejo el pueblo de Soufriere es muy fuerte. en. las. diferentes. disciplinas. deportivas. como. el. fútbol,. cricket. y. netball.. 5.
(15) 1.2. LA POLITICA El Consejo de la Juventud y de los Deportes de Soufriere (Soufriere Youth and Sports Council) está dividido en cuatro partes: 1. La comisión ejecutiva. 2. La comisión permanente. 3. El cuerpo general. 4. Cualquier otro comité o sub comité que sea necesario por el consejo.. La comisión ejecutiva está formada por un presidente, vicepresidente, secretaria, secretaria auxiliar, tesorero, funcionario de las relaciones públicas, representante del suelo y dos fideicomisarios. La comisión permanente tiene tres divisiones: el comité consultivo y disciplinario, el comité cultural y educativo y el comité social y recaudación de fondos.. La mayoría del trabajo del consejo es planificar, ejecutar y divulgar actividades deportivas, educativas y culturales y para garantizar el éxito de esas actividades el consejo se reúne dos veces al mes. Los clubes, organizaciones y miembros del consejo que quiere solicitar los recursos del consejo como pelotas, balones, bates y otros tipos de equipamientos tiene que llenar un formulario y entregarlo al presidente, vicepresidente o a la secretaria.. Algunos objetivos del Consejo. • El objetivo general del consejo es unificarlos clubes, grupos y organizaciones, mientras se trabaja hacia la planificación, ejecución y promoción de todas las formas de actividades deportivas, educativas y culturales del consejo. • Coordinar y organizar las actividades del club como un medio de aumentar la cooperación entre los clubes y organizaciones. • Asegurar el desarrollo total y la participación en las actividades del Consejo. • Ayudar a clubes y organizaciones a establecer una estructura formal hacia su desarrollo y mantenimiento. • Desarrollar rasgos de disciplina, orgullo nacional, dignidad, autoestima, desarrollo de la juventud y deportividad entre los clubes y organizaciones. • Formular, enmendar e implementar reglas y regulaciones para gobernar correctamente y garantizar el eficaz funcionamiento de las actividades organizadas por el Consejo. 6.
(16) • Dar representación eficaz en la Fundación de Desarrollo Regional de Soufriere (Soufriere Regional Development Foundation), el Consejo Nacional de Juventud de Santa Lucia (St. Lucian National Youth Council), el Ministerio de Juventud y Deportes y otras asociaciones nacionales. • Aconsejar y actuar como un árbitro en caso de disputas o problemas que se levantan entre los afiliados del Consejo. • Asegurar la ayuda financiera del gobierno, y cualquier otra fuente legal de ingreso. • Asegurar que los equipamientos deportivos sean mantenidos por los comités respectivos. • Apoyar. la. colaboración. más. íntima. entre. organizaciones. no. gubernamentales,. organizaciones basadas en la comunidad y el sector comercial para la mejora de la juventud y los deportes en la comunidad. • Comprar y adquirir los recursos necesarios por actividades deportivas, educativas y culturales.. El consejo obtiene su fondo a través del patrocinio del sector privado, de la subvención anual del gobierno, de actividades de recaudación de fondos a través de derechos de registro y de los pagos anuales por los clubes afiliados. En este momento el consejo no tiene un patrocinador principal y por tanto tiene que buscar uno o varios cada vez que quiera organizar una actividad.. 1.3. LAS ACTIVIDADES DEL CONSEJO El Consejo de la Juventud y de los Deportes de Soufriere organiza actividades deportivas tales como básquetbol, futbol, cricket, netball entre otros. En el básquetbol participan solamente los séniores masculinos. El futbol ha sido el deporte más dominante ya que hay mucha más participación de los clubes. El futbol se juega en diferentes divisiones tal como sub-17, sub-21 y séniores. A nivel superior donde juega los séniores hay competencia para los dos géneros, el masculino y el femenino. El cricket tiene dos divisiones, el sub-19 y el sénior y solo el género masculino. El netball solo tiene un nivel de competencia y solamente el género femenino lo practica. Estas actividades deportivas no se organizan anualmente, sino cuando hay patrocinio.. Las actividades de ámbito no deportivo que el consejo organiza son programas de liderazgo de la juventud, debates de la juventud y ceremonias de premios. Estas actividades no son frecuentes en la comunidad ya que no tiene un calendario fijo y la divulgación de estas actividades es bastante bajo.. 7.
(17) El consejo no mantiene un registro de las estadísticas de los jugadores en los diferentes deportes que organiza. Debido a esto han ocurrido muchos problemas cuando el consejo tiene que elegir un equipo para representar el pueblo en algún deporte a nivel nacional.. En este momento el conocimiento público de los asuntos del consejo es muy bajo. Como resultado de esto, el consejo desea un sitio web que ayudará a elevar su popularidad tanto en la comunidad como en el país. La creación de un sitio web exitoso atraerá más patrocinio de las empresas locales y también de organizaciones internacional.. 1.4. LAS TECNOLOGIAS DE LA INFORMACIÓN Y COMUNICACIÓN Un sistema de información es un conjunto de componentes interrelacionados para recolectar, manipular y diseminar datos e información y para disponer de un mecanismo de retroalimentación útil en el cumplimento de un objetivo. Todos interactuamos en forma cotidiana con sistemas de información, para fines tanto personales como profesionales (Ralph M. Stair, 2000). Computadoras y sistemas de información no cesan de producir cambios en la manera de trabajar de las organizaciones. Vivimos inmersos en una economía de información. La propia información posee valor, y el comercio implica a menudo el intercambio de información más que de bienes tangibles. Los sistemas basados en computadoras son de uso creciente como medios para la creación, almacenamiento y transferencia de información. La tecnología de la información ha ejercido un profundo impacto en la sociedad, al grado de que hay quienes llaman a esta época la Era de la Información (Ralph M. Stair, 2000). La información es un conjunto de datos, generalmente ordenados y manipulados con el fin de apoyar la toma de decisiones o facilitar actividades de la organización. Posee un formato claro y definido, idealmente está orientada a un objetivo que beneficie directa o indirectamente a la organización (Giachetti). La comunicación es el proceso mediante el cual se puede transmitir información de una entidad a otra. Este proceso es importante porque le permite al ser humano formar grupos, formar objetivos, conocer costumbres y otras formas de convivencia con el objetivo de construir una cultura y posteriormente compartirla con los demás, y después expandir sus horizontes. Los procesos de comunicación son interacciones medidas por signos entre al menos dos agentes que comparten un mismo repertorio de signos y tienen reglas semióticas comunes. Actualmente las redes sociales se han convertidas en el medio más eficaz del tráfico de información. 8.
(18) Actualmente, las tecnologías de la información y comunicación se están desarrollando a una velocidad vertiginosa, causada por diversos grupos sociales, desde la educación hasta el campo laboral y los avances en el campo ingenieril. Estas tecnologías se presentan cada vez más como una necesidad dentro del contexto social donde los rápidos cambios, el aumento de los conocimientos y las demandas de una educación de alto nivel actualizada constantemente se convierten en una exigencia permanente. Es común dentro de nuestro alcance como encontrar sistemas tan avanzados que pueden posicionarnos geográficamente en relación con un lugar solamente con información satelital. También un nuevo campo como el de la Domótica donde podemos controlar nuestra casa por ejemplo a la distancia y mucho otros aspectos relacionadas con el avance de los software que a larga son la base estructural de la tecnología de la información y comunicación. Aunque sea algo ideal, en futuro no lejano podemos encontrarnos con sistemas tan complejos y avanzados que podremos decir que vamos caminando hacia una época virtual y sistemática dominada por la inteligencia artificial. El manejo de datos e informaciones constituye uno de los aspectos más importantes para cualquier organización contemporánea. El manejo de información abarca diferentes actividades como la recolección, almacenamiento, recuperación, difusión hacia lugares y personas indicadas, así como el uso que se hace para varias actividades dentro de una organización. Los sistemas que trabajan con elementos “informativos” (datos, documentos, objetos, información) se denominan sistemas de información (Ponjuan et al., 2004).. 1.4.1. World Wide Web. La World Wide Web (WWW) es una red de computadoras que sea capaz de intercambiar texto, gráficos, e información de multimedia vía la Internet (Bryan Pfaffenberger, 2004).. Una página Web es un sistema de documentos enlazados y accesibles a través de Internet, que pueden contener texto, imágenes, vídeos, etc. Un sitio Web es un grupo de páginas Web, generalmente comunes a un dominio de Internet.. Una aplicación con una capa de presentación elaborada para ser consumida desde un navegador Web, permite ser usada en cualquier sistema operativo, convirtiéndose en una aplicación multiplataforma que puede ser visualizada por cualquier número de computadoras a la vez y de 9.
(19) forma independiente. Trae consigo además, facilidad de uso, versatilidad y velocidad de interfaz (Yuen, 2003).. Un sitio web es una de los sistemas de información más fácil de implementar y por lo tanto será el sistema que se utiliza en este proyecto.. Hay varias formas de construir un sitio web interactivo, se puede comenzar a programar desde un editor como Notepad, buscar un diseño ya hecho y solamente agrega el contenido que hace falta o utiliza una plataforma como Drupal, Joomla o Symphony que suministran ciertas funcionalidades comunes y mecanismos para desarrollar las propias según la aplicación que se desea construir. En este trabajo se utilizará el gestor de contenidos (Content Management System – CMS) llamado Drupal.. 1.4.2. Drupal. Drupal es un gestor de contenido de código abierto. El término código abierto describe software cuyo código de fuente es disponible, más a menudo bajo ciertas condiciones, para usar o modificar, por usuarios u otros diseñadores, como les da la ganar. Un gestor de contenido es software que facilita la creación, organización, manipulación, y eliminación de información en forma de imágenes, documentos, escrituras, y el texto llano (o cualquier otra cosa) (Mercer, 2010).. El fundador de Drupal, Dries Buytaert, nació el 19 de noviembre 1978 en Bélgica, empezó a desarrollar Drupal casi por accidente entre 1998 and 1999. Mientras estaba estudiando en universidad él y sus amigos empezaron a explorar Internet inalámbrica y debido a que era necesaria mucha comunicación e intercambio de información sobre el proyecto LAN, Dries decidió a desarrollar un sitio de noticias. Después de graduado decidió registrar el sitio con el nombre dorpje pero hizo un error tipográfico y se registró con el nombre drop.org. Una vez drop.org se estableció en la Web, su público cambió cuando se empezó a hablar sobre las nuevas tecnologías de Web, como la moderación, sindicación, valuación, y la autenticación distribuida. Drop.org lentamente se convirtió en un ambiente de la experimentación personal, manejado por las discusiones y flujo de ideas. Las discusiones sobre estas tecnologías de Web estaban probadas en el propio drop.org como nuevas adiciones al software que ejecuta el sitio.. En enero de 2001, Dries decidió publicar el software detrás de drop.org como "Drupal." El propósito era permitir a otros usar y extender la plataforma de experimentación para que más personas pudieran explorar nuevos caminos para el desarrollo. El nombre Drupal, pronunciado 10.
(20) "droo-puhl", deriva de la pronunciación inglesa de la palabra holandés "druppel" que significa "gota" (Drupal.org, 2012a).. La misión de Drupal es desarrollar un gestor de contenido de código abierto de alta calidad que lleva a cabo el último pensamiento y las prácticas mejores en publicación de comunidad, mantenimiento de conocimiento, y diseño de software.. Los valores de Drupal según (Drupal.org, 2012b) son: • Flexibilidad, simplicidad, y utilidad en nuestro producto; • Trabajo en equipo, innovación, y franqueza en nuestra comunidad; • Modularidad, extensibilidad y mantenimiento en nuestro código.. Drupal no sólo es un gestor de contenido de código abierto, también es un framework de desarrollo de aplicaciones Web. La arquitectura extensible y flexible de Drupal puede usarse para cualquier tamaño de negocio incluso los trabajadores de cuenta propia, agencias, gobiernos, universidades, y empresas. La Casa Blanca, Digg, Sony Music, McDonald, y la Universidad de Stanford están usando Drupal para sus sitios (Poon, 2011).. La versión que se usa para este trabajo es Drupal 7, aunque ya existe la versión 8. Ha sido muchos cambios desde la primera salida de Drupal. Uno de los cambios más importantes es que antes Drupal 7 casi todo pedazo de contenido fue un nodo. Los nodos, comentarios, usuarios y términos de taxonomía fue objetos y no había ninguna manera fácil para compartir los campos como – campo de imágenes y campo de archivos.. 11.
(21) Figura 1 Diagrama de los objetos de datos en Drupal 6. Desde Drupal 7 “no todo es un nodo” sin embargo “todo es una entidad”. Nodos, comentarios, usuarios y términos de taxonomía son entidades. Drupal 7 introduce el concepto de entidades que trabajan como un pedazo central de una unidad de dato para agrupar todos los objetos y códigos para ser reproducido en lugares diferentes y racionalizar el flujo de trabajo. Con esta nueva herramienta poderosa no hace falta crear módulos para hacer algo que funcionar como nodos para tomar ventaja de los campos, solo podemos crear nuestras propias entidades y esta entidad hará uso completo de campos compartidos entre entidades (Poon, 2011).. 12.
(22) Figura 2 Diagrama de los entidades en Drupal 7 Entidades, como usado en Drupal, son contenedores de datos a que los campos pueden ser fijados y que puede ser utilizado por los APIs de Drupal (Poon, 2011).. Poco a poco Drupal ha sido creciendo en el mundo de los sistemas de gestor de contenidos y en los últimos años ha recibido el premio dos veces del mejor sistema de gestor de contenido.. Algunas ventajas que Drupal tiene encima de sus competidores son: • Es más potente • Adecuado para los sitios web grandes y con mucha información • La creación de una clasificación exhaustiva de los contenidos • Contiene muchas de las funcionalidades de redes sociales • Gran comunidad de desarrolladores • Posibilidades amplias de desarrollo • Muy bien documentado • Una gran comunidad de apoyo • Es muy flexible. 13.
(23) Sin embargo, según (Active24.es, 2011, Cañada, 2011) algunas desventajas de Drupal comparado con sus competidores son: • Requiere conocimiento avanzado de desarrollo de web y programación • Poco user-friendly (experiencia para el usuario débil) • Demasiado complejo por sus múltiples posibilidades. Para trabajar con la plataforma Drupal se necesita de una Base de Datos, en este caso es MySQL y será la que se utiliza en este trabajo para el almacenamiento de los datos y actividades de la organización.. 1.4.3. MySQL. MySQL es lo que se conoce como un gestor de Base de Datos (DBMS). El gestor decide cómo se guarda, se ordena y se recupera los datos, así como controla el acceso del usuario. Cada vez un usuario recupera los datos, anula los datos, o agrega más datos el DBMS trata la demanda. El usuario no puede acceder a los archivos de datos directamente, él sólo puede comunicarse con el DBMS. El gestor es una barrera que controla el acceso a los datos subyacentes (Norman, 2004). El gestor de base de datos MySQL se ha vuelto bastante popular en los años recientes. Esto ha sido sobre todo verdad en las comunidades de Linux y de código abierto, pero la presencia de MySQL en el sector comercial está aumentando también. MySQL es rápido, y es fácil de instalar, usar, y administrar, corre bajo muchas variedades de Unix y Windows, y pueden escribirse los programas en muchos idiomas. MySQL se usa sobre todo pesadamente en combinación con un servidor de web para construir sitios web que tiene como backend una Base de Datos que genera contenido dinámica.. El gestor de Base de Datos MySQL usa una arquitectura cliente/servidor que se centra alrededor del servidor: el mysqld. El servidor es el programa que realmente manipula la Base de Datos. Los programas del cliente no hacen eso directamente; más bien, ellos comunican su intento al servidor por medio de las consultas escritas en Structured Query Language (SQL). El programa o programas del cliente se instalan localmente en la máquina desde donde se desea acceder a MySQL, pero el servidor puede instalarse en cualquier parte, con tal de que los clientes puedan conectarse a él. Los clientes pueden ser escritos para muchos propósitos diferentes, pero cada uno actúa recíprocamente con el servidor, enviando las consultas de SQL para realizar operaciones en la base de datos, y recibiendo el resultado de la consulta de servidor (DuBois, 2002).. 14.
(24) Figura 3 Sistema de Cliente-Servidor. Figura 4 Solicitud de Cliente-Servidor El rasgo más raro e importante de MySQL es su arquitectura de máquina de almacenamiento (storage-engine), cuyo diseño separa el proceso de la solicitud y otras tareas del servidor de almacenamiento y recuperación de datos. Esta separación de preocupaciones permite escoger cómo se guarda los datos y qué rendimiento, rasgos, y otras características desea. La Figura 5 muestra una vista lógica de la arquitectura de MySQL. La capa más alta contiene los servicios que no son únicos a MySQL. Son los servicios que más necesitan las herramientas basado en redes de cliente/servidor o los servidores: el manejo de la conexión, autenticación, la seguridad, etc. La segunda capa es donde las cosas se ponen interesantes. Mucho de las inteligencias de MySQL están aquí, incluso el código para el análisis gramatical de la solicitud (query parsing), el análisis, optimización, caché, y todas las funciones incorporadas (por ejemplo, las fechas, horas, matemática, y encriptación). Cualquier funcionalidad proporcionó por las máquinas de almacenamiento vive a este nivel: procedimientos almacenados, triggers, y vistas, por ejemplo. La tercera capa contiene las máquinas de almacenamiento. Son responsables para guardar y recuperar todos los datos almacenados “en” MySQL. Como los varios sistemas de archivos disponibles para GNU/Linux, cada máquina de almacenamiento tiene sus propios beneficios y desventajas. El servidor comunica con ellos a través del API de la máquina de almacenamiento. Esta interfaz esconde las diferencias entre las máquinas de almacenamiento y los hace muy transparente a la capa de solicitud. El API contiene un par de docena funciones de bajo 15.
(25) nivel que realizan operaciones como “empieza una transacción” o “saque la fila que tiene esta llave primaria.” Las máquinas de almacenamiento no analizan el SQL o comunican entre sí; ellos simplemente responden a las demandas del servidor (Baron Schwartz, 2012).. Figura 5 Diagrama de una vista lógica de la arquitectura de MySQL. 1.4.4. PhpMyAdmin. PhpMyAdmin es una aplicación web escrito en PHP y contiene XHTML, CSS y JavaScript código cliente. PhpMyAdmin provee una interfaz Web completa para administra base de datos de MySQL y es ampliamente reconocido como el principal aplicación en este campo. El objetivo de PhpMyAdmin es ofrecer un gestor completo basado en Web del servidor y data de MySQL y para mantenerse al tanto de MySQL y la evolución de estándares de Web. Mientras que el producto no es perfecto, actualmente se incluye los rasgos más comúnmente solicitados. PhpMyAdmin ofrece rasgos básicos de base de datos MySQL y operaciones de tablas. También tiene un sistema relacional interna que mantiene meta data para soportar rasgos avanzadas. Administradores del sistema puede manejar usuarios y privilegios desde PhpMyAdmin (Delisle, 2009).. Los rasgos básicos según (Delisle, 2009) son: • La creación de base de datos, eliminación, cambio de nombre, y cambios del atributo • La creación de tablas, cambio de nombre, copiar, y eliminación 16.
(26) • Mantenimiento de estructura de tablas, incluso los índices • Operaciones especiales sobre tablas (reparación, optimización, y cambio de tipo) • La inserción de datos, la modificación, la eliminación • Despliegue de datos en modo horizontal/vertical, y vista de Impresión • Navegación de datos y ordenamiento • Subida de datos binario • Búsqueda de datos (tablas o base de datos) • Solicitaciones por el ejemplo (multitabla) • Gran descarga de datos (importación) • La exportación de estructura y datos en varios formatos, con compactación, • Instalación de multiusuario y multiservidor con configuración basado en la web. Los lenguajes de programación de alto nivel desempeñan un papel muy importante en el desarrollo de aplicaciones. En este trabajo se utiliza algunos de ellos, principalmente, Java, PHP, HTML, CSS y JavaScript.. 1.4.5. PHP. PHP es un acrónimo que significa PHP Hypertext Pre-processor (inicialmente PHP Tools, o, Personal Home Page Tools). Fue creado originalmente por Rasmus Lerdof en 1994; sin embargo la implementación principal de PHP es producida ahora por The PHP Group y sirve como el estándar de facto para PHP al no haber una especificación formal. Publicado bajo la Licencia de PHP, la Free Software Foundation considera esta licencia como software libre (Javier, 2009).. PHP es un código abierto, de lado servidor, HTML-integrado lenguaje de Web-scripting que es compatible con todos los servidores mayores de Web (el más notablemente apache). PHP permite que integre los fragmentos del código en las páginas del HTML normales—código que se interpreta cuando sus páginas se sirven a los usuarios. PHP también sirve como un lenguaje de “pegamento”, haciéndolo fácil de conectar sus páginas de Web a las bases de datos de lado servidor. Hablando estrictamente, PHP tiene poco de hacer con el diseño, eventos, la manipulación de DOM en forma rápida, o realmente cualquier cosa sobre como parece y suena una página. De hecho, la mayoría de lo que hace PHP es invisible al usuario final. Alguien mirando una página de PHP no necesariamente dirá que no era puramente escrito en HTML, porque normalmente el resultado de PHP es HTML (Morgan, 2004).. 17.
(27) Se eligió el PHP como lenguaje de programación por sus ventajas y utilidades y por ser el mejor complemento de MySQL para la creación de sitios WEB y porque es el lenguaje que se usa Drupal.. 1.4.6. HTML. HTML fue inventado por Tim Berners-Lee (1991) cuando estuvo trabajando como especialista en computadoras y en redes en un instituto de investigaciones científicas de Suiza (Bryan Pfaffenberger, 2004). HTML es la abreviatura de HyperText Markup Language, y es el lenguaje que todos los programas navegadores usan para presentar información en la World Wide Web (WWW). HTML consiste en un conjunto de símbolos que le dicen al Navegador Web cómo mostrar la página, dentro de este conjunto se encuentra uno que se utiliza para crear hipervínculos.. 1.4.7. JavaScript. JavaScript es un lenguaje de lado cliente de escritura que permite los autores de página Web desarrollar páginas de Web interactivas y sitios. Aunque JavaScript es considerado un lenguaje de programación, también es una parte crítica del diseño y escritura de página Web. Esto es porque el lenguaje JavaScript “vive” dentro de los elementos de una página Web. El lenguaje es relativamente fácil de aprender, permitiendo los que no saben programar rápidamente incorpora la funcionalidad de JavaScript en una página Web. De hecho, se usa extensivamente en las innumerables páginas Web que están disponibles en el World Wide Web. JavaScript es discutiblemente el lenguaje de programación ampliamente usada en el mundo (Gosselin, 2011).. 1.4.8. CSS. El propósito primario de Cascading Style Sheets (CSS) es estandarizar la apariencia del contenido de una página Web aplicando los estilos comunes a tales elementos como la fuente, los márgenes, posiciones, los colores y más. Cascading se refiere al orden en que los estilos diferentes son aplicados. CSS es una alternativa popular para codificar los elementos de estilo en páginas Web (Gary B. Shelly, 2009).. La separación de los contenidos y su presentación presenta numerosas ventajas, ya que obliga a crear documentos HTML/XHTML bien definidos y con significado completo (también llamados “documentos semánticos”). Además, mejora la accesibilidad del documento, reduce la complejidad de su mantenimiento y permite visualizar el mismo documento en infinidad de dispositivos diferentes. Mientras que el lenguaje HTML/XHTML se utiliza para marcarlos contenidos, es decir, para designarlo que es un párrafo, lo que es un titular o lo que es una lista de elementos, el lenguaje CSS se utiliza para definir el aspecto de todos los contenidos, es decir, el color, tamaño y tipo de 18.
(28) letra de los párrafos de texto, la separación entre titulares y párrafos, la tabulación con la que se muestran los elementos de una lista, etc. (Pérez, 2007).. 19.
(29) CAPÍTULO 2: ANALISIS Y DISEÑO DEL SISTEMA Ingeniería de Web es el establecimiento y uso de principios científico, ingeniería y manejo fuerte y disciplinado y enfoques sistemáticos al desarrollo exitoso, utilización y mantenimiento de alta calidad de los sistemas y aplicaciones basados en Web (San Murugesan, 2001). Los métodos de la modelación web son dirigidos por la separación de preocupaciones que describen un sistema web, como el contenido, la estructura del hipertexto, la presentación, y los procesos. El método de la Ingeniería Web basado en UML (UML-based Web Engineering - UWE) proporciona un conjunto de los elementos modelos de dominio web-específicos para la modelación de estas preocupaciones diferentes. Estos elementos modelos y las relaciones entre ellos se especifica por un metamodel. El metamodel de UWE está definido como una extensión conservativa del metamodel UML 2.0. Conservativa significa que los elementos modelos del metamodel UML no son modificados. En cambio, todos los nuevos elementos modelos del metamodel de UWE están relacionados por herencia a por lo menos un elemento modelo del metamodel de UML (Christian Kroiß, 2011). El UML es un lenguaje modelado visual que permite a constructores de sistemas crear cianotipos que capturan sus visiones en una norma, una manera fácil-a-entiende, y proporciona un mecanismo para compartir eficazmente y comunicar estas visiones con otros (Schmuller, 2006). UWE (UML-based Web Engineering) es un diseño de la ingeniería para proporcionar una notación del dominio específico, un proceso de desarrollo dirigido por modelo y una herramienta de apoyo para el dominio de web. Una de las razones principales este modelo es basado en UML, es debido a la aceptación de UML en la industria y ciencia así como su flexibilidad, haciéndolo, posible de definir lo que llamó los perfiles de UML. Los perfiles son las extensiones por personalizar los modelos de UML para adaptar al dominio especial en el que se usan. El perfil de UWE introduce cinco nuevas vistas en el proyecto para ayudar el diseñador diseñe una aplicación web. Estas vistas cubren aspectos diferentes de un proyecto de web: Primero, hay el modelo de contenido que lista todas las clases usado en el proyecto. Luego, el modelo de navegación representa las relaciones (los hipervínculo) entre los diferentes nodos (las partes del sitio web). El modelo de la presentación define el diseño estructural y elementos especiales de HTML como los formularios para el sitio web. Los últimos dos modelos tratan de los procesos diferentes de la aplicación web: el modelo de estructura de proceso describe la relación entre las diferentes clases del proceso y el modelo de flujo de proceso especifica las actividades que conectaron con cada clase de proceso (Cullmann).. 20.
(30) 2.1 Requisitos Los requerimientos (o requisitos) de un sistema son la descripción de las necesidades o deseo de un producto. La meta primaria de la fase de requerimientos es identificar y documentar lo que en realidad se necesita, en una forma que claramente se lo comunique al cliente ya los miembros del equipo de desarrollo (Larman, 1999).. 2.1.1. Propósito. El propósito de este documento es identificar el alcance de los requisitos y de las restricciones del sistema para proporcionar herramientas que permitan desarrollar el sistema de una forma clara y precisa. La funcionalidad del sitio se basa principalmente en la interacción del pueblo con el consejo y la gestión de jugadores del pueblo. Esta interacción permitirá un mejor conocimiento y participación en las actividades que se organiza el consejo y la gestión de jugadores permitirá una mejor selección de jugadores para representar el pueblo.. 2.1.2. Alcance. El comunitario web brindará un servicio especial a la comunidad dándolos la posibilidad de comunica con sus compañeros a través de los foros donde pueden compartir sus vistas e ideas en las diferentes áreas que les afectan. También el comunitario web da la posibilidad de conocer todo de lo que está pasando en el pueblo con respecto a la juventud y los deportes y buscar información sobre sus jugadores favoritos.. Por medio de la base de dato los administradores será capaz de organizar sus informaciones en una forma clara y precisa.. 2.1.3. Resumen de características. Beneficios del cliente: • Facilidad de gestionar los datos recogidos de un juego. • Facilidad de publicar reportes y noticias importantes. • Gestionar reportes con los datos de la base de datos. Características que lo apoyan: • Sitio web desde la cual poder realizar el ingreso de datos. 21.
(31) • Sitio web interactiva • Base de datos centralizada con la información recogida de los juegos.. 2.1.4. Determinación de los requisitos. Para la realización de este sitio se han tomado en cuenta los requerimientos que el consejo ha dispuesto para que el sitio sea interactivo y para la recolección de datos. El sitio tiene los siguientes elementos: • Blog • Foro • Encuestas • Módulos que permite la adición, modificación y eliminación de data de la base de datos. • Un formulario de búsqueda que permite la búsqueda de jugadores. 2.1.5. Restricciones. • La validez de los datos ingresados, así como el manejo de los mismos es responsabilidad de los administradores de estadísticos. • La validez de las publicaciones, comentarios, blogs y discusiones del foro, así como el manejo de los mismos es responsabilidad de los gerentes de contenido, bloggers y administrador del foro.. 2.2 Actores y caso de uso del sitio El caso de uso es un documento narrativo que describe la secuencia de eventos de un actor (agente externo) que utiliza un sistema para completar un proceso. Los casos de uso son historias o casos de utilización de un sistema; no son exactamente los requerimientos ni las especificaciones funcionales, sino que ejemplifican e incluyen tácitamente los requerimientos en las historias que narran (Larman, 1999).. Los actores del sistema son: • Administrador • Blogger • Gerente de Contenido • Gerente de Foro 22.
(32) • Gerente de Estadísticas • Usuario Registrado • Usuario No Registrado. 2.2.1. Sistema de registro y autenticación. El sistema cuenta con un mecanismo de registro y autenticación. Los usuarios no registrados tienen que registrarse si quieren navegar dentro el sitio como un usuario registrado con más funcionalidades disponibles. Una vez que sean usuarios registrados pueden cambiar su contraseña, modificar y eliminar su cuenta.. Figura 6 Diagrama de caso de uso del sistema de registro. 2.2.2. Sistema de publicación de contenido. El usuario no registrado solo puede leer los contenidos. El usuario registrado puede leer, votar y hacer comentarios sobre los contenidos. El gerente de contenido es responsable de crear, editar, publicar y eliminar contenido. En el momento de crear contenido el gerente de contenido puede publicarlo o publicarlo más tarde. El administrador puede hacer todo que hacer el gerente de contenido.. 23.
(33) Figura 7 Diagrama de caso de uso del sistema de publicación de contenido. 2.2.3. Sistema de blogging. El usuario no registrado solo puede leer los blogs. El usuario registrado puede leer y hacer comentarios sobre los blogs. El blogger es responsable de crear, editar, publicar y eliminar blogs. En el momento de crear un blog, el blogger puede publicarlo o atrasar su publicación para más tarde. El administrador puede hacer todo que hace el actor blogger.. Figura 8 Diagrama de caso de uso del sistema de blogger 24.
(34) 2.2.4. Sistema de foro. El gerente de foro es responsable para administrar el foro. Él puede crear, editar y eliminar secciones, también puede crear, editar y eliminar los temas del foro. Los usuarios no registrados solo pueden visitar el foro. Los usuarios registrados pueden crear tema, pero solo pueden editar y eliminar sus propios temas.. Figura 9 Diagrama de caso de uso del sistema de foro. 2.2.5. Sistema de estadística. El gerente de estadísticas es responsable para añadir, eliminar y editar los datos en la base de datos. Los usuarios no registrados y los usuarios registrados pueden hacer búsquedas para un jugador y también pueden ver algunas tablas de estadísticas.. 25.
(35) Figura 10 Diagrama de caso de uso para el sistema de estadística. 2.2.6. Acciones especiales del administrador. El administrador tiene muchas responsabilidades, no solo hacen todo que hace los de demás usuarios sino que pueden hacer mucho más, por ejemplo, administrar el sitio que incluye: manejo de los módulos, manejo del configuración del sitio, manejo de los tipos de contenido, la presentación del sitio etc., gestionar roles, gestionar usuarios que incluye: asignar roles a los usuarios.. Figura 11 Diagrama de caso de uso del Administrador 26.
(36) 2.3 Modelo de contenido El modelo de contenido se usa para representar los conceptos del dominio que son pertinente para que la aplicación web sea construida y las relaciones entre ellos (Marianne Busch).. Los elementos de contenido se especifican usando UML y utilizan la representación UML del diagrama de clase, que contiene clases, atributos, asociaciones, relaciones de herencia, clases de asociación, y otros elementos de modelo de UML.. El modelo de contenido se utiliza para transferir a un modelo la información y los requisitos funcionales obtenidos por la ingeniería de requisitos. El carácter del hipertexto de una aplicación Web y los requisitos de su presentación no será considerado en este esfuerzo. El modelo de contenido produce un modelo que puede constar de ambos aspectos: los estructurales del contenido, por ejemplo, diagramas de clase, y, dependiendo del tipo de aplicación Web, los aspectos conductuales, por ejemplo, diagramas de estado y diagramas de la interacción (Wieland Schwinger).. La clase SYSC (Figura 12) representa la página principal del sitio que está formado por noticias, imágenes, blogs, temas de foros y comentarios más recientes, incluyendo la encuesta y un bloque que muestra las personas que están en línea. La clase Club representa la página del club dónde muestra la información de los clubes que incluyen su logo, información sobre el club, tabla de estadísticas, enlaces y una etiqueta que se enlaza a las noticias sobre el club. Las clases Sport, Youth, Project y Blog representan las páginas de los deportes, la juventud, los proyectos y los blogs respectivamente donde contienen enlaces, imágenes, textos, etc. La clase Forum representa la página del foro y contiene enlaces y textos. La clase Statistics representa la página de estadística y contiene enlaces a ciertas tablas y también contiene un campo para la búsqueda. La clase SearchResult es el resultado de la búsqueda y la clase Player tiene relación de una composición con la clase SearchResult. La clase Player contiene foto, información y estadísticas.. 27.
(37) Figura 12 Diagrama de contenido para el sitio web.. 2.4 Modelo de usuario El modelo de usuario o contexto implementado para el sitio se conoce como modelo de roles, el cual es un caso especial de modelo de usuario en el que las características del grupo del usuario se definen con el propósito de control de autorización y acceso. Muy a menudo se integran el modelo de contenido y usuario (Marianne Busch).. En el diagrama de roles (Figura 13) puede apreciar que todos los usuarios importantes tiene que ser usuarios registrados y el administrador tiene el permiso de todos los roles.. 28.
(38) Figura 13 Diagrama de roles que muestra los actores de sitio web. 2.5 Modelo de navegación La estructura del hipertexto esta descrito usando un diagrama de navegación que consiste en un conjunto de nodos y enlaces. UWE distingue entre los diferentes tipos de nodos, como la clase de navegación, menú, índice y consulta.. El objetivo del modelo de hipertexto - también conocido como modelo de navegación - es especificar la navegabilidad a través del contenido de una aplicación de Web, es decir, los caminos de navegación disponibles a los usuarios. El modelo de hipertexto genera un resultado del dospliegue: Primero, produce el modelo de estructura de hipertexto, también conocido como modelo de estructura de navegación que define la estructura de hipertexto, es decir que las clases del modelo de contenido puede ser visitado por la navegación. Segundo, se refina el modelo de estructura de hipertexto por los elementos de acceso en la forma de un modelo de acceso. El modelo hipertexto se enfoca en los aspectos estructurales del hipertexto y los elementos de acceso. El comportamiento de navegación de una aplicación Web normalmente no se representa explícitamente, porque se provee muy poca información adicional para el diseñador (Wieland Schwinger).. 29.
(39) Los elementos de acceso se definen por UWE son índices (index), camino guiados (guided tour), consultas (query) y menús (menu). Un índice es una estructura de acceso que permite a los usuarios seleccionar un solo objeto (es decir un objeto del contenido) en una lista homogénea de objetos. En el contrario, un menú les permite a los usuarios acceder los nodos heterogéneos, o los menús extensos (es decir el submenús). Otras estructuras de acceso son el camino guiado y la consulta. Un camino guiado permite los usuarios atravesar varios nodos secuencialmente. Una consulta permite a los usuarios buscar por nodos.. Figura 14 Diagrama de nombres y símbolos estereotipos de la clase de navegación de UWE En la diagrama de navegación que se encuentra en el anexo 1 se muestra la estructura del hipertexto del sito. Empezando con la página principal puede salir, acceder al menú principal que tiene enlaces a los nodos de proyectos, blog, foro, about us, clubes, deportes y estadísticas. Cada nodo tiene su índice y el nodo de estadística tiene una consulta para buscar jugadores.. 2.6 Modelo de proceso El modelo de proceso apunta a representar el volumen de trabajo que se invoca de ciertos nodos de navegación (Marianne Busch).. El proceso de registración (Figura 15) se compone de algunas informaciones del usuario como su correo, nombre, contraseña y username. El proceso de login se compone de las informaciones necesario para participar en el sitio. El proceso de cuenta se compone de todas las informaciones de un usuario que sean importante. En algunas páginas los usuarios pueden hacer comentarios y eso se define como un proceso.. 30.
(40) Figura 15 Diagrama de Estructura de Proceso El diagrama de flujo de proceso o diagrama de actividad (Figura 16) define el comportamiento de un proceso. Se muestra el diagrama de actividad para registración. Hay dos diferentes tipos de acciones; acciones del usuario para modelar la entrada del usuario y acciones del sistema que represente las acciones dentro de la aplicación.. Figura 16 Diagrama de Flujo de Proceso de Registración. 31.
(41) 2.7 Modelo de presentación Similar a tradicional ingeniería de software, el modelo de presentación trata con la interfaz de usuario y así con el look and feel de una aplicación Web. En contrario a las aplicaciones tradicionales, el elemento central de la presentación en las aplicaciones Web es la página como una unidad de visualización. El modelo de presentación se apunta a diseñar la estructura y comportamiento de la interfaz del usuario para asegurar esa interacción con la aplicación Web es simple y auto explicativo. Además, se tienen en cuenta la tarea de comunicación y representación de la aplicación Web. El modelo de presentación genera un resultado de dos-pliegue: Primero, produce un concepto uniforme de la presentación, modelando elementos recurrentes en las páginas, ej., headers y footers. Debe mostrar idealmente la composición de cada página y el diseño de los campos, los textos, las imágenes, los formularios, etc., incluido en estas páginas. Segundo, además, a la estructura de las páginas, el modelo de presentación describe los aspectos orientado a comportamiento de la interfaz de usuario, por ejemplo cual botón para hacer clic para activar una función de lógica de la aplicación (Wieland Schwinger).. El diagrama de presentación (Figura 17) muestra el esquema de la página principal. El menú principal está compuesto por varias anclas (anchors). Abajo del menú principal es la región principal que está formado por un rotating banner y cuatro secciones de un panel. El primero genera los blogs más reciente, el segundo los últimos temas del foro, la tercera la encuesta más reciente, y la última sección está dividido en dos partes, en la primera parte muestra los eventos venidero y los comentarios más recientes. En el lado izquierdo hay el menú de usuario y en el lado derecho hay tres bloques, uno que genera noticias más recientes, uno que genera imágenes y el otro que muestra usuarios en línea.. 32.
(42) Figura 17 Diagrama de Presentación de la página principal. 2.8 Diagrama de la base de datos La base de datos está compuesta por tablas que guarda información sobre los jugadores, entrenadores, clubes, oficiales, horarios de los juegos de cada tipo de deporte, resultados de los juegos y las estadísticas de los juegos. Se guarda información de cuatro deportes, cricket, fútbol, básquetbol y netball. La tabla de juego de básquetbol, fútbol y netball tiene seis triggers cada uno, uno para insertar después (INSERT AFTER), uno para modificar después (UPDATE AFTER) y el otro para eliminar después (DELETE AFTER). La tabla de juego de cricket tiene dieciocho triggers, nueve para los jugadores y nueve para los clubes. Esos triggers insertan, modifican y eliminan datos de las tablas de carreras. Cada vez que el administrador haga alguna acción sobre esta tabla, el trigger se arranca y hace los cambios necesarios en las tablas de carrera del jugador y del club. Al entrar datos en algunas de las tablas el administrador tiene que estar seguro que la información como la dirección del jugador, el jugador, el club, el manager y el oficial ya existen en las tablas que les corresponde. Si estas informaciones no están en las tablas entonces será imposible añadir y modificar. Está restricción es porque existe llaves extranjeras en el base de datos. En las figuras siguientes se muestran las relaciones entre las tablas del deporte fútbol. El diseño completo de la base de datos se encuentra en el anexo 2. 33.
(43) Figura 18 Diagrama que muestra la relación de un jugador del fútbol y su club. Antes de insertar un jugador es necesario que la dirección del jugador y el club del jugador ya existan en la tabla. La relación entre la tabla de jugador de fútbol y dirección es uno a mucho. Un jugador puede tener un solo dirección que es su dirección actual, las direcciones anteriores no se guarda en la base de dato. Una dirección puede pertenecer a más que un jugador. La relación entre la tabla de jugador de fútbol y la tabla del club es mucho a mucho, por lo tanto existe otra tabla que guarda el id del jugador y el id del club más la fecha que comienza a jugar para este club como la llave primaria.. En la figura siguiente se muestra las tablas necesarias para guardar información de un juego de fútbol. Primero deben existir ya los clubes y los jugadores en las tablas que corresponde. La tabla del horario es muy importante porque los demás tablas hacen referencia a él. Esta tabla guarda información como que clubes van a jugar, cuando van a jugar, donde van a jugar y quiénes son los oficiales para este juego. La tabla de football__league__results guarda información sobre el resultado de cada partido. Las tablas que guardan información de los jugadores y de los clubes que participan en un partido son. respectivamente:. football__league__player__matchstats. y. football__league__club__matchstats.. 34.
(44) Figura 19 Diagrama que muestra la relación entre las tablas necesarias para guardar las detalles de un juego de fútbol. 2.9 Diagrama de despliegue Un diagrama de despliegue muestra como los artefactos son desplegados en el hardware del sistema, y como los pedazos de hardware conectan entre sí. El elemento principal de hardware es un nodo, un nombre genérico para un recurso de computación (Schmuller, 2006).. El primer nodo representa el servidor de base de datos que es el servidor de mysql y los base de datos que utilizan el sistema son el base de datos de sysctest que almacena los datos del sitio y el base de datos de stats que almacena los datos del juegos que organiza el consejo. El segundo nodo representa el servidor web que es apache y el software de Drupal se ejecuta sobre este servidor web. El último nodo representa el navegador que reside en el lado del cliente. Los usuarios aceden al sitio desde un navegador.. 35.
(45) Figura 20 Diagrama de despliegue. 36.
Figure
Documento similar
El sistema a desarrollar estará integrado al buscador CubaSearch y permitirá a los usuarios del mismo ver anuncios publicitarios relacionados con sus criterios de búsqueda y
El portal de la FEU pretende hacer uso de un Sistemas de Gestión de Contenidos, para publicar sus artículos y noticias, crear vínculos a otra Web, estos sistemas actualmente son
Descripción Permite a un usuario publicar una información, subir una información perteneciente a un tema dentro de un contenido que esté creado en la aplicación1. Muestra
Para llevar un control de las acciones realizadas por los usuarios que interactúan con la BD se creó un grupo de tablas que funcionan como un historial donde se guardan todas
Nombre Tarea: Diseño de la interfaz Insertar Proyectos del Profesor Tipo de Tarea : Desarrollo Puntos Estimados: 1 Fecha Inicio: 8/4/09 Fecha Fin: 8/4/09
Para lograrlo se ha hecho un estudio de los Gestores de Contenidos Empresariales (ECM) y herramientas o aplicaciones para la realización de una interfaz
Es con este propósito que el presente trabajo de diploma expone el desarrollo de un servicio web, utilizando para ello las capacidades que brinda el Alfresco con sus herramientas
Para recibir todos los números de referencia en un solo correo electrónico, es necesario que las solicitudes estén cumplimentadas y sean todos los datos válidos, incluido el