UWE en Sistema de Recomendación de Objetos de Aprendizaje. Aplicando Ingeniería Web: Un Método en Caso de Estudio Citlali G. Nieves-Guerrero, Juan P. Ucán-Pech, Víctor H. Menéndez-Domínguez Facultad de Matemáticas Universidad Autónoma de Yucatán Mérida, Yucatán, México citlaligng@gmail.com, {juan.ucan, mdoming}@uady.mx Resumen — La Ingeniería Web propone nuevos métodos para el diseño de aplicaciones que se ejecutan en esta nueva plataforma que es la World Wide Web. Uno de estos métodos es UWE (UML Web Engineering), el cual aprovecha la notación estándar del UML e incorpora elementos que son propios del desarrollo Web. En este artículo se presenta un caso de estudio para el diseño de un Sistema de Recomendación de Objetos de Aprendizaje, donde el modelado básico se realiza mediante el UWE. Se modela una aplicación Web que permite a los usuarios realizar la composición de los Objetos de Aprendizaje que el mismo sistema le recomienda al usuario previo análisis de las características tanto del mismo como de los Objeto de Aprendizaje almacenados en un repositorio especializado llamado AGORA. Palabras Clave — UWE, UML, Estereotipo, AGORA, Objetos de Aprendizaje. I. INTRODUCCIÓN El área de Ingeniería Web es relativamente una nueva dirección de la Ingeniería de Software para el desarrollo de Aplicaciones Web [1]. La Ingeniería Web trata varios aspectos, metodologías, herramientas y técnicas que hacen único del desarrollo y construcción de aplicaciones que se ejecutan en la World Wide Web [2]. Este artículo se enfoca en el aspecto de diseño en Ingeniería Web. Para el desarrollo de modelos conceptuales de aplicaciones Web existen varios métodos de diseño en Ingeniería Web, por ejemplo: OOHDM (Object-Oriented Hypermedia Design Model) [3], WebML (Web Modeling Language) [4], OO-H (Object Oriented approach) [5], UWE (UML Web Engineering) [6], entre otros. UWE fue uno de los primeros proyectos usado especialmente para aplicaciones Web [7]. El propósito de este artículo es presentar la aplicación de la metodología UWE en el diseño de un Sistema de Recomendación de Objetos de Aprendizaje. La aplicación Web sugiere a los usuarios una colección de recursos educativos que pueden resultar útiles para la creación de un Objeto de Aprendizaje compuesto. Los objetos son recuperados de un repositorio especializado denominado AGORA [8]. Este artículo está estructurado de la siguiente forma: se inicia con esta introducción que describe el propósito del documento. Luego se presenta una descripción del método UWE, indicando los elementos que lo constituyen. La tercera sección presenta un caso de estudio que sirve de guía para presentar el desarrollo del modelo para una situación práctica. Finalmente se proporcionan las conclusiones del estudio. II. INTRODUCCIÓN A UWE Desde hace unos años, la World Wide Web se ha convertido en una plataforma para la ejecución de toda clase de aplicaciones que cumplen un sinfín de funciones. Partiendo de páginas estáticas, la Web ha evolucionado incorporando elementos de seguridad, optimización, concurrencia y demás requerimientos que son necesarios para crear soluciones sólidas. Sin embargo, el desarrollo de una aplicación Web incluye elementos que no son comunes a una aplicación de escritorio. Esto requiere cambios importantes en la forma de realizar y controlar el proceso de desarrollo. Es decir, pasar de una Ingeniería de Software a una Ingeniería Web. Una de las primeras metodologías desarrolladas fue la Ingeniería Web basada en UML (UWE [9]). UWE es una metodología que permite especificar de mejor manera una aplicación Web en su proceso de creación [6] mantiene una notación estándar basada en el uso de UML (Unified Modeling Language [10]) para sus modelos y sus métodos, lo que facilita la transición. La metodología define claramente la construcción de cada uno de los elementos del modelo. En su implementación se deben contemplar las siguientes etapas y modelos [6]: Análisis de requisitos. Plasma los requisitos funcionales de la aplicación Web mediante un modelo de casos de uso. Modelo de contenido. Define, mediante un diagrama de clases, los conceptos a detalle involucrados en la aplicación. Modelo de navegación. Representa la navegación de los objetos dentro de la aplicación y un conjunto de estructuras como son índices, menús y consultas. Modelo de presentación. Representa las interfaces de usuario por medio de vistas abstractas. Modelo de proceso. Representa el aspecto que tienen las actividades que se conectan con cada clase de proceso. Como se hace notar, UWE provee diferentes modelos que permite describir una aplicación Web desde varios puntos de vista abstractos [11], dichos modelos están relacionados tal como se ilustra en la figura 1. Cada uno de estos modelos se representa como paquetes UML [10], dichos paquetes son procesos relacionados que pueden ser refinados en iteraciones sucesivas durante el desarrollo del UWE [12]. Citali Nieves-Guerrero, Juan Ucán-Pech ,Víctor Menéndez-Domínguez. 2014. UWE en Sistema de Recomendación de Objetos de Aprendizaje. Aplicando Ingeniería Web: Un Método en Caso de Estudio. Revista Latinoamericana de Ingeniería de Software, 2(3): 137-143, ISSN 2314-2642 137 El análisis de requisitos en UWE se modela con casos de uso. Está conformado por los elementos actor y caso de uso. En este sentido, los actores se utilizan para modelar los usuarios de la aplicación Web. empírica y utilizando herramientas independientes, desarrolladas para tareas concretas de otra índole, lo que limita y complica su utilización. El uso de procesos automáticos para la gestión de los Objetos de Aprendizaje es una temática recurrente en numerosos proyectos de e-Learning [18]; principalmente en lo que respecta a la reutilización de los objetos [29][20]. El proyecto AGORA [8] es un marco arquitectónico que modela los procesos involucrados en la gestión de Objetos de Aprendizaje (véase figura 2). El marco sirve como base para el desarrollo de un entorno integrado que controla y asiste a los usuarios durante el ciclo de vida de los objetos. Figura 1. Modelos de UWE. El modelo de contenido es el modelo conceptual del dominio de aplicación tomando en cuenta los requerimientos especificados en los casos de uso [12] y se representa con un diagrama de clases. Basado en el análisis de requisitos y el modelo de contenido se obtiene el modelo de navegación. Éste se representa con clases de navegación que serán explicados en el caso de estudio de este artículo. Basado en el modelo de navegación y en los aspectos de la interfaz usuario (requisitos), se obtiene el modelo de presentación. Dicho modelo describe la estructura de la interacción del usuario con la aplicación Web. El modelo de navegación puede ser extendido mediante clases de procesos. El modelo del proceso representa el aspecto que tienen las acciones de las clases de proceso. III. APLICACIÓN DEL MÉTODO EN CASO DE ESTUDIO En el ámbito del e-Learning, los Objetos de Aprendizaje [13] están teniendo una importante repercusión como componentes que pueden organizarse y distribuirse para satisfacer un objetivo educativo. Este tipo de recursos facilitan la construcción de experiencias de aprendizaje significativas que pueden almacenarse en repositorios para su posterior incorporación en algún sistema de gestión. Los Objetos de Aprendizaje proponen un modelo para la composición de estructuras y contenidos con el propósito de fomentar la interoperabilidad y la reutilización entre distintas aplicaciones y contextos de aprendizaje [14-15]. Un Objeto de Aprendizaje está constituido por dos elementos: una colección de recursos y un conjunto de descriptores, denominados metadatos [13]. El recurso puede ser cualquier colección de archivos multimedia, una aplicación o una dirección de Internet. Incluso pueden incluir otros objetos para constituir Objetos de Aprendizaje más complejos, esto es lo que se denomina Composición de Objetos de Aprendizaje. Todos estos elementos son almacenados en una estructura de información que es conforme a un estándar de descripción y distribución, lo que garantiza su reutilización [16]. La gestión de los Objetos de Aprendizaje involucra factores como el objetivo educativo, el estilo de aprendizaje, el grado de interacción, el diseño de la interfaz de usuario, las estructuras de almacenamiento, los descriptores, etc. Además, incluye varios procesos como la catalogación, la búsqueda y recuperación, la generación y composición de objetos, etc. [17]. Generalmente, el profesor realiza estos procesos de forma 138 Figura 2. Arquitectura de AGORA. Uno de los objetivos más relevantes del marco es emplear un enfoque de asistencia y recomendación para la ejecución de los procesos como el etiquetado de Objetos de Aprendizaje. Para ello, se considera el uso de diversas tecnologías y aspectos informáticos relacionados con la Ingeniería de Software, el Soft-Computing, la Ingeniería del Conocimiento, la Web semántica, la Minería de datos y otras herramientas, con el fin de establecer modelos, técnicas e instrumentos que faciliten el desarrollo, la explotación y evaluación de todos tipo de recursos orientados a la instrucción y el aprendizaje. Para los propósitos de este estudio se ha utilizado un proyecto de investigación que se orienta a desarrollar una aplicación Web que facilite el proceso de composición de Objetos de Aprendizaje a partir de los recursos que se encuentran almacenados en el repositorio de AGORA. En realidad, la aplicación Web es un Sistema de Recomendación [21] que propone una lista de recursos conforme a las características y necesidades educativas de un usuario, según un perfil predefinido. Los recursos están almacenados y disponibles para su recuperación desde el repositorio de AGORA. Se caracterizan por sus metadatos, que son una serie de campos que los describen y hacen más fácil su localización, dependiendo del grado de su completitud. Los usuarios relacionados con la aplicación se pueden clasificar en anónimo, tutor, consultor y alumno. Dependiendo del tipo de usuario que inicie sesión en la aplicación, será el formulario de su perfil y por ende el tipo de acciones que podrá realizar. El usuario interesado en realizar la creación de un objeto de aprendizaje compuesto deberá iniciar sesión en la aplicación y si es la primera vez, deberá registrarse previamente, llenando un formulario que corresponde a su perfil. Esta información permitirá que la aplicación personalice las recomendaciones a dicho usuario. Una vez que se inicie sesión, el usuario podrá realizar consultas sobre la temática de su interés y la aplicación proporcionará recomendaciones de acuerdo a su consulta y el Citali Nieves-Guerrero, Juan Ucán-Pech ,Víctor Menéndez-Domínguez. 2014. UWE en Sistema de Recomendación de Objetos de Aprendizaje. Aplicando Ingeniería Web: Un Método en Caso de Estudio. Revista Latinoamericana de Ingeniería de Software, 2(3): 137-143, ISSN 2314-2642 perfil registrado según la actividad de usuarios con perfiles similares o recursos similares a los que haya consultado. Una vez presentada una lista de recursos educativos relevantes provenientes del repositorio, el usuario podrá optar por realizar la composición de los Objetos de Aprendizaje seleccionados. Esto da inicio al proceso de composición que consiste en la localización física de los objetos en el repositorio y a la identificación de sus metadatos para poder integrarlos en un solo Objeto de Aprendizaje de mayor nivel. Posteriormente, el usuario puede optar por guardar el nuevo objeto compuesto en su computadora o en el mismo repositorio. A. Especificando los requisitos Una de las primeras actividades en la construcción de aplicaciones Web es la identificación de los requisitos, y en UWE se especifican mediante el modelo de requerimientos, que involucra el modelado de casos de uso con UML. El diagrama de casos de uso está conformado por los elementos actor y caso de uso. Los actores se utilizan para modelar los usuarios de la aplicación Web que para este caso de estudio son los diferentes tipos de usuarios (anónimo, consultor, tutor, alumno) que pueden interactuar con el mismo. Los casos de uso se utilizan para visualizar las diferentes funcionalidades que la aplicación tiene que proporcionar, como son: crear a un nuevo usuario, identificar al usuario, realizar una búsqueda, realizar la composición de un nuevo objeto y guardar el objeto compuesto En la figura 3 se ilustra el diagrama de casos de usos para la aplicación web. Es de mencionar que para cada etapa del modelado, UWE provee diferentes estereotipos [22]. La lista de todos los estereotipos que pueden utilizarse en esta etapa se encuentra el Perfil UWE (Profile UWE) del sitio oficial de UWE [23]. El caso de uso "IdentificarUsuario" es del estereotipo explorar ( «browsing»). Ejecuta el proceso de inicio de sesión el cual verifica si el usuario proporcionado existe en el sistema. El caso de uso "Guardar" es del estereotipo procesar ( «processing»). Ejecuta la conversión del objeto compuesto al estándar IEEE-LOM [24] y almacena el objeto compuesto en la computadora o en el repositorio para su posterior uso. El caso de uso "CrearUsuario" es el estereotipo procesar ( «processing»). Registra los datos de un nuevo usuario que se agrega al sistema, lo que facilita información de su perfil y mejora la personalización de los resultados. El nivel de detalle y la formalidad de la especificación de requerimientos dependen de los riesgos del proyecto y de la complejidad de la aplicación Web a construir. A menudo una especificación basada solamente en casos de uso no es suficiente [25]. Siguiendo el principio de usar UML para la especificación hasta donde sea posible, es factible emplear diagramas de actividades en esta fase. Para cada caso de uso descrito para actividades no triviales se puede construir al menos un diagrama de actividad por cada flujo principal de tareas realizadas en orden. Esto con el fin de describir la funcionalidad indicada por el caso de uso correspondiente. B. Definiendo el contenido El objetivo del modelo de contenido es proporcionar una especificación visual de la información en el dominio relevante para la aplicación Web. Este es un diagrama UML normal de clases, por ello se debe pensar en las clases que son necesarias para el caso de estudio presentado. En la figura 4 se presenta el diagrama de clases para el modelo de contenido. En particular, la información de los usuarios es modelada por la clase "PerfilUsuario" donde se almacenan las propiedades que describen a los diferentes tipos de usuarios. Figura 4. Modelo de Contenido. Figura 3. Casos de uso. El caso de uso "RealizarBusqueda" es del estereotipo explorar ( «browsing»). Modela la búsqueda de los objetos de aprendizaje por medio de las características de los objetos y de los usuarios para que el sistema pueda proporcionar una recomendación personalizada. El caso de uso "RealizarComposicion" es del estereotipo procesar ( «processing»). Según la lista final seleccionada por el usuario, ejecuta el proceso de composición para conformar un nuevo objeto de mayor nivel de instrucción añadiendo cambios a los metadatos si el usuario así lo decide. En la clase "Inicio" se modela el inicio de la aplicación web, se almacenan las credenciales y propiedades que sirven para identificar al usuario que quiere iniciar sesión. La clase "Búsqueda" modela la información que el usuario proporciona para realizar una consulta y los métodos que se ejecutan para generar la lista de recomendación, la selección de los objetos y la recuperación de los mismos con sus metadatos. La clase "metadatos" modela las características devueltas por los objetos de aprendizaje que el usuario ha seleccionado y el método de realizar la composición con la selección y los metadatos proporcionados. La clase "guardar" modela las características de almacenamiento del nuevo objeto compuesto. Citali Nieves-Guerrero, Juan Ucán-Pech ,Víctor Menéndez-Domínguez. 2014. UWE en Sistema de Recomendación de Objetos de Aprendizaje. Aplicando Ingeniería Web: Un Método en Caso de Estudio. Revista Latinoamericana de Ingeniería de Software, 2(3): 137-143, ISSN 2314-2642 139 C. Estructura de Navegación En una aplicación para la Web es útil saber cómo están enlazadas las páginas. Ello significa que se requiere un diagrama de navegación con nodos y enlaces. Este diagrama se modela con base en el análisis de los requisitos y el modelo de contenido. UWE provee diferentes estereotipos para el modelado de navegación, en la figura 5 se presentan los usados en este caso de estudio y seguidamente se da una descripción de cada uno de ellos. Figura 5. Estereotipos de estructura de navegación. Las clases de navegación ( «navigationClass») representan nodos navegables de la estructura de hipertexto; los enlaces de navegación ( «navigationLink») muestran vínculos directos entre las clases de navegación; las rutas alternativas de navegación son manejadas por menú ( «menu»). Los accesos se utilizan para llegar a múltiples instancias de una clase de navegación ( «index» o « guidedTour») o para seleccionar los elementos ( «query»). Las clases de procesos ( «processClass») forman los puntos de entrada y salida de los procesos de negocio en este modelado y la vinculación entre sí y a las clases de navegación se modela por enlaces de procesos ( «processLink»). En la figura 5, las clases de navegación "Inicio y PerfilUsuario" representan nodos navegables de la estructura de hipertexto y se consideran relevantes para la navegación. Los enlaces de navegación "navigationLink" y "processLink" muestran vínculos directos entre las clases de navegación y representan posibles pasos a seguir por el usuario y, por lo tanto, estos vínculos tienen que ser dirigidos. Figura 5. Clases de navegación 140 La navegación por diferentes alternativas es representada por las clases «menu» ("SeleccionUsuario, MenuBusqueda y MenuObjetosAprendizaje") que se añaden a cada clase de navegación que tiene más de una asociación saliente. Las primitivas de acceso «index» como es "ListaObjetosAprendizaje" se utilizan para llegar a múltiples instancias de una clase de navegación o para seleccionar los elementos con los tipos «query» como "IniciarPerfil y BuscarObjetosAprendizaje", este tipo de clase se debe agregar entre dos clases de navegación cada vez que la multiplicidad de la meta final de su asociación de enlace sea mayor que 1. Las entradas y salidas de las clases "RegistrarPerfil, VisualizarMetadatos y GuardarSeleccion" son modeladas por las clases «process». Es así que desde la página de Inicio un usuario puede, por medio de "SeleccionUsuario", tener una representación personalizada según sea su tipo de usuario con el que accede al sistema. Puede optar por usar "IniciarPerfil" para consultar si existe su clave de usuario proporcionada, o por "registrarPerfil" que inicia el proceso de registro del nuevo usuario. El usuario que ingresa a la aplicación proporciona palabras clave para “BuscarObjetosAprendizaje” que arroja una “ListaObjetosAprendizaje” para la selección por parte del usuario. De los objetos que son seleccionados en un “MenuObjetosAprendizaje”, el usuario puede “VisualizarMetadatos” de los objetos que son candidatos a conformar un nuevo Objeto de Aprendizaje de nivel superior de complejidad para “GuardarSeleccion”. D. Modelo de presentación El modelo de presentación ofrece una visión abstracta de la interfaz de usuario de una aplicación Web. Se basa en el modelo de navegación y en los aspectos concretos de la interfaz de usuario (IU). Describe la estructura básica de la IU, es decir, ¿qué elementos de interfaz de usuario (por ejemplo , texto, imágenes, enlaces, formularios) se utilizan para presentar los nodos de navegación?. Su ventaja es que es independiente de las técnicas actuales que se utilizan para implementar un sitio Web, lo que permite a las partes interesadas discutir la conveniencia de la presentación antes de que realmente se aplique. Una clase de presentación está compuesta de elementos de IU como texto ( «text»), enlaces ( «anchor»), botones ( «button»), imágenes ( «image»), formularios ( «form») y colecciones de enlaces ( «anchored collection»). La figura 4 muestra un ejemplo de la clase de presentación para la clase de navegación Inicio. En la figura 6 se modela la página de presentación "PaginaInicio". Existe una representación de texto para el encabezado y un mensaje de presentación. Modela también un formulario de entrada para que el usuario introduzca clave y contraseña, así como los botones de "iniciarperfil" y "registrarPErfil". Usualmente la información de varios nodos de aplicación es presentada en una página Web, la cual es modelada por páginas en UWE, por ejemplo, en la figura 6 se tiene una ( «presentationPage»). Las páginas de presentación también pueden contener grupos de presentación ( «presentationGroup»), grupos de presentación iterativos ( «iteratedPresentationGroup»), y presentaciones alternativas ( «presentationAlternative»), por ejemplo ajustar la interfaz al dispositivo utilizado para ejecutar la aplicación. Un grupo de presentación puede contener a si mismo grupos de presentación y clases de presentación. Citali Nieves-Guerrero, Juan Ucán-Pech ,Víctor Menéndez-Domínguez. 2014. UWE en Sistema de Recomendación de Objetos de Aprendizaje. Aplicando Ingeniería Web: Un Método en Caso de Estudio. Revista Latinoamericana de Ingeniería de Software, 2(3): 137-143, ISSN 2314-2642 Figura 6. Página de presentación: Inicio En la figura 7 se modela la página de presentación "paginaBusqueda" donde se representa como texto un encabezado y el nombre del usuario. Existe un formulario donde se puede introducir las palabras clave de búsqueda así como seleccionar los algoritmos que se pueden aplicar. Esta página de presentación contiene un grupo de presentación para modelar las listas de objetos candidatos a la composición y los botones de buscar y ver metadatos. E. Modelo de proceso La estructura de navegación puede ser extendida mediante clases de procesos que representan la entrada y la salida de procesos de negocio. El modelo del proceso representa el aspecto que tienen las acciones de las clases de proceso. En este modelo se tienen dos tipos de modelos: Modelo de estructura del proceso, que describe las relaciones entre las diferentes clases de proceso, y Modelo de flujo del proceso, que específica las actividades conectadas con cada « processClass». A continuación se describen cada uno de ellos: Modelo de estructura del proceso. Es representado por un diagrama de clases donde se describen las relaciones entre las diferentes clases de proceso. La figura 8 presenta la aplicación del modelo para el caso de estudio analizado. Modelo del flujo del proceso. Siguiendo el principio de la utilización de UML se han refinado los requisitos con los diagramas de actividad UML. Los diagramas de actividades incluyen actividades, actores responsables de estas actividades (opcional) y elementos de flujo de control. Ellos pueden ser enriquecidos con flujos de objetos que muestran objetos relevantes para la entrada o salida de esas actividades. Estos diagramas representan el flujo del proceso, describiendo el comportamiento de una clase de proceso. En la figura 9 se ilustra el diagrama de actividad para el proceso "Inicio". El diagrama muestra que al generar la página de inicio el usuario puede optar por dos opciones: proporcionar su clave de usuario y contraseña si es un usuario registrado, activar el botón para registrarse como nuevo usuario. En el caso de la primera opción, el sistema debe validar al usuario proporcionando el acceso a la búsqueda de objetos a aquellos usuarios que sean confirmados como válidos o mostrando un mensaje de error para el caso contrario. En la segunda opción, se debe activar el proceso de registro para capturar el perfil del nuevo usuario. En la figura 10 se ilustra el diagrama de actividad para el proceso "Buscar". El diagrama muestra que se activa con el botón buscar y el usuario proporciona las palabras clave para iniciar la búsqueda. La aplicación regresa una lista de objetos de aprendizaje candidatos a ser seleccionados por el usuario. Si existe la información se recupera la misma desde el repositorio, en caso contrario se regresa a la página de búsqueda. Si la información listada es de interés para el usuario, este selecciona la misma, en caso contrario cambia sus parámetros de búsqueda. Adicionalmente a estos modelos es requerido conformar la documentación requerida para la descripción de los modelos, así como los diccionarios de datos necesarios para clarificar el conocimiento representado. IV. CONCLUSIONES Figura 7. Página de presentación: Búsqueda. El desarrollo de aplicaciones requiere de metodologías acordes a las características de la plataforma donde estas sean ejecutadas. La Ingeniería Web propone nuevas metodologías orientadas al desarrollo y modelación de los procesos asociados a aplicaciones que se ejecuten en la World Wide Web. En este trabajo se ha presentado UWE, una metodología basada en UML que tiene como finalidad especificar de una manera clara y conocida, una aplicación Web. Citali Nieves-Guerrero, Juan Ucán-Pech ,Víctor Menéndez-Domínguez. 2014. UWE en Sistema de Recomendación de Objetos de Aprendizaje. Aplicando Ingeniería Web: Un Método en Caso de Estudio. Revista Latinoamericana de Ingeniería de Software, 2(3): 137-143, ISSN 2314-2642 141 Figura 8. Estructura del proceso. Se ha ilustrado cada uno de los elementos del modelo a partir de las funcionalidades, características y elementos que conforman las especificaciones de la aplicación Web. Uno de los beneficios de la metodología es reutilizar el conocimiento previo que se cuenta con respecto al empleo de UML. Además la conjugación de todos los modelos permite una visión integral de los requerimientos de la aplicación Web, facilitando su descripción y en consecuencia su comprensión. REFERENCIAS [1] [2] Figura 9. Flujo del proceso: Inicio. [3] [4] [5] [6] [7] [8] [9] Figura 10. Flujo del proceso: Buscar. Con el propósito de ejemplificar su utilización se ha desarrollado un caso de estudio para un Sistema de Recomendación de Objetos de Aprendizaje que se ejecuta en la Web. 142 [10] G. Kappel, B. Pröll, S. Reich, and W. Retschizegger. Web engineering: The discipline of systematic development of web applications. John Wiley & Sons, 2006 S. Murugesan. Web application development: Challenges and the role of web engineering. En Web Engineering: Modelling and Implementing Web Applications. Springer London, 2008. p. 7-32. D. Schwabe and G. Rossi, “The object-oriented hipermedia design model,” Commun. ACM, vol. 38, no. 8, pp. 45–46, Aug. 1995. S. Ceri, P. Fraternali, and A. Bongio, “Web Modeling Language (WebML): a modeling language for designing Web sites,” Computer Networks, vol. 33, no. 1–6, pp. 137–157, Jun. 2000. J. Gómez, C. Cachero, and O. Pastor, “Conceptual Modeling of Device-Independent Web Applications,” IEEE MultiMedia, vol. 8, no. 2, pp. 26–39, Apr. 2001. N. Koch, A. Knapp, G. Zhang, and Baumeister, H. UML-based web engineering. En Web Engineering: Modelling and Implementing Web Applications. Springer London, 2008. p. 157191. D. Ceke, M. Durek, and S. Kasapovic. Web application functional size estimation based on COSMIC method and UWE approach. En Information & Communication Technology Electronics & Microelectronics (MIPRO), 2013 36th International Convention on. IEEE, 2013. p. 396-403. V. H. Menéndez-Domínguez, M. E. Castellanos-Bolaños, and S. J. Pech-Campos. Fomento de la innovación y flexibilidad en desarrollo de objetos de aprendizaje. La plataforma AGORA. Revista Apertura, 2012, vol. 3, no 1. N. Koch. “Transformations Techniques in the Model-Driven Development Process of UWE”. Proc. 2nd Wsh. Model-Driven Web Engineering (MDWE’06), Palo Alto, 2006. Object Management Group (2014, Febrero 10). Unified Modeling Language. Disponible en: www.uml.org. Citali Nieves-Guerrero, Juan Ucán-Pech ,Víctor Menéndez-Domínguez. 2014. UWE en Sistema de Recomendación de Objetos de Aprendizaje. Aplicando Ingeniería Web: Un Método en Caso de Estudio. Revista Latinoamericana de Ingeniería de Software, 2(3): 137-143, ISSN 2314-2642 [11] M. Busch and M. A. G. de Dios. ActionUWE: Transformation of UWE to ActionGUI Models. Transformation, 2012, vol. 3, p. 2. [12] N. Koch, A. Kraus, and R. Hennicker. The authoring process of the uml-based web engineering approach. En First International Workshop on Web-Oriented Software Technology. 2001. [13] D. Wiley. Connecting learning objects to instructional design theory: A definition, a metaphor, and a taxonomy. In D. A. Wiley (Ed.), The instructional use of learning objects. 2003. [14] R. McGreal. Learning objects: A practical definition. International Journal of Instructional Technology and Distance Learning (IJITDL), 2004, vol. 9, no 1. [15] M.-a. Sicilia, E.Garcia-Barriocanal, , S. Sanchez-Alonso, and J. Soto. A semantic lifecycle approach to learning object repositories. En Telecommunications, 2005. advanced industrial conference on telecommunications/service assurance with partial and intermittent resources conference/e-learning on telecommunications workshop. aict/sapir/elete 2005. proceedings. IEEE, 2005. p. 466-471. [16] Ip. Albert, I. Morrison, and M. Currie. What is a learning object, technically. World Conference on the WWW and Internet Proceedings, Orlando, EE.UU., 23-27 Octubre. En WebNet. 2001. p. 580-586. [17] O. Catteau, P. Vidal, and J. Broisin. A generic representation allowing for expression of learning object and metadata lifecycle. En Advanced Learning Technologies, 2006. Sixth International Conference on. IEEE, Kerkrade, Holanda, 5-7 Julio 2006: IEEE Computer Society. pp. 30-32. [18] O. Motelet, N. Baloian, and J. A. Pino. Learning object metadata and automatic processes: Issues and perspectives. In K. Harman, y A. Koohang (Eds.), Learning objects: Standards, metadata, repositories, and lcms (pp. 185-220). Santa Rosa: Informing Science Press. 2006. [19] R. G. Farrell, S. D. Liburd, and J. C. Thomas Dynamic assembly of learning objects. In Proceedings of the 13th international World Wide Web conference on Alternate track papers & posters, New York, EE.UU., 2004 (pp. 162-169): ACM. doi:http://doi.acm.org/10.1145/1013367.1013394. [20] R.Fraser, and P.Mohan. (2014, Mayo 11). Using web services for dynamically re-purposing reusable online learning resources. Paper presented at the Proceedings of the IEEE International Conference on Advanced Learning Technologies. [21] F. Ricci, L. Rokach, and B. Shapira, Recommender Systems Handbook. Boston, MA: Springer US, 2011, pp. 1–35 [22] M. Busch, M. Ochoa, and R. Schwienbacher. Modeling, Enforcing and Testing Secure Navigation Paths for Web Applications. 2013. [23] LMU. Web Engineering Group (2014, Enero 5). UWE Website. Disponible en: http://uwe.pst.ifi.lmu.de/. [24] IEEE-LTSC (2002). 1484.12.1-2002 ieee standard for learning object metadata. Disponible en: http://ltsc.ieee.org/wg12/. [25] P. Vilain, D. Schwabe, and, C. de Souza. A diagrammatic tool for representing user interaction in UML. In A. Evans, S. Kent, and B. Selic, eds., Proceedings Third International Conference on Unified Modeling Language (UML’00), pp. 133–147. Composición y Sistemas de Recomendación para la Educación a distancia. Juan Pablo Ucán Pech es Maestro en Sistemas Computacionales con especialidad en Ingeniería de Software por el Instituto Tecnológico de Mérida, México. Licenciado en Ciencias de la Computación por la Facultad de Matemáticas de la Universidad Autónoma de Yucatán, México. Actualmente se encuentra cursando el Doctorado en Sistemas Computacionales de la Universidad del Sur, México. Es Profesor Titular en la Facultad de Matemáticas de la Universidad Autónoma de Yucatán, México. Su trabajo de investigación se centra en temas relacionados con la Ingeniería de Software, Ingeniería Web e Informática Educativa. Víctor Hugo Menéndez Domínguez es Doctor en Tecnologías Informáticas Avanzadas por la Universidad de Castilla-La Mancha, España, tiene un Máster en Tecnologías Informáticas por la misma institución. Además, cuenta con una Especialización en Docencia y una Licenciatura en Ciencias de la Computación por parte de Universidad Autónoma de Yucatán, México. Es Profesor Titular en la Facultad de Matemáticas de la Universidad Autónoma de Yucatán, México. Su trabajo de investigación se centra en temas relacionados con la Educación a distancia, la representación del conocimiento el aprendizaje, así como la gestión de Objetos de Aprendizaje. Citlali Guadalupe Nieves Guerrero es Licenciada en Ciencias de la Computación por la Universidad Autónoma de Yucatán y cuenta con una Especialización en Competencias Docentes por la Universidad Pedagógica Nacional (ambas de México). Actualmente se encuentra cursando la Maestría en Ciencias de la Computación de la Universidad Autónoma de Yucatán, México. Es docente en el Colegio de Educación Profesional Técnica del Estado de Yucatán, Plantel Tizimín, México. Su trabajo de investigación se centra en temas relacionados con Objetos de Aprendizaje, Citali Nieves-Guerrero, Juan Ucán-Pech ,Víctor Menéndez-Domínguez. 2014. UWE en Sistema de Recomendación de Objetos de Aprendizaje Aplicando Ingeniería Web: Un Método en Caso de Estudio. Revista Latinoamericana de Ingeniería de Software, 2( 3): 137-143, ISSN 2314-2642 143