Módulos para la gestión de contenidos en los núcleos temáticos del entorno Web UniversiMat, versión 2 2
90
0
0
Texto completo
(2) Dedicatoria A mis padres por todo el amor y el apoyo que me han brindado. A mi novio por permanecer conmigo en todo momento. Grettel. A mis padres por tanto amor y dedicación. A mi hermana por su confianza y cariño. Naylet.
(3) Agradecimientos. A mis padres, por ser mis guías, mi inspiración a seguir adelante y luchar por mis sueños, por tener tanta paciencia y por convertirme en una mejor persona cada día porque a ustedes les debo lo que soy, GRACIAS. A mi novio Yariel por apoyarme siempre, por ser tan especial conmigo, por brindarme tanto amor y dedicación. A toda mi familia en general, que aunque algunos están lejos hicieron lo posible por ayudarme. A la familia de mi novio por haberme dado la oportunidad de ser parte de ella. A mi padrino Tito, Maida, Miguelin y el resto de la familia gracias por todo lo que hicieron por mí y por ese apoyo incondicional que me brindaron cuando más lo necesitaba. A mis compañeros de estudio por exhortarme a seguir adelante y luchar entre todos juntos a cumplir nuestras metas. A Jessica, Claudia, Yailen, Alejandro, Rosmery, Ferna, en fin a todas mis amistades, siempre estarán en mis recuerdos. A mi compañera Naylet, fue un verdadero placer haber realizado esta tesis contigo, gracias por hacerme reír en los momentos difíciles, la verdad que sin ti no lo hubiese logrado. A mis tutores por la ayuda y el apoyo que nos brindaron. A todos aquellos que me brindaron su apoyo de una u otra forma les estaré agradecida hoy, mañana y siempre. Grettel.
(4) Agradecimientos. A mi abuela, a mis padres y a mi hermana por apoyarme siempre, por ayudarme a levantarme en cada momento, por su confianza y fe en mí.. A mi hermana, por estar siempre junto a mí, por ser la hermana más buena del mundo, y brindarme todo su apoyo y ayuda. A mi sobrino, por existir y brindarme su cariño en todo momento. A toda mi familia en general, que aunque algunos estuvieron lejos de una forma u otra siempre me dieron su apoyo. A mis amigos de ayer, de hoy y los amigos de toda la vida, especialmente a Veronica, Analaura, Loraine y Julio Cesar por su apoyo incondicional. A mis compañeros de aula, en especial a mi compañera de tesis Grettel. A todas aquellas personas que he conocido y con las que he compartido estos 5 años de universidad, aquellas que siguieron y otras que no están pero que nunca olvidaré.. Naylet.
(5) Resumen Una sociedad será más eficaz, eficiente y competitiva en la medida que aplique la informatización en todas sus esferas y procesos. La preparación de las nuevas generaciones en la utilización de las Tecnologías de la Información y las Comunicaciones y el uso de éstas para aumentar la calidad del proceso docente educativo son elementos que buscan asegurar el futuro de la Revolución. En la Facultad de Matemática, Física y Computación de la Universidad Central “Marta Abreu” de Las Villas (UCLV) se trabaja en la informatización. de. todos. los. procesos. universitarios,. requerimiento. indispensable para evolucionar a los nuevos métodos de enseñanza y aprendizaje. En este trabajo se presenta una aplicación Web para favorecer el aprendizaje de la Matemática en todas las carreras técnicas, económicas y agropecuarias estudiadas en la UCLV. Sus contenidos son gestionados utilizando el Sistema Manejador de Contenidos Joomla, con un enfoque participativo y empleando las tendencias del desarrollo de la web actual como son las tecnologías AJAX. Se brinda la posibilidad a todos sus usuarios de convertirse en entes activos de su formación, así como compartir sus creaciones, influyendo positivamente en el aprendizaje de otros..
(6) Abstract A society will be more effective, efficient and competitive to the extent it applies computerization in all its areas and processes. The preparation of the new generations in the use of Information Technologies and Communications (ICT) and their use to increase the quality of the educational process are elements that seek to ensure the future of the Revolution. The Faculty of Mathematics, Physics and Computer Science of the Central University "Marta Abreu" of Las Villas (UCLV) is working on the computerization of all the university processes, requirement needed to evolve in the new methods of teaching and learning. In this work we present a Web application to promote the learning of mathematics in all the technical and economical careers studied at UCLV. Its contents are managed using the Joomla Content Management System, with a participatory approach and using development trends of the current web like the AJAX technologies. The website gives to all the users the possibility of becoming active entities of their training and share their creations, positively influencing the learning of others..
(7) Tabla de contenidos Resumen...................................................................................................................................... 5 Abstract ........................................................................................................................................ 6 Introducción ................................................................................................................................. 1 Capítulo 1. Fundamentos teóricos de la utilización de tecnologías web para favorecer el proceso de enseñanza-aprendizaje. ................................................................................... 6 1.1 Metodologíasde Desarrollo de Software ...................................................................... 6 1.1.1 El Proceso Unificado de Desarrollo de Software (RUP) .................................... 6 1.1.2 ¿Por qué se escogió el Proceso Unificado de Desarrollo de Software (RUP)? ............................................................................................................................................... 8 1.2 Herramientas de Modelado ............................................................................................ 9 1.2.1 El Lenguaje Unificado de Modelado como soporte de la modelación. ........... 9 1.2.2 Herramienta para la modelación UML. ............................................................... 12 1.3 Sistema manejador de contenidosy su integración con otras tecnologías. .......... 12 1.4 Tendencias y Tecnológicas Actuales de la web 2.0................................................. 15 1.4.1 Comparación de la web 2.0 con la Web Semántica ......................................... 15 1.4.2 Rasgos distintivos de la web 2.0. ......................................................................... 16 1.4.3 Características, componentes y tecnologías de la web 2.0............................. 16 1.4.4 Los retos que impone la Web 2.0, sus ventajas y desventajas. ..................... 18 1.5 Tecnologías y lenguajes de programación utilizadas para el desarrollo de entornos Web. ....................................................................................................................... 18 1.5.1 Tecnologías actuales que favorecen la eficienciadeuna página web. ........... 20 1.5.2 Sistema Gestor de Bases de Datos (SGBD). .................................................... 23 1.6 Patrón de diseño modelo vista controlador (MVC) ................................................... 24 Capítulo 2. Análisis y diseño del sistema UniversiMat. ...................................................... 27 2.1 Actores del sistemaUniversiMat. ................................................................................. 27 2.2 Especificación de los Requerimientos ........................................................................ 28 2.2.1 Requisitos Funcionales.......................................................................................... 28 2.2.2 Requisitos No Funcionales .................................................................................. 30 2.3 Modelación de los casos de uso del sistema. .......................................................... 31 2.3.1Diagramas de Casos de Uso del Sistema. .......................................................... 32 2.3.4Descripción de los casos de uso del sistema. .................................................... 34 2.4 Arquitectura de Joomla. ............................................................................................ 39 2.4.1 Arquitectura del Sistema ....................................................................................... 40 2.5 Tratamientos de excepciones y seguridad del sistema. .......................................... 40 2.6 Modelo de Componentes. ............................................................................................ 41.
(8) 2.7 Diagrama de despliegue ............................................................................................... 42 2.8 K2 componente de contenido para Joomla utilizado en la solución del entorno UniversiMat............................................................................................................................ 43 Capítulo 3. Solución implementada alEntorno UniversiMat. ............................................. 46 3.1 ¿Cómo funciona el uso de AJAX en el entorno UniversiMat? ................................ 46 3.2 Tipos de servicios que ofrece el entorno UniversiMat. ............................................ 47 3.3. Aplicación UniversiMat Web 2.2 ............................................................................ 49. 3.3.1 Buscar Contenido. .................................................................................................. 49 3.3.2 Graficar funciones. .....................................................Error! Bookmark not defined. 3.3.3 Gestionar usuarios y permisos. ........................................................................... 50 3.3.4 Gestión de contenidos. .......................................................................................... 53 3.3.5 Chat UniversiMat .................................................................................................... 55 3.4 Pruebas realizadas al entorno UniversiMat ............................................................... 56 3.4.1 Técnicas de pruebas de software ........................................................................ 57 3.4.2 Estrategia de prueba de software ........................................................................ 60 Conclusiones ............................................................................................................................. 67 Recomendaciones .................................................................................................................... 68 Anexos ....................................................................................................................................... 69 Referencias Bibliográficas ....................................................................................................... 81.
(9) Introducción Introducción Las tecnologías en la actualidad se encuentran en constante cambio para satisfacer las necesidades de todas las esferas de la sociedad. Su uso organizado y creativo proporciona herramientas con el fin de lograr cada vez más eficiencia en todos los procesos y por consiguiente mayor aumento en la calidad de vida de los seres humanos. Los procesos de enseñanza y aprendizaje a lo largo de la historia son fundamentales para el progreso de la humanidad, por lo cual deben estar vinculados con las tecnologías del mundo actual, con el propósito de hacer llegar los conocimientos de una forma más objetiva y concreta a todos los niveles. Hoy en día el uso de las computadoras se ha hecho indispensable por lo que ha sido necesario crear nuevos métodos de enseñanza que estén dirigidos a lograr una dimensión profundamente humana y centrada en alcanzar aprendizajes diversos, aprovechando así las posibilidades que brindan las mismas. La terminología de las TICs, (Tecnologías de la Información y las Comunicaciones), es coincidente en casi todo el mundo. Se puede afirmar que este término se refiere a las múltiples herramientas tecnológicas dedicadas a almacenar, procesar y transmitir información, haciendo que ésta se manifieste en sus tres formas conocidas: texto, imágenes y audio. (Martínez, 01/09/2009) El desarrollo de las TIC ha facilitado la evolución de nuevos métodos de enseñanza con el propósito de que sea más interactiva, y se pueda acceder a cualquier información de la forma más eficiente y rápida posible. Teniendo en cuenta este planteamiento, en (UNESCO, 2013) se cita: “Hoy más que nunca, la llegada de la economía del conocimiento plantea la necesidad de dar mayor prioridad a la calidad de la educación, al aprendizaje a lo largo de la vida y a la igualdad de oportunidades para todos. Una sólida política sobre uso de TIC en educación tiene un efecto multiplicador a lo largo de todo el sistema educativo, ya que pone énfasis en el aprendizaje y permite a los estudiantes adquirir nuevas competencias; facilita y mejora la formación docente; minimiza los costos asociados con la provisión de enseñanza. En el análisis final, todo esto 1.
(10) Introducción se traduce en un mejor nivel general de logro educativo y resultados de aprendizaje”. Con el progreso de las tecnologías en los últimos años se facilita el proceso de aprendizaje, se desarrollan habilidades y conocimientos, destacándose las relacionadas con la creación de aplicaciones Web. Una aplicación Web es un sitio Web que contiene páginas con contenido sin determinar, parcialmente o en su totalidad. El contenido final de una página se determina sólo cuando el usuario solicita una página del servidor Web. Dado que el contenido final de la misma varía de una petición a otra en función de las acciones. del. visitante,. este. tipo. de. página. se. denomina. página. dinámica.(Mateu, 2004) Ellas posibilitan una comunicación activa entre el usuario y la información. Esto permite que el usuario acceda a los datos de modo interactivo, gracias a que una página web responderá a cada una de sus acciones. El manejo de estas aplicaciones. web. considerablemente el. resulta. de. mucha. utilidad. ya. que. disminuye. tiempo en la realización de cualquier operación; son. multiplataforma, portables y poseen una alta disponibilidad. Como consecuencia se han creado comunidades de desarrollo de software para las aplicaciones web que han aumentado los lenguajes script como PHP, JavaScript y Hojas de Estilos en Cascada (CSS, por sus siglas en inglés). Se ha desarrollado Marcos de Trabajo (bibliotecas de código, llamadas Framework en inglés) especializado en ramas del conocimiento, que permiten crear soluciones de software sin necesidad de construirlas partiendo de cero. Han surgido Sistemas Manejadores de Contenido (CMS, por sus siglas en inglés) que facilitan, entre otras opciones, la gestión de materiales didácticos en sitios Web para apoyar los procesos de enseñanza-aprendizaje, y basados en el patrón de diseño Modelo Vista Controlador (MVC). Dentro de los CMS más utilizados se destaca Joomla como CMS es utilizado con frecuencia en la creación de medios de apoyo para la enseñanza, tal es así que se ha utilizado para varias aplicaciones con el fin de fomentar el aprendizaje de diferentes asignaturas en las universidades.. Ejemplos del uso de este CMS en la. 2.
(11) Introducción enseñanza. pueden. encontrarse. publicados. en. resultados. de. investigaciones(Ulloa, 2012), (Parra, 2009). La Matemática, en la Universidad Central “Marta Abreu” de Las Villas (UCLV) se estudia en todas las carreras técnicas, sin embargo de manera tradicional se han confrontado problemas con su aprendizaje, por lo que se han elaborado proyectos para solventar esta situación, obteniéndose varios resultados, entre ellos se destaca “UniversiMat CD” con versiones desde la 1.0 hasta la 1.5. La versión 1.3 fue creada para ser utilizada fundamentalmente en las Sedes Universitarias Municipales y la última versión, la 1.5, para ser utilizada en la universidad para todas las carreras de Ciencias Técnicas, Ciencias Económicas y Agropecuarias. Otro de los resultados fue “UniversiMat Web” todos implementados en la UCLV. A partir de un entorno Web ya existente, que fue desarrolladocon el fin de brindar servicios interactivos para favorecer la enseñanza y el aprendizaje de la Matemática en la Universidad, este entorno está diseñado para gestionar el estudio de los diversos contenidos matemáticos mediante núcleos temáticos; así como, también brinda a estudiantes y profesores la posibilidad de usar contenidos matemáticos digitales almacenados en diversos formatos. El entorno web UniversiMat tenía implementado los núcleos temáticos Álgebra Lineal, Límite y Continuidad, Cálculo Diferencial y Matemática Básica. Le falta la implementación de los núcleos temáticos correspondientes a: Cálculo Integral, Ecuaciones Diferenciales, Programación Lineal, Funciones, Geometría Analítica, Series y Matemática Numérica. Además no explota a cabalidad las tecnologías de la Web 2.0, ya que potencia poco la personalización, participación y creación compartida de diversos recursos de estudiantes y profesores. Por lo mencionado anteriormente, existen núcleos que aún no cuentan con la información necesaria que beneficie o favorezca su aprendizaje y por todo lo expuesto podemos plantearnos el siguiente problema a resolver. Problema: ¿Cómo gestionar los contenidos en el entorno web UniversiMat versión 2.2 de los núcleos temáticos que no presentan información, de forma que se aprovechen las potencialidades que presenta la web 2.0? 3.
(12) Introducción Es por ello que para el desarrollo de la presente investigación se ha trazado el siguiente objetivo general.. Objetivo general: Elaborar los módulos de gestión de contenidos de núcleos temáticos en el entorno “UniversiMat”. versión 2.2 incorporando en ellos la evaluación del. estudiante.. Objetivos específicos: 1. Seleccionar. información. correspondiente. a. los. núcleos. temáticos:. Funciones, Geometría Analítica, Series, Cálculo Integral, Ecuaciones Diferenciales y Programación Lineal. 2. Diseñar los módulos: Funciones, Geometría Analítica, Series, Cálculo Integral, Ecuaciones Diferenciales y Programación Lineal; en el entorno web “UniversiMat” versión 2.2 basados en el patrón de diseño Modelo Vista Controlador (MVC). 3. Implementar los módulos para el aprendizaje de los núcleos temáticos: Funciones, Geometría Analítica, Series, Cálculo Integral, Ecuaciones Diferenciales y Programación Lineal; en el entorno web “UniversiMat” versión 2.2. 4. Implementar la evaluación del aprendizaje en los módulos, a través del Moodle. 5. Validar las funcionalidades de los módulos implementados en cuanto a pruebas de software.. Preguntas de Investigación: 1- ¿Cómo contribuye el uso del patrón de arquitectura MVC en el diseño de las funcionalidades de los núcleos temáticos: Funciones, Geometría Analítica,. Series,. Cálculo. Integral,. Ecuaciones. Diferenciales. y. Programación Lineal para el sitio web “UniversiMat” versión 2.2? 2- ¿Cómo implementar. en la aplicación “UniversiMat” versión 2.2 los. módulos: Funciones, Geometría Analítica, Series, Cálculo Integral, Ecuaciones Diferenciales y Programación Lineal de manera tal que favorezcan al aprendizaje interactivo de la Matemática en la universidad? 4.
(13) Introducción 3- ¿Cómo incorporar la evaluación de los contenidos de los módulos implementados en el entorno web UniversiMat versión 2.2 empleando el ambiente virtual de aprendizaje (Moodle)? 4- ¿Qué pruebas de software son aplicables al entorno web UniversiMat versión 2,2 para validar las funcionalidades que posee?. Justificación Las carreras técnicas, económicas y agropecuarias que se estudian en la Universidad, de forma usual han confrontado problemas y aún presentan dificultades con el aprendizaje de la Matemática. El Cálculo Integral, las Ecuaciones Diferenciales, la Programación Lineal, las Funciones, la Geometría Analítica y las Series son contenidos donde se ponen de manifiesto estos problemas con gran frecuencia. Con el propósito de asistir a la solución de esta dificultad se han realizado diversas herramientas pero no han cumplido satisfactoriamente los propósitos para los cuales fueron implementados. Es por esto que se retoma el uso de la web con nuevas técnicas y funcionalidades para que contribuya a solucionar estos problemas. Con el desarrollo del presente trabajo se pretende contribuir con una herramienta que permita el alcance de los objetivos y de los contenidos impartidos, teniendo como principal iniciativa el uso de la web 2.0 así como sus nuevas tecnologías.. 5.
(14) Capítulo 1 Capítulo 1. Fundamentos teóricos de la utilización de tecnologías para la web que favorezcan el proceso de enseñanza-aprendizaje en la Universidad. Introducción En el presente capítulo se abordan temas relacionados con la utilización de las tecnologías actuales para la web que permitan fomentar el aprendizaje de la Matemática en la Universidad, se define el funcionamiento de la metodología de desarrollo de software RUP y se identifican los retos principales que impone la web 2.0 al problema de investigación planteado.. 1.1 Metodologíasde Desarrollo de Software En un proyecto de desarrollo de software la metodología define Quien debe hacer Qué, Cuándo y Cómo se debe hacer. Una metodología es un proceso, un conjunto de pasos que deben seguirse, procedimientos, técnicas, herramientas y soporte documental que ayudan a los desarrolladores a realizar un nuevo software.(Santos, 2010). 1.1.1 El Proceso Unificado de Desarrollo de Software (RUP) El proceso. Unificado de Desarrollo de Software es un marco de trabajo. genérico que puede especializarse para una gran variedad de sistema de software,. para. diferentes. áreas. de. aplicación,. diferentes. tipos. de. organizaciones, diferentes niveles de aptitud y diferentes tamaños de proyecto. Las 4 piedras angulares del proceso de desarrollo de software son: el proyecto, las personas, el producto y el proceso; existe una estrecha relación entre ellas. Se les conoces por las cuatro P en el desarrollo del software:(Ivar Jacobson, 2000) . Personas: Los principales autores de un proyecto software, son los arquitectos, desarrolladores, ingenieros de pruebas, y el personal de gestión que les da soporte, además de los usuarios, clientes y otros interesados. Las personas son realmente seres humanos, a diferencia del término abstracto trabajadores, que será introducido más adelante.. 6.
(15) Capítulo 1 . Proyecto: Elemento organizativo a través del cual se gestiona el desarrollo de software. El resultado de un proyecto es una versión de un producto.. . Producto: Artefacto que se crea durante la vida de un proyecto, como código fuente, código ejecutable, modelo y documentación.. . Proceso: Un proceso de ingeniería de software es una definición del conjunto completo de actividades necesarias para transformar los requisitos de usuario en un producto. Un proceso es una plantilla para crear proyectos.. Principales Elementos: . Trabajadores (“quién”): Define el comportamiento y responsabilidades (rol) de un individuo, grupo de individuos, sistema automatizado o máquina, que trabaja en conjunto como un equipo. Ellos realizan las actividades y son propietarios de elementos.. . Actividades (“cómo”): Es una tarea que tiene un propósito claro, es realizada por un trabajador y manipula elementos.. . Artefactos (“qué”): Productos tangibles del proyecto que son producidos, modificados y usados por las actividades. Pueden ser modelos, elementos dentro del modelo, código fuente y ejecutables.. . Flujo de actividades (“cuándo”): Secuencia de actividades realizadas por Trabajadores y que produce un resultado de valor observable.. RUP se divide en 4 fases, cada una cuenta con un objetivo principal: . Inicio: El objetivo es determinar la visión del proyecto.. . Elaboración: El objetivo es determinar la arquitectura óptima.. . Construcción: El objetivo es obtener la capacidad operacional inicial.. . Transición: El propósito de esta fase es asegurar que el software esté disponible para los usuarios finales.. Flujos de Trabajo de Desarrollo: . Modelado del negocio: En este flujo se entienden las necesidades del negocio.. . Requerimientos: En este flujo se trasladan las necesidades del negocio a un sistema automatizado.. 7.
(16) Capítulo 1 . Análisis y Diseño: En este flujo se trasladan los requerimientos dentro de la arquitectura de software.. . Implementación: En este flujo se crea el software ajustado a la arquitectura y que tenga el comportamiento deseado.. . Pruebas: En este flujo se asegura que el comportamiento requerido es el correcto y que todos los solicitados están presente.. Flujos de Trabajo de Soporte: . Instalación: Se realizan actividades como: empaque, instalación, asistencia a usuarios, etc., para entregar el software a los usuarios finales. . Administración de Configuración y Cambio: Guardando todas las versiones del proyecto.. . Administración del Proyecto: Administrando horarios y recursos.. . Ambiente: Administrando el ambiente de desarrollo.. Figura 1. Los cinco implementación. flujos. y prueba-. de trabajo tienen lugar. -requisitos,. análisis, diseño,. sobre las cuatro fases: inicio,. elaboración, construcción y transición.(Ivar Jacobson, 2000). 1.1.2 ¿Por qué se escogió el Proceso Unificado de Desarrollo de Software (RUP)? El Proceso Unificado está basado en componentes. Utiliza el nuevo estándar de modelación visual, el Lenguaje Unificado de Modelado y se sostiene sobre tres ideas básicas –caso de uso, arquitectura y desarrollo iterativo e incremental. Para hacer que estas ideas funcionen, se necesita un proceso polifacético, que tenga en cuenta ciclos, fases, flujos de trabajos, gestión de 8.
(17) Capítulo 1 riesgos, control de calidad, gestión de proyecto y control de configuración. El Proceso Unificado ha establecido un marco de trabajo que integra todas esas diferentes facetas. Analizando lo citado anteriormente se puede deducir porque se escoge RUP como metodología de desarrollo y no otra. Ejemplificando se puede decir que RUP unifica los mejores elementos de metodologías anteriores, lo que garantiza la seguridad de que una metodología de punta, beneficia en ser una metodología orientada a objetos y que está preparada para desarrollar grandes y complejos proyectos. Al estar basada en componentes da la posibilidad de construir un sistema formado por componentes interconectados a través de interfaces bien definidas. Además utiliza el Lenguaje Unificado del Modelado para preparar todos los esquemas de un sistema.. 1.2 Herramientas de Modelado 1.2.1 El Lenguaje Unificado de Modelado como soporte de la modelación. UML es un lenguaje para visualizar, especificar, construir y documentar los artefactos de un sistema. Tiene una gran cantidad de propiedades que han sido las que han contribuido a hacer de este lenguaje de modelado un estándar de la industria de software(Navarro, mayo-2005). Algunas de estas propiedades son: Modela estructuras complejas Las estructuras más importantes que soportan tienen su fundamento en las tecnologías orientadas a objetos, tales como objetos, clase, componentes y nodos Comportamiento del sistema: caso de uso, diagramas de secuencia y de colaboraciones, que sirven para evaluar el estado de las máquinas. El Modelo Gráfico de UML tiene un vocabulario en el que se identifican: Elementos: Abstracciones que constituyen los bloques básicos de construcción 1. Estructurales: Partes que representan cosas.. 9.
(18) Capítulo 1 . Clase: Conjuntos de objetos que comparten atributos, operaciones, relaciones y semántica.. . Colaboración: Colección de operaciones que especifican un servicio de una clase o un componente.. . Caso de Uso: Conjunto de secuencia de acciones que un sistema ejecuta y que produce un resultado observable para un actor.. . Clase Activa: Clase cuyo objetos tienen uno o más procesos o hilos de ejecución.. . Componente: Es una parte física y reemplazable de un sistema que conforma un conjunto de interfaces y proporciona la implementación de dicho conjunto.. . Nodo: Elemento físico que dispone de memoria y con frecuencia capacidad de almacenamiento.. 2. Comportamiento: Partes del modelo que representa el comportamiento en el tiempo y el espacio. . Interacción: Conjuntos de mensajes intercambiados entre un conjunto de objetos para alcanzar un propósito específico.. . Máquina de Estado: Especifica las secuencias de estados por las que pasan un objeto o una interacción durante su vida.. 3. Agrupamiento: Cajas en las cuales pueden descomponerse un modelo. . Paquete: Mecanismo de propósito general para organizar elementos en grupos.. . Modelo. . Subsistema. . Marco de Trabajo. 4. Anotación: Comentarios que se pueden aplicar para describir, clarificar y hacer observaciones sobre cualquier elemento de un modelo. Relaciones: Relacionan los elementos. 1. Dependencia: Relación semántica que indica que un cambio en un elemento afecta la semántica de otro elemento. 2. Asociación: Relación estructural que describe las conexiones entre objetos. 3. Generalización/Especificación: Relación en la que el hijo comparte la estructura y el comportamiento del padre. 10.
(19) Capítulo 1 4. Realización: Relación semántica entre clasificadores, en donde un clasificador especifica un contrato que otro clasificador garantiza que cumplirá. Diagramas: Es la representación gráfica de un conjunto de elementos. Visualizan un sistema desde diferentes perspectivas. 1. Diagramas. de. estructura. estática:. Describen. las. propiedades. estructurales del sistema. . Diagrama. de. Clases:. Conjunto. de. clases,. interfaces. y. colaboraciones; así como sus colaboraciones. . Diagrama de Objetos: Conjuntos de Objetos y sus relaciones.. . Diagrama de Casos de Uso: Conjunto de casos de uso y actores y sus relaciones.. 2. Diagramas de Comportamiento: . Diagrama de iteración (secuencia y colaboración): Objetos y sus relaciones, incluyendo los mensajes que pueden ser enviados entre ellos.. . Diagramas de Estados: Muestra una máquina de estado que consta de estados, transiciones, eventos y actividades.. . Diagrama de Actividad: Es un tipo especial de diagrama de estados que muestra el flujo de actividades dentro de un sistema.. 3. Diagramas de Implementación: . Diagrama de Componentes: Organización y las dependencias de un conjunto de componentes.. . Diagrama de Despliegue: Configuración de nodos de procesamiento en tiempo de ejecución y los componentes que residen en ellos.. Figura 2. Modelo Gráfico de UML 11.
(20) Capítulo 1 1.2.2 Herramienta para la modelación UML. Visual Paradigm es una herramienta UML profesional que soporta el ciclo de vida completo del desarrollo de software: análisis y diseño orientados a objetos, construcción, pruebas y despliegue. Esta herramienta soporta hasta la fecha UML 2.1 completo, permite realizar ingeniería. tanto. directa. como. inversa.. Además. es. una. herramienta. colaborativa, ya que soporta múltiples usuarios trabajando sobre el mismo proyecto, genera la documentación del proyecto automáticamente en varios formatos como Web o .pdf y permite el control de versiones.. 1.3 Sistema manejador de contenidosy su integración con otras tecnologías. Dada la problemática planteada, la actividad fundamental es la gestión de contenidos relacionados con temas de Matemática, por lo que lo más conveniente es la utilización de un Sistema Manejador de Contenidos (CMS, por sus siglas en inglés) como propuesta para el desarrollo de la solución. Un CMS es un programa que permite crear una estructura de soporte (framework) para la creación y administración de contenidos. Las características y potencialidades de los CMS han sido publicadas en (Osuna, 2010), sus autores expresan que un CMS “posibilita la gestión de manera uniforme, accesible, y cómoda de un sitio Web dinámico que se actualiza periódicamente y sobre el que pueden trabajar varias personas, cada una de las cuales tiene una función determinada. Se trata de llevar a cabo el proceso documental de manera integrada, maximizando la calidad y minimizando los costes y duplicación de tareas”. Hay multitud de diferentes CMS. Los podemos agrupar según el tipo de sitio que. permiten. gestionar.. A. continuación. se. muestran. los. más. representativos(Hernández, 2010): . Genéricos: Ofrecen. la. plataforma. necesaria. para. desarrollar. e. implementar aplicaciones que den solución a necesidades específicas. Pueden servir para construir soluciones de gestión de contenidos, para soluciones. de. comercio. electrónico,. blogs,. portales,. Ejemplos: Joomla, Drupal, Nuxeo, Content-SORT. 12.
(21) Capítulo 1 . Específicos para ONG: Nacen para cubrir las necesidades de las ONG, ofreciendo una plataforma de servicios de Internet que en ocasiones incluye además del CMS herramientas para la recaudación de fondos, los stakeholders, CRM, etc. Ejemplos: Iwith.org, Common Knowledge Content Server, GetActive Content Management, Avenet Nonprofit Office. . Foros: sitio que permite la discusión en línea donde los usuarios pueden reunirse. y. discutir. temas. en. los. que. están. interesados.. Ejemplos: phpBB, SMF, MyBB. . Blogs: Publicación de noticias o artículos en orden cronológico con espacio. para. comentarios. y. discusión.. Ejemplos:. WordPress, MovableType, Drupal. . Wikis: Sitio web dónde todos los usuarios pueden colaborar en los artículos, aportando información o reescribiéndola. También permite espacio para discusiones. Indicado para material que irá evolucionando con el tiempo. Ejemplos: MediaWiki.. . eCommerce: Son. Sitios. web. para. Ejemplo: osCommerce (licencia GPL),. comercio. Dynamic. web. electrónico. eCommerce. (comercial). . Portal: Sitio web con contenido y funcionalidad diversa que sirve como fuente. de. información. o. como. soporte. a. una. comunidad.. Ejemplo: Joomla, Drupal. Publicaciones. digitales: son. plataformas. especialmente. diseñadas. teniendo en cuenta las necesidades de las publicaciones digitales, tales como. periódicos,. revistas,. etc.. Ejemplo:. ePrints, SamdhaNews, Thinkindot CMS. Difusión de Contenido Multimedia: especialmente para plataformas que necesitan integrar video y sonido, tales como sitios televisiones, radios, periódico etc. Ejemplo: Magnolia On Air. La adaptabilidad que tienen los CMS para la problemática planteada, además de tener en cuenta las características de cada uno, se decide utilizar el CMS Joomla en su versión 1.5, puntualizando a continuación las características tomadas en cuenta para la selección.. 13.
(22) Capítulo 1 Joomla es un Sistema de gestión de contenidos o CMS: es una especie de programa o entorno para gestionar páginas web, que permite desarrollar sitios web dinámicos e interactivos. Permite crear, modificar o eliminar contenido de un sitio web de manera sencilla a través de un Panel de Administración. Es un software de código abierto, por las políticas de Cuba sobre la migración a software libre para garantizar la soberanía tecnológica esta fue la primera característica de CMS a tener en cuenta. Es desarrollado en PHP y liberado bajo licencia GPL. Este administrador de contenidos puede utilizarse en una PC local (en Localhost) o en una Intranet y requiere para su funcionamiento una base de datos creada con un gestor de bases de datos (MySQL es lo más habitual), así como de un servidor HTTP Apache.(Rancel, 2013) Joomla sigue una filosofía para la construcción incremental de una aplicación Web basada en complementos. Este CMS está dividido en dos grandes zonas: la. zona. pública. (FrontEnd)(Graf,. 2012)y. la. zona. de. administración. (BackEnd)(Graf, 2012). Apoyados en esta idea sus desarrolladores hacen énfasis que a las extensiones que se desarrollen se les defina cuáles ficheros pertenecerán al FrontEnd y cuáles al BackEnd, ubicando en esta última los ficheros que ejecutan las tareas de configuración. Sus extensiones (complementos) pueden ser instaladas o desinstaladas en el momento que se desee. Dentro de sus tipos de extensiones se encuentran los componentes, los módulos, las plantillas, los paquetes de idiomas y otros. Esta desarrollado en una arquitectura Modelo Vista Controlador (MVC) lo que permite: . Interactuar directamente con la parte visual de Joomla!, sobrescribir desde el template de Joomla! la vista de un componente, módulo o plugin, además permite un gran nivel de personalización en el desarrollo de los templates.. . Un desarrollo de componentes módulos y plugins basados en la arquitectura base del CMS.. . Actualizaciones rápidas, es decir, actualizando los elementos requeridos para los cambios de versión con la plataforma funcionando.. 14.
(23) Capítulo 1 1.4 Tendencias y Tecnológicas Actuales de la web 2.0 Web 2.0 es un término que no es fácil definir de manera precisa. El término es frecuentemente usado para referirse a sitios y aplicaciones Web que se diferencian de la “Web tradicional” (también llamada Web 1.0), la cual se basa principalmente en la presentación de textos. Dados los avances tecnológicos incluidos, la web 2.0 constituye un espacio que permite a los usuarios interactuar y colaborar entre sí como creadores de contenido generado por usuarios. en. una. comunidad. virtual.. El. progreso. de. esta. continúa. experimentando cambios importantes en la actualidad, estos son asimilados por los entornos donde se intercambien servicios, se realicen transacciones comerciales, ventas de productos, etc. Además se aplica en la creación de sitios web relacionados con la educación o de cualquier otra índole.. 1.4.1 Comparación de la web 2.0 con la Web Semántica En ocasiones se ha relacionado el término Web 2.0 con el de Web semántica, sin embargo ambos conceptos, corresponden más bien a estados evolutivos de la web, y la Web semántica correspondería en realidad a una evolución posterior, a la web3.0 o web inteligente. Sin embargo, en el sentido más estricto para hablar de Web semántica, se requiere el uso de estándares de metadatos. Por tanto podemos identificar la Web semántica como una forma de Web 3.0. Existe una diferencia fundamental entre ambas versiones de web (2.0 y semántica) y es el tipo de participante y las herramientas que se utilizan. La 2.0 tiene como principal protagonista al usuario humano que escribe artículos en su blogs. El requisito es que además de publicar en HTML emita parte de sus aportaciones en diversos formatos para compartir esta información como son los RSS y ATOM, etc. mediante la utilización de lenguajes estándares como el XML. La Web semántica, sin embargo, está orientada hacia el protagonismo de procesadores de información que entiendan de lógica descriptiva en diversos lenguajes más elaborados de metadatos como SPARQL o POWDERque permiten describir los contenidos y la información presente en la web, concebida para que las máquinas "entiendan" a las personas y procesen de una forma eficiente la avalancha de información publicada en la Web. 15.
(24) Capítulo 1. Tabla 1.Comparación de la Web 2.0 y la Web Semántica (Codina, 2009 ). 1.4.2 Rasgos distintivos de la web 2.0. La infraestructura de la Web 2.0 está relacionado con nuevas tecnologías que han hecho que sea más fácil publicar información y compartirla con otros sitios Web. Por un lado se han actualizado los sistemas de gestores de contenido haciendo que cualquier persona que no sepa nada sobre programación Web pueda, por ejemplo, gestionar su propio blog.. 1.4.3 Características, componentes y tecnologías de la web 2.0. En la Web 2.0 está asociada a aplicaciones web que facilitan el compartir información el diseño centrado en el usuario y la colaboración. Son tres las características de la Web 2.0 que son particularmente relevantes para la producción, participación y prácticas creativas de los estudiantes(Christine Greenhow, 2009): 1. La interactividad hace referencia a la facilidad que los usuarios tienen para publicar y compartir contenidos sin necesidad de poseer conocimiento técnico avanzado. Es muy simple para los usuarios publicar sus escritos, fotos y videos, pero también es sencillo tener acceso a los materiales publicados por otros usuarios.. 16.
(25) Capítulo 1 2. La interconexión se refiere a la habilidad de crear redes y mantenerse automáticamente actualizado con información relevante proveniente de diferentes fuentes. La interconexión permite que el usuario se involucre en un proceso constante de descubrimiento de fuentes de información (sitios Web, personas), que pueden ser agregadas a su red de conocimiento. 3. La creación y mezcla de contenidos alude a la posibilidad de tomar información y materiales disponibles en la Web, y modificarlos, combinarlos y expandirlos en nuevas creaciones multimedia. La Web 2.0 se puede representar mediante los siguientes componentes principales: i) ii) iii) iv). Contenidos creados por los usuarios Redes sociales Aplicaciones en línea Herramientas de colaboración. Los cuatro componentes están ligados de forma indisoluble entre ellos.. Figura 3.Los componentes principales de la web 2.0 (Codina, 2009 ). Se puede decir que una web está construida usando tecnología de la Web 2.0 si se caracteriza por las siguientes técnicas: CSS (Cascading Style Sheets), XHTML. (Extensible. HypertextMarkupLanguage). válido. semánticamente,. microformatos, técnicas de desarrollo de Rich Internet Aplication (RIA, aplicaciones de Internet enriquecidas) Ejemplo: AJAX (AsynchronuosJavaScript 17.
(26) Capítulo 1 And XML), Java Web Stara, XUL ( XML-basedUser interface Language), sindicación y agregación de datos RSS(Really Simple Syndication).. 1.4.4 Los retos que impone la Web 2.0, sus ventajas y desventajas. Tres retos que las características de la Web 2.0 podrían imponer a la práctica y a la investigación de la enseñanza de las matemáticas. El primer reto, está relacionado con la interconexión, es decir, la habilidad para crear redes y obtener información relevante a través de ellas. El segundo reto se refiere a la falta de acceso a la Web 2.0 entre los estudiantes y profesores de matemáticas. El tercer y último reto se refiere a los desafíos metodológicos y teóricos que la Web 2.0 impondrá a la investigación educativa sobre aprendizaje y enseñanza de las matemáticas(AGUILAR, 2012).. Tabla 2. Ventajas y desventajas de la web 2.0(Cortés, 2011). 1.5 Tecnologías y lenguajes de programación utilizadas para el desarrollo de entornos Web. Se describen las características necesarias en el proceso de selección de las tecnologías a utilizar en la solución propuesta y los beneficios que estas brindan para el desarrollo de aplicaciones Web. Además se tratan las. 18.
(27) Capítulo 1 herramientas con las que está construido el CMS Joomla y la capacidad de integración con otras herramientas que presenta. Cuando se va a realizar. una aplicación Web hay que tener presente los. objetivos que se proponen cumplir para lo que se quiere lograr, por lo que es necesario hacer una buena selección de los lenguajes y tecnologías a utilizar.. HTML Es un lenguaje de composición de documentos y especificación de ligas de hipertexto que define la sintaxis y coloca instrucciones especiales que no muestra el navegador, aunque si le indica como desplegar el contenido del documento, incluyendo texto, imágenes y otros medios soportados. Es un lenguaje de marcado, muy estructurado, que se utiliza para crear páginas Web. Un lenguaje de marcado, es sencillamente, un conjunto de códigos, llamados elementos, que se utilizan para indicar la estructura y, frecuentemente, el formato de un documento. Un explorador Web que representa el documento interpreta el significado de esos códigos para averiguar cómo estructurar o mostrar el documento(Powel, 2001). HTML está diseñado para estructurar documentos y hacerlos más accesibles, no para darles formato con el propósito de obtener diseños espectaculares.. XML Es un metalenguaje extensible de etiquetas desarrollado por el World Wide Web Consortium (W3C). Es una simplificación y adaptación del SGML y permite definir la gramática de lenguajes específicos (de la misma manera que HTML es a su vez un lenguaje definido por SGML). Por lo tanto XML no es realmente un lenguaje en particular, sino una manera de definir lenguajes para diferentes necesidades, de ahí que se le denomine metalenguaje. Algunos de estos lenguajes que usan XML para su definición son XHTML, SVG, MathML. XML no ha nacido sólo para su aplicación en Internet, sino que se propone como un estándar para el intercambio de información estructurada entre diferentes plataformas. Se puede usar en bases de datos, editores de texto, hojas de cálculo y casi cualquier cosa imaginable. XML es una tecnología sencilla que tiene a su alrededor otras que la complementan y la hacen mucho más grande y con unas posibilidades mucho 19.
(28) Capítulo 1 mayores. Tiene un papel muy importante en la actualidad ya que permite la compatibilidad entre sistemas para compartir la información de una manera segura, fiable y fácil.(Hernández, 2001). PHP Es un lenguaje de programación orientado a objetos usado normalmente para la creación de páginas Web dinámicas del lado del servidor, habitualmente en combinación con el motor de base de datos MYSQL, aunque cuenta con en soporte nativo para otros motores. PHP se trata de un lenguaje interpretado y de código abierto. Puede ser utilizado para la creación de otros tipos de programas incluyendo aplicaciones con interfaz gráfica. Tiene la capacidad de ser ejecutado en la mayoría de los sistemas operativos tales como UNIX y Windows, y puede interactuar con los servidores de Web más populares. Es un lenguaje de secuencias de comandos de servidor diseñado específicamente para la Web. Dentro de una página Web se puede incrustar código PHP que se ejecutara cada vez que se visite esa página. El código PHP es interpretado en el servidor Web y genera código HTML y otro contenido que el visitante verá(Thomson, 2010).. 1.5.1 Tecnologías actuales que favorecen la eficiencia de una página web. Para incrementar el dinamismo en las páginas Web. se utilizan varias. tecnologías las cuales son eficaces y modernas, como por son:. AJAX Es una técnica de desarrollo web para crear aplicaciones interactivas o RIA (Rich Internet Applications). Estas aplicaciones se ejecutan en el cliente, es decir, en el navegador de los usuarios mientras se mantiene la comunicación asíncrona con el servidor en segundo plano. De esta forma es posible realizar cambios sobre las páginas sin necesidad de recargarlas, lo que significa aumentar la interactividad, velocidad y usabilidad en las aplicaciones. Las tecnologías que forman AJAX son: . XHTML y CSS, para crear una presentación basada en estándares.. . DOM, para la interacción y manipulación dinámica de la presentación.. 20.
(29) Capítulo 1 . XML, XSLT y JSON, para el intercambio y la manipulación de información.. . XMLHttpRequest, para el intercambio asíncrono de información.. . JavaScript, para unir todas las demás tecnologías.. Figura 4. Tecnologías agrupadas bajo el concepto de AJAX. (LibrosWeb.es, 2015) AJAX es una tecnología asíncrona, en el sentido de que los datos adicionales se solicitan al servidor y se cargan en segundo plano sin interferir con la visualización ni el comportamiento de la página. JavaScript es el lenguaje interpretado (scripting lenguaje) en el que normalmente se efectúan las funciones de llamada de Ajax mientras que el acceso a los datos se realiza mediante XMLHttpRequest, objeto disponible en los navegadores actuales. En cualquier caso, no es necesario que el contenido asíncrono esté formateado en XML. Ajax es una tecnología válida para múltiples plataformas y utilizable en muchos sistemas operativos y navegadores dados que está basado en estándares abiertos como JavaScript y Document Object Model(Domínguez, 2013). De esta forma, con la tecnología Ajax, se introduce una nueva capa que permite una mayor interactividad con el usuario; permitiendo de ese modo, llegar a diferenciarse del modelo común de diseño de páginas web. El uso de AJAX en aplicaciones Web ha permitido crear interfaces de usuario que simulan los programas de escritorio y adquieren los niveles de interacción deseados en este tipo de software ya que propone la creación de una capa o motor para la ejecución de las peticiones al servidor. Las peticiones que en el modo tradicional se realizan de manera directa, recargando páginas completas hospedadas en un servidor Web, con este nuevo modelo se realizan mediante el lenguaje JavaScript al motor de AJAX, logrando más rapidez en el proceso 21.
(30) Capítulo 1 de actualización de las páginas, intercambiando entre el cliente y el servidor la menor cantidad de datos posible y realizando este intercambio de manera invisible para el usuario, influyendo esto positivamente en la velocidad, interactividad y usabilidad de las páginas.. JavaScript. Es un lenguaje de programación interpretado, dialecto del estándar ECMAScript. Se define como orientado a objetos,. basado en prototipos,. imperativo, débilmente tipiado y dinámico. Se utiliza principalmente en su forma del lado del cliente (client-side), implementado como parte de un navegador web permitiendo mejoras en la interfaz de usuario y páginas web dinámicas, en bases de datos locales al navegador(Gauchat, 2012). JavaScript es capaz de crear una interfaz de usuario activa, que permite a los usuarios, mientras navegan en las diferentes páginas, dar su opinión a través de información válida. JavaScript brinda la posibilidad de crear páginas HTML personalizadas sobre la marcha, es decir, en función de las acciones que el usuario adopte.. JQuery Sirve como base para la programación avanzada de aplicaciones. Aporta una serie de funciones o código para realizar tareas habituales así como: simplificar la manera de interactuar con los documentos HTML, manipular el árbol DOM, manejar eventos, desarrollar animaciones y agregar interacción con la técnica AJAX a páginas web. Al igual que otras bibliotecas, ofrece una serie de funcionalidades basadas en JavaScript que de otra manera requerirían de mucho más código, es decir, con las funciones propias de esta biblioteca se logran grandes resultados en menos tiempo y espacio. ¿Por qué utilizar JQuery? JQuery es estable, posee una amplia documentación y cuenta con una comunidad de creadores de componentes, lo cual posibilita encontrar soluciones para implementar tareas comunes como la creación de interfaces de usuario, galerías de imágenes y videos. Posee un conjunto amplio de funciones que permiten manejar de manera asíncrona las peticiones al servidor, facilitando a los desarrolladores utilizar en una forma más intuitiva el conjunto de tecnologías conocido como AJAX (Murphey, 2012, jQuery, 2009) 22.
(31) Capítulo 1 1.5.2 Sistema Gestor de Bases de Datos (SGBD). Joomla, en sus versiones 1.5 o superiores permite ser desplegado sobre los SGBD MySQL y PostgreSQL. Una gran parte de las soluciones de software con fines docentes que necesitan garantizar la persistencia de los datos lo hacen utilizando estos SGBD(Fernández, 2014). Los sistemas. gestores de. bases de. datos (SGBD), son un conjunto de. programas que permiten crear y mantener una base de datos, asegurando su integridad, confidencialidad y seguridad. Para nuestra problemática se decide utilizar MySQL debido a que es un SGBD relacional, rápido, flexible y siendo idóneo para la creación de bases de datos con acceso desde páginas web dinámicas, así como para la creación de soluciones que impliquen el almacenamiento de datos, posibilitando realizar múltiples y rápidas consultas. Además es un sistema cliente/servidor, por lo que permite trabajar como servidor multiusuario y de subprocesamiento múltiple lo que resulta más fácil ya que controla el acceso simultáneo de usuarios a los datos y asegura el acceso a la información a usuarios autorizados solamente(MySQL, 2008). Estos sistemas proveen facilidades para la manipulación de grandes volúmenes de datos y usualmente, proveen interfaces y lenguajes de consulta que simplifican la recuperación de los datos. Actualmente los SGBD se han convertido en el instrumento o soporte básico más ampliamente usado en la gestión de los sistemas informáticos.. Características generales del Sistema Gestor de Bases de Datos, MySQL. Es un sistema para la administración de bases de datos relacional, rápido y sólido. Las bases de datos permiten almacenar, buscar, ordenar y recuperar datos de forma eficiente. El servidor de MySQL controla el acceso a los datos para garantizar el uso simultáneo de varios usuarios, para proporcional acceso a dichos datos y para asegurarse de que solo obtienen acceso a ellos los usuarios con autorización. Por lo tanto, es un servidor multiusuario y de subprocesamiento múltiple. Es muy utilizado en aplicaciones Web, en plataformas (Linux/Windows-ApacheMySQL-PHP/Perl/Python. Es propietario y está patrocinado por una empresa 23.
(32) Capítulo 1 privada, que posee el copyright de la mayor parte del código. Disponible de una gran cantidad de plataformas y sistemas, además brinda una conectividad segura. Posee características que son implementadas únicamente por él como: . Múltiples motores de almacenamiento lo cual permite al usuario escoger el que sea más adecuado para cada tabla de base de datos.. . Agrupación de transacciones, es decir reúne múltiples transacciones de varias conexiones para así incrementar el número de transacciones realizadas por segundos.. MySQL cuenta siguientes ventajas como: . Alto rendimiento. . Bajo costo. Está disponible de manera gratuita, bajo una licencia de código abierto, o por un precio reducido en forma de licencia comercial si resultara necesario para su aplicación. . Facilidad de configuración y aprendizaje. Las bases de datos más modernas utilizan SQL. MySQL resulta además más sencillo de configurar que otros productos similares.. . Portabilidad. Se puede utilizar en una gran cantidad de sistemas Unix diferentes, así como bajo Microsoft Windows.. 1.6 Patrón de diseño modelo vista controlador (MVC) El principio más importante de la arquitectura MVC es la separación del código del programa en tres capas, dependiendo de su naturaleza. La lógica relacionada con los datos se incluye en el modelo, el código de la presentación en la vista y la lógica de la aplicación en el controlador. . Modelo: Esta es la representación específica de la información con la cual el sistema opera. En resumen, el modelo se limita a lo relativo de la vista y su controlador facilitando las presentaciones visuales complejas. El sistema también puede operar con más datos no relativos a la presentación, haciendo uso integrado de otras lógicas de negocio y de datos afines con el sistema modelado.. . Vista: Este presenta el modelo en un formato adecuado para interactuar, usualmente la interfaz de usuario. 24.
(33) Capítulo 1 . Controlador: Este responde a eventos, usualmente acciones del usuario, e invoca peticiones al modelo.. La figura muestra el diagrama propuesto por los desarrolladores de Joomla para dicho patrón. Sus extensiones (complementos) pueden ser instaladas o desinstaladas en el momento que se desee. Se encuentran varios tipos de extensiones, entre ellas los componentes, los módulos, las plantillas, los paquetes de idiomas y otros.. Figura 5.Patrón MVC implementado en el CMS Joomla(Documentation, 2010).. 25.
(34) Capítulo 1 Conclusiones del capítulo Como metodología de desarrollo de software se define el funcionamiento de RUP y se fundamenta las características que permiten su utilización para el desarrollo de la aplicación web. Las tendencias actuales del desarrollo de software para la enseñanza están dirigidas a la creación de plataformas con características y componentes de la Web 2.0, que permite a los usuarios interactuar y colaborar entre sí. Se realizó un estudio detallado de las tecnologías utilizadas actualmente para el desarrollo de aplicaciones web, incluyendo las principales características, ventajas y desventajas de los mismos, seleccionando para el desarrollo del trabajo. las. tecnologías. AJAX:. HTML,. CCS,. XML,. JSON,. DOM,. XMLHttpRequest, JavaScript. De los sistemas gestores de base de datos más utilizados, para almacenar y recuperar la información de una base de datos se selecciona e SGBD MySQL, ya que constituye el sistema de base de datos de código abierto más avanzado en la actualidad. El patrón de diseño MVC se basa en la separación de los datos, la interfaz de usuario y el módulo encargado de gestionar los eventos y las comunicaciones, características que buscan facilitar la tarea de desarrollo de aplicaciones web.. 26.
(35) Capítulo 2 Capítulo 2. Análisis y diseño del entorno web UniversiMat, versión 2.2. Introducción Tomando en consideración el desarrollo de la nueva versión del entorno web UniversiMat, en el capítulo se modelan las ideas principales para el desarrollo de una aplicación Web, cuyo objetivo principal es ofrecer diversos recursos para el proceso de enseñanza y aprendizaje de la Matemática en la Universidad. Según los fundamentos teóricos abordados en el capítulo anterior, se realiza el modelado de la solución mediante diagramas y artefactos propuestos por la metodología de desarrollo de software RUP.. 2.1 Actores del entorno web UniversiMat, versión 2.2. Los actores representan terceros fuera del sistema que colaboran con el sistema. Los actores del sistema suelen corresponderse con los trabajadores del negocio y si algún actor del negocio va a interactuar con el sistema pasa también a ser actor del sistema. Actores del Sistema. Justificación. Usuario anónimo. Puede consultar toda la información pública dentro del sistema. Dígase: acceder a contenidos, marcadores, comentarios u otra información de carácter público. No posee permisos para ejecutar ninguna acción que implique agregar información, o modificar la existente en el sistema.. Usuario registrado. Además de consultar los contenidos, este actor tiene permisos para realizar acciones que implican agregar información al sistema, gestionar listas de marcadores, marcar web externa, gestionar marcador, utilizar el chat UniversiMat. Para ejecutar las acciones descritas debe acreditarse en el sistema mediante un usuario y una contraseña.. 27.
(36) Capítulo 2 Publicador. Además de las acciones que pueden realizar los actores anteriores, este actor tiene la responsabilidad de editar y publicar toda la información agregada. También puede crear nuevos contenidos. Se acredita en el sistema mediante un usuario y una contraseña.. Administrador. Actor con acceso a todas las funcionalidades del sistema. Tiene la responsabilidad de establecer todas las claves de configuración del sistema. Así como la gestión de los usuarios y su pertenencia a grupos específicos. Se acredita en el sistema mediante un usuario y una contraseña.. Tabla 3. Actores del Sistema. 2.2 Especificación de los Requerimientos Durante los procesos involucrados en el análisis del problema para el modelado de la solución, se realizaron entrevistas a los clientes, registrando sus necesidades en forma de requerimientos. La IEEE en su Glosario Estándar para la Terminología referente a la Ingeniería de Software (Standard Glossary of. Software. Engineering. Terminology,. en. inglés),. establece. que. los. requerimientos son condiciones o capacidades que necesita un usuario para resolver un problema o lograr un objetivo; condiciones o capacidades que tienen que ser alcanzadas o poseídas por un sistema para satisfacer un contrato o estándar(Arango, 26-03-2010). Los mismos se dividen en dos grupos: funcionales y no funcionales.. 2.2.1 Requisitos Funcionales RF1: Gestionar usuario. RF2: Autenticar usuario. RF1.1: Insertar usuario.. RF3: Registrarse.. RF1.2: Modificar usuario.. RF4: Gestionar contenidos.. RF1.3: Eliminar usuario.. RF4.1: Crear contenido. 28.
(37) Capítulo 2 RF4.2: Modificar contenido.. RF12:. RF4.3: Eliminar contenido.. marcadores.. Gestionar. RF12.1:. RF4.4: Listar contenidos.. lista. Crear. lista. de. de. marcadores. RF5: Publicar contenido. Listar. RF6:. RF12.2:. contenidos. por. etiquetas. contenidos. por. categorías.. lista. de. lista. de. marcadores. RF12.3:. Listar. RF7:. Modificar. Eliminar. marcadores. RF13: Publicar marcador.. RF8: Listar contenidos por autor. RF14: Comentar contenido 1. RF9: Gestionar núcleos temáticos Insertar. RF9.1:. núcleos. RF15: Gestionar comentario. RF15.1: Crear comentario.. temáticos. RF15.2: Modificar comentario. RF9.2:. Modificar. núcleos RF15.3: Eliminar comentario.. temáticos. RF9.3:. Eliminar. núcleos. temáticos. RF10: Gestionar categoría.. RF15.4: Listar comentarios. RF16: Utilizar Chat UniversiMat. RF17: Gestionar evento.. RF10.1: Crear categoría.. RF17.1: Insertar evento.. RF10.2: Modificar categoría.. RF17.2: Modificar evento.. RF10.3: Eliminar categoría.. RF17.3: Eliminar evento.. RF11: Gestionar marcador.. RF17.4: Listar eventos.. RF11.1: Crear marcador.. RF18: Ver eventos.. RF11.2: Modificar marcador.. RF19: Gestionar asistentes.. RF11.3: Eliminar marcador.. RF19.1: Insertar asistentes.. RF11.4: Listar marcador.. RF19.2: Modificar asistentes. RF19.3: Eliminar asistentes.. 1. Término usado en este trabajo para clasificar las. ramas de la Matemática, en aras de organizar los. RF19.4: Listar asistentes.. contenidos.. 29.
(38) Capítulo 2 RF21.3: Eliminar enlaces web.. RF20: Gestionar foros de debate. RF20.1:. Insertar. foros. de. debate. RF20.2:. RF22: Buscar información según Modificar. foros. de. debate. RF20.3:. RF21.4: Listar enlaces web.. criterio. RF23: Marcar web externa.. Eliminar. foros. de. RF24: Utilizar graficador.. debate. RF25: Descargar asistentes. RF20.4: Listar foros de debate. RF21: Gestionar enlaces web. RF21.1: Insertar enlaces web.. RF26: Acceder al curso Evaluación UniversiMat RF26: Acceder a Foros del curso Evaluación UniversiMat. RF21.2: Modificar enlaces web.. 2.2.2 Requisitos No Funcionales Los requerimientos no funcionales son propiedad o cualidades que el producto debe tener, estas propiedades son las características que hacen al producto atractivo, usable, rápido o confiable. Interfaz: El producto debe ser legible y con colores adecuados, agradables y poco llamativos. Diseño orientado a llamar la atención del usuario y con una navegación sencilla. La maquetación del sitio debe tener en cuenta las características actuales para la creación de diseños adaptables a dispositivos móviles. Seguridad: Garantizar que la información sea editada únicamente por las personas que tienen permisos para realizar esta actividad. Se deben implementar funciones de protección contra acciones no autorizadas o que puedan afectar la integridad de los datos. Software: El Sistema Manejador de Contenidos Joomla versión 3.0 utilizado para la solución demanda la disposición de versiones mínimas específicas de varios de los software que lo sustentan. Por lo que se detallan a continuación.. 30.
(39) Capítulo 2 La persistencia de toda la información gestionada por la solución debe lograrse mediante el uso del SGBD MySQL5.1 como servidor de bases de datos. Deben estar instaladas las bibliotecas del lenguaje PHP en su versión 5.3.1 o superior. Servidor Web Apache 2.0 o superior. Hardware: La solución propuesta no requiere un hardware con grandes prestaciones. Funcionará. correctamente. con. los. siguientes. requerimientos:. Las. computadoras clientes deben tener como mínimo 512 MB de memoria RAM un procesador Pentium III (homólogo o superior), y un mínimo de 20 GB disponibles para almacenamiento. Los servidores de aplicaciones Web y de bases de datos pueden ser instalados en una misma computadora o por separado. Se recomienda, debido al volumen de usuarios, utilizar como mínimo un servidor de gama media o superior para el despliegue de la solución. Portabilidad: El despliegue de la solución debe poderse efectuar correctamente en varias plataformas, esencialmente sobre servidores con sistema operativo Windows o de la familia Unix. Rendimiento: Los tiempos de respuesta de las peticiones realizadas al servidor Web desde las computadoras clientes no deben pasar de 2 segundos. Legales: El empleo de este producto no debe violar ninguna ley o licencia por lo que la plataforma escogida para el desarrollo de la aplicación, debe cumplir con licencias GNU/GPL. Confiabilidad: La información contenida en el sistema debe ser confiable. Creando mecanismos de edición y roles responsables de los procesos involucrados con esta tarea.. 2.3 Modelación de los casos de uso del entorno web UniversiMat, versión 2.2. Un modelo de casos de uso del sistema contiene actores, casos de uso y sus relaciones. 31.
(40) Capítulo 2 El modelo de casos de uso permite llegar a un acuerdo con los clientes sobre los requisitos funcionales y no funcionales que debe cumplir el sistema, es importante ya constituye la entrada fundamental para el análisis, el diseño y las pruebas.. 2.3.1 Diagramas de Casos de Uso del Sistema. Un caso de uso es una secuencia de ejecución de actividades realizadas por un determinado sistema, cuyo resultado posee valor para el actor que le da inicio. Permiten agrupar y describir en lenguaje natural y de manera intuitiva los requerimientos del software(Booch, 2004). Es decir, Un diagrama de casos de uso del sistema representa gráficamente a los procesos y su interacción con los actores. A continuación se muestran los diagramas de Casos de Uso agrupados por actor.. Figura 6. Diagrama de Casos de Uso para el actor Usuario anónimo. 32.
(41) Capítulo 2. Figura 7. Diagrama de Casos de Uso para el actor Usuario registrado.. Figura 8.Diagrama de Caso de uso para el actor Publicador.. 33.
(42) Capítulo 2. Figura 9. Diagrama de Casos de Uso para el actor Administrador. 2.3.2 Descripción de los casos de uso del sistema. La descripción se realizó según los actores del sistema y teniendo en cuenta para cada uno de ellos los casos de uso más significativos. CU-1. Listar contenidos por etiquetas. Actor. Usuario Anónimo. Resumen Referencia. El usuario podrá listar todos los contenidos pertenecientes a una etiqueta seleccionada. RF6 Las etiquetas deben haberse registrado con anterioridad y. Precondiciones. estar relacionadas con la información presente en los contenidos.. Tabla 4. Descripción del CU Listar contenidos por etiqueta.. 34.
(43) Capítulo 2 CU-2. Listar contenidos por categoría. Actor. Usuario Anónimo El usuario podrá seleccionar en un Núcleo Temático la. Resumen. categoría que desee. Una vez seleccionado dicha categoría se listan contenidos relacionados con la misma.. Referencia Precondiciones. RF7 Para listar un tema debe haberse insertado previamente categoría correspondiente.. Tabla 5. Descripción del CU Listar contenidos por categoría. CU-3. Registrarse. Actor. Usuario Anónimo El usuario anónimo puede registrarse en el sitio como un. Resumen. nuevo usuario, para ello debe insertar los datos que se le piden en el formulario. Una vez que se haya registrado puede acceder al sitio como un usuario registrado.. Referencia. RF3. Tabla 6. Descripción del CU Registrarse.. CU-4. Buscar información según criterio. Actor. Usuario Anónimo El Usuario Anónimo podrá ejecutar acciones de búsqueda sobre la información proporcionando una cadena de texto y estableciendo los siguientes criterios: por autor, por tema,. Resumen. por noticias, sobre los contenidos, buscar la frase exacta, cualquier palabra del texto proporcionado, todas las palabras. Además podrá establecer el orden de aparición de los resultados.. Referencia. RF22. Tabla 7. Descripción del CU Buscar información según criterio.. 35.
(44) Capítulo 2 CU-5. Comentar contenido. Actor. Usuario Anónimo El usuario anónimo luego de estudiar un contenido puede. Resumen. expresar sus criterios, ideas y sugerencias que crea útil para estudiar. Para realizar esta acción se muestra al final de la página un formulario para el registro de comentarios.. Referencia. RF14. Tabla 8. Descripción del CU Comentar contenido. CU-6. Autenticar usuario. Actor. Usuario registrado El actor podrá autenticarse en el sistema proporcionando. Resumen. un usuario y una contraseña. Recibirá los permisos establecidos en el sistema según los grupos a los que pertenezca.. Referencia Precondiciones Pos- condiciones. RF2 Los grupos que representan los roles en el sistema deben estar creados con anterioridad. El sistema mostrará el perfil de usuario. Tabla 9. Descripción del CU Autenticar usuario.. CU-7. Gestionar marcador. Actor. Usuario registrado El Publicador podrá crear marcadores a contenidos y marcadores. de. tiempo. a. videos. presentes. en. los. contenidos. El sistema muestra un formulario que el usuario Resumen. debe llenar para poder crear el marcador. Este marcador puede ser creado por nombre, etiqueta, video, minuto o página. Los marcadores podrán ser listados desde el vínculo “Marcadores”. Desde allí se podrán accionar los vínculos para mostrar los datos de un marcador para 36.
Figure
+7
Outline
Documento similar