Toward a Rapid Development of Social Network- Based Recommender Systems

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Toward a Rapid Development of Social Network- Based Recommender Systems"

Transcripción

1 Toward a Rapid Development of Social Network- Based Recommender Systems G. Rojas and I. Garrido 1 Abstract Actions carried out in social networks such as Facebook, Twitter, Foursquare, and the like, can greatly benefit the quality of recommendations provided by recommender systems. Usual interactions on these platforms provide valuable information on user preferences and proximity with other users. However, the use of this information by external recommender systems is still incipient and developers have little support to do it efficiently. In this paper, we introduce a model-driven development framework for recommenders systems based on social networks. The core of this framework is an abstract, social network-independent model of recommender systems, which combines domain-independent concepts of collaborative filtering with basic concepts of social networks that can be exploited for recommendation purposes. From this model, developers can specify the structure and algorithms of domain-specific recommender systems at a high abstraction level. An automatic code generation strategy supports the implementation phase. Experiments show promising results in development-time saving. Keywords Recommender Systems, Social Networks, Model Driven Development, Automatic Code Generation, Cold Start Problem. I. INTRODUCCIÓN OS SISTEMAS de recomendación concitan creciente L interés como una valiosa alternativa para lidiar con la sobrecarga de información, mediante la provisión de acceso rápido a ítems que se ajustan a las preferencias del usuario y su contexto de interacción. Los estudios en este ámbito se han centrado principalmente en perfeccionar la calidad de los resultados provistos por distintos enfoques y algoritmos de recomendación y por integrar características del contexto de interacción que influencian las preferencias del usuario. Uno de los desafíos que enfrentan los sistemas de recomendación es la baja disponibilidad de información sobre las preferencias de sus usuarios. Los datasets de preferencias a partir de los cuales se realizan recomendaciones suelen ser altamente dispersos [1,2], con pocas preferencias por usuario en comparación a la cantidad de ítems disponibles. Para usuarios nuevos, se debe enfrentar el problema del cold-start (o partida en frío) [3], que describe la dificultad de proveer recomendaciones iniciales ante la nula existencia de información sobre preferencias. Una de las alternativas para enfrentar estas carencias consiste en aprovechar la información que los mismos usuarios suministran en las distintas redes sociales en las que participan. Las redes sociales se han constituido en una valiosa G. Rojas, Universidad de Concepción, Concepción, Chile, gonzalorojas@udec.cl I. Garrido, Universidad de Concepción, Concepción, Chile, ismaelgarrido@udec.cl Corresponding author: Gonzalo Rojas fuente de información, cuyos datos son capturados, analizados y explotados en variados contextos [4,5]. En el ámbito de los sistemas de recomendación, las relaciones que se establecen entre distintos usuarios de redes sociales pueden mejorar la selección de usuarios similares (vecinos) a partir de cuyas preferencias se obtienen las recomendaciones. En otro escenario, las preferencias expresadas por ítems en un dominio particular (películas, música, libros, etc.) pueden complementar las preferencias de un sistema de recomendación para ítems de dicho dominio. Un tercer escenario provechoso es la implementación de nuevas funcionalidades de recomendación en las propias redes sociales, lo que ayuda a lidiar con la sobrecarga de información que es fácilmente observable en estos sistemas. De esta forma, las actividades que los usuarios realizan en redes sociales se transforman en una valiosa característica de contexto que influye en la calidad de las recomendaciones. Sin embargo, tal como se plantea en [6], en el ámbito de los sistemas de recomendación dependientes de contexto, la intensa actividad investigadora sobre algoritmos de recomendación no ha ido de la mano con propuestas ingenieriles que ayuden al diseño, implementación y uso de estos sistemas. El presente trabajo aborda el desafío ingenieril de desarrollar sistemas de recomendación basados en la información que sus usuarios suministran en redes sociales. Para ello, propone un modelo abstracto que integra conceptos de recomendación basada en filtrado colaborativo con características típicas de las interacciones en redes sociales que son útiles para el proceso de recomendación. Este modelo es la base para una estrategia de desarrollo dirigida por modelos, en la cual la estructura de un sistema de recomendación particular se especifica mediante un diagrama de clases UML en el que se asocian los conceptos propios de su dominio particular con los conceptos independientes del dominio expresados en el modelo abstracto. Mediante reglas de transformación de modelo a texto, se genera automáticamente el código que implementa la estructura del sistema de recomendación. Dicho código se integra fácilmente con datos extraídos de redes sociales y con algoritmos de recomendación, sean éstos generados automáticamente a partir de los modelos dinámicos, o implementados manualmente. De esta forma, se pueden obtener rápidamente prototipos ejecutables de sistemas de recomendación que permiten generar recomendaciones considerando la interacción del usuario en redes sociales. Esta rápida implementación facilita el análisis de los resultados obtenidos a partir de los algoritmos de recomendación elegidos y de alternativas de uso de la información de redes sociales en el proceso de recomendación. El resto del artículo se estructura como sigue: en la Sección II se presentan algunos trabajos relacionados a la integración

2 de sistemas de recomendación y redes sociales. En la Sección III, se realiza una descripción de la propuesta de desarrollo. En la Sección IV, se detalla el modelo abstracto de recomendación, que es la base de la propuesta de desarrollo. La Sección V describe la implementación de esta propuesta, a través de un caso de estudio. La Sección VI describe un experimento que compara la propuesta con dos escenarios alternativos en términos de tiempo de desarrollo. Finalmente, se presentan conclusiones y líneas de trabajo futuro. II. TRABAJOS RELACIONADOS La relación entre sistemas de recomendación y redes sociales ha sido estudiada en términos de posibilidades y características de estas últimas que, expresadas explícita o implícitamente, favorecen la calidad de los sistemas de recomendación [7]. Como ejemplo, en [8] se resalta la mejora obtenida en las recomendaciones de una red social de música al considerar las relaciones de amistad entre sus usuarios, para un proceso de recomendación basado en grafos. El trabajo presentado en [9] demuestra las ventajas de la información sobre amigos directos e indirectos (amigos de amigos) de un usuario en redes sociales para enfrentar el problema del coldstart, sugiriendo la aplicación de filtros semánticos para la elección de los amigos más relevantes en el dominio de la recomendación. En [10], los autores evaluaron los efectos de la combinación de evaluaciones realizadas en un sistema de recomendación con las realizadas por los mismos usuarios en Facebook, validando las preferencias emitidas en esta red social como un instrumento eficaz para proveer preferencias iniciales a usuarios nuevos y en términos de la calidad de la recomendación obtenida, tanto a partir de preferencias expresadas por ítems del mismo dominio del sistema de recomendación como a partir de preferencias por ítems de otros dominios (cross-domain recommendations [11]) Entre algunas propuestas que adaptan métodos tradicionales de recomendación a información provista en redes sociales, cabe mencionar la propuesta SocialCollab [12], como una adaptación de la técnica de recomendación de filtrado colaborativo [13] para recomendación de personas en redes sociales. Se establece que dos usuarios son similares si han preferido a los mismos usuarios (tienen los mismos gustos), o bien si son preferidos por los mismos usuarios (tienen similar atractivo). Como resultado, se recomiendan relaciones entre dos usuarios, prediciendo una relación exitosa (solicitada y respondida favorablemente), haciendo coincidir el gusto de uno con el atractivo del otro, y viceversa. Adoptando otra técnica de recomendación, la propuesta CB Filtered Wall [14] permite un filtrado automático de mensajes que el sistema determina no deseables para el usuario actual, a partir de reglas basadas en contenido [15]. El beneficio mutuo entre sistemas de recomendación y redes sociales que reportan estos trabajos ha sido, sin embargo, débilmente apoyado por propuestas que aborden esta integración siguiendo las buenas prácticas de Ingeniería de Software. Con ello, el estado del arte en esta materia privilegia la confirmación empírica del potencial de esta integración, o soluciones ad-hoc para el desarrollo de sistemas particulares. Como una excepción, el framework Hybreed [16] apoya el desarrollo de sistemas de recomendación basados en contexto, proveyendo al desarrollador de facilidades para definir combinaciones híbridas de algoritmos conocidos en base a una definición dinámica de contexto. A partir de un núcleo de componentes comunes provistos mediante paquetes en Java previamente implementados, el desarrollador construye vistas para sistemas de recomendación específicos. Además, el framework implementa interfaces para la integración de información recolectada a partir de redes sociales. A diferencia de nuestra propuesta, Hybreed aborda el desarrollo de sistemas de recomendación a nivel de implementación. También a nivel de código, destaca la existencia de algunas bibliotecas como Lenskit (orientado principalmente a la academia) [17] y Apache Mahout [18], las que proveen acceso a algoritmos de recomendación (principalmente de filtrado colaborativo) a sistemas ya desarrollados, en base a información previamente recolectada de usuarios, ítems y preferencias. Entre las propuestas que caracterizan sistemas de recomendación dependientes de contexto utilizando modelos conceptuales, destaca el trabajo de Ceri et al. [19], que amplía un método de producción de software con conceptos de recomendación y de contexto descritos a alto nivel. Esta propuesta, sin embargo, no incorpora explícitamente la información de redes sociales. III. DESCRIPCIÓN DE LA PROPUESTA El presente trabajo propone un framework de desarrollo que permite agilizar la implementación de sistemas de recomendación que utilicen información de redes sociales. Adoptando el paradigma de desarrollo dirigido por modelos [20,21], permite especificar la estructura y dinámica de un sistema de recomendación en un alto nivel de abstracción, a partir de un modelo abstracto que combina conceptos de filtrado colaborativo con elementos de redes sociales. A partir de estos modelos, la propuesta permite generar automáticamente el código correspondiente a las clases del sistema y los métodos de recomendación. De esta forma, se facilita tanto la validación y experimentación de algoritmos de recomendación, como el desarrollo del sistema de recomendación final, proveyendo una base para futuros incrementos de desarrollo. La propuesta apoya la generación de recomendaciones en los siguientes tres escenarios: (i) Un sistema de recomendación busca suplir preferencias faltantes de usuarios por ciertos ítems de su dominio, a partir de las preferencias expresadas por los mismos usuarios sobre los mismos ítems en redes sociales. (ii) Un sistema de recomendación busca complementar la similitud entre usuarios con la relación de proximidad establecida por los mismos usuarios en una red social (amistad, seguimiento, etc.). (iii) Una red social incorpora algoritmos de recomendación para mejorar recomendaciones de sus ítems. Los dos primeros escenarios proponen alternativas para enfrentar el problema de cold-start de los sistemas de recomendación basados en filtrado colaborativo, donde no se cuenta con suficiente cantidad de preferencias como para computar las similitudes necesarias entre usuarios o ítems para efectuar recomendaciones. El tercer escenario busca facilitar el desarrollo de nuevas capacidades de recomendación en redes sociales existentes o futuras.

3 La Fig. 1 muestra la arquitectura de desarrollo propuesta. El núcleo del framework corresponde al modelo abstracto de recomendación basada en redes sociales, que describe los conceptos fundamentales de recomendación basada en filtrado colaborativo, integrándolos con conceptos de redes sociales que son útiles para el proceso de recomendación. Este modelo corresponde a un Diagrama de Clases UML, que permite modelar la estructura completa de un sistema de recomendación específico mediante la instanciación de sus clases abstractas a dominios concretos. El núcleo se complementa con modelos de algoritmos de similitud y predicción, correspondientes a Diagramas de Comunicación UML, que permiten ajustar estrategias de selección de ítems o usuarios para cálculo de similitud y predicción de preferencias según los requerimientos de cada sistema de recomendación, independientemente de lenguajes de implementación. colaborativo, así como elementos comunes de redes sociales que pueden ser explotados en el proceso de recomendación. La base de filtrado colaborativo se justifica por su independencia de dominios particulares (la recomendación sólo se basa en comparación de preferencias entre usuarios) y su amplia adopción en los sistemas existentes. Figura 2. Modelo abstracto de recomendación basada en redes sociales. Figura 1. Arquitectura de desarrollo de sistema de recomendación basado en redes sociales. Tanto el diagrama de clases UML resultante como los diagramas de comunicación seleccionados son transformados automáticamente a código en un lenguaje orientado a objetos, mediante reglas de transformación Modelo-a-Texto [22]. El resultado describe el núcleo del sistema a nivel de código, comprendiendo las clases de dominio (con atributos y signaturas a métodos para la recomendación) y los algoritmos de similitud y predicción. Para la ejecución del prototipo, el código generado se integra con una unidad de ejecución, que captura las interacciones de los usuarios en el sistema de recomendación e invoca a las clases y métodos generados automáticamente, comunicándose con el repositorio de datos. Este repositorio integra la información proveniente de redes sociales con la información de los usuarios, ítems y preferencias del sistema, junto a la información precomputada de similitud entre ítems y/o usuarios a partir de dichas preferencias. IV. MODELO ABSTRACTO DE RECOMENDACIÓN BASADA EN REDES SOCIALES El núcleo de esta propuesta es el modelo abstracto de sistemas de recomendación, que se ilustra en la Fig. 2. Este modelo corresponde a un Diagrama de Clases UML conformado por clases abstractas que representan los conceptos básicos de recomendación basada en filtrado Las clases abstractas definidas están relacionadas mediante asociaciones y relaciones de herencia. Cuentan además con atributos básicos para el cálculo de recomendaciones y con la definición de los métodos que ejecutan los algoritmos de recomendación, desde la perspectiva de asignación de responsabilidades entre objetos. Para definir un modelo estructural de un sistema de recomendación específico, se definen las clases, atributos y asociaciones específicas del dominio correspondiente, incluyendo los de la red social a utilizar. El desarrollador atribuirá a las clases que corresponda la dependencia en herencia de las clases del modelo abstracto. Para esta integración, el framework provee de un profile UML simple, que extiende la metaclase class del metamodelo UML con estereotipos correspondientes a las clases del modelo abstracto. De esta forma, las clases del sistema específico son estereotipadas con las clases del modelo abstracto, heredando sus propiedades y permitiendo la ejecución directa de los algoritmos de recomendación seleccionados. Junto con apoyar la definición estructural de nuevos sistemas de recomendación, esta estrategia permite atribuir capacidades de recomendación a un sistema preexistente, aplicando el profile a su correspondiente diagrama de clases y estereotipando aquellas que se identifiquen como compatibles con la red social a utilizar. Por otra parte, la incorporación de conceptos comunes de redes sociales dentro de un marco de desarrollo de sistemas de recomendación, permite abstraer al desarrollador de detalles particulares de redes sociales específicas, y así enfocar su atención en aquellos aspectos que son útiles al proceso de recomendación.

4 Los elementos centrales del modelo son: (i) Usuario. La clase abstracta Usuario describe al usuario del sistema de recomendación, que expresa sus preferencias sobre ítems que conoce y, de acuerdo a ellas, recibe recomendaciones de ítems desconocidos. (ii) Ítem. Describe el concepto a ser evaluado y recomendado. El modelo especializa esta clase en tres subclases: a. Publicación, referida a la interacción típica de redes sociales, en las cuales se publica un mensaje en un espacio compartido con otros usuarios. Corresponde, por ejemplo, a una publicación en Facebook o un tweet de Twitter; b. Ítem de Dominio, se refiere a ítems de distintos dominios sobre los cuales los usuarios publican algún mensaje o expresan alguna preferencia. Por ejemplo, películas en Facebook, empresas en LinkedIn, restaurantes en Foursquare; c. Usuario, correspondiente a la misma clase anterior, pero describiendo a los usuarios con los que el usuario actual interactúa en la red social y que el sistema propone para establecer nuevas relaciones unidireccionales (seguimiento, en Twitter) o bidireccionales (amistad, en Facebook). (iii) Preferencia. El modelo recoge los tres tipos básicos de evaluación implementados tanto en sistemas de recomendación como en redes sociales: unaria, binaria y escalar. Así, es posible modelar, por ejemplo, evaluaciones unarias sobre usuarios (seguir a un usuario Twitter), binarias sobre publicaciones (like / dislike de enlaces en Reddit), o escalares sobre ítems de dominio (número de estrellas, de 1 a 5, sobre películas en Facebook). Nótese que, en el primer caso, la evaluación es implícita, es decir, el sistema de recomendación deduce una preferencia a partir de una interacción normal de la red social, mientras que, en los dos ejemplos siguientes, la evaluación es explícita, es decir, la interacción del usuario tiene como objetivo el suministrar su evaluación. Adicionalmente, el modelo define las clases Similitud_ Usuario y Similitud_Ítem para registrar los valores de similitud entre pares de usuarios e ítems, respectivamente, calculados con algoritmos de filtrado colaborativo a partir de las preferencias recolectadas. Finalmente, las clases abstractas correspondientes a redes sociales son complementadas con las siguientes estructuras: (i) Clase Categoría: esta clase representa descriptores de categorías de dominio para los 3 tipos de ítems del sistema. Estos datos permiten complementar el filtrado colaborativo con recomendaciones basadas en contenido. Algunos ejemplos de clases concretas de Categoría son: etiquetas (Twitter, Instagram), habilidades (LinkedIn), categorías (Foursquare). (ii) Asociación Publicación Ítem de Dominio: esta asociación permite expresar la referencia que una publicación hace de un ítem de dominio. Las eventuales preferencias que reciba la publicación pueden considerarse una preferencia indirecta (o débil) del Ítem de Dominio asociado (Ej.: publicación de un comentario sobre una película). (iii) Asociación Usuario Publicación: permite describir la autoría de una publicación. Tal como en el caso anterior, una preferencia por una publicación puede ser considerada una preferencia indirecta por el usuario autor. V. IMPLEMENTACIÓN DE LA PROPUESTA La propuesta ha sido implementada sobre el entorno de desarrollo Eclipse (versión Mars, paquete Modelling Tools [23]). Para la creación del modelo abstracto y el UML profile que permite su instanciación, se utilizó el entorno de modelado Papyrus [24]. Finalmente, se creó un plugin en el entorno Acceleo [25], que permite la transformación automática de los modelos conceptuales creados a código en Java (modelos, plugin y dataset de prueba están disponibles en La Fig. 3 muestra el resultado del primer paso del desarrollo basado en el framework propuesto, correspondiente a la confección del Diagrama de Clases específico, en este caso, de un sistema que recomienda películas, utilizando información extraída desde Facebook. La recomendación utilizará los datos de amistad entre sus usuarios y las preferencias Me gusta y de evaluación numérica expresada por películas. Como se aprecia, el desarrollador ha asignado los estereotipos correspondientes al usuario del sistema (llamado Usuario) y al ítem a evaluar y recomendar (Película). Además, ha clasificado las dos evaluaciones de acuerdo a los tipos abstractos Unario y Escalar, respectivamente. Figura 3. Diagrama de Clases de un sistema de recomendación basado en Facebook, al que se han aplicado los conceptos del modelo abstracto. Como segundo paso, se eligen los Diagramas de Comunicación para computar la similitud entre ítems o usuarios, y para asignar un valor de preferencia a los ítems a recomendar. En la Fig. 4, se muestra una posible opción para el diagrama de similitud, correspondiente a una de las cuatro alternativas actualmente implementadas por el framework. En este caso, se ejecutará una estrategia de similitud basada en usuarios, es decir, se obtendrán recomendaciones a partir de usuarios similares. Esta similitud se computará en base a una estrategia que compara usuarios que han preferido los mismos ítems, calculando la similitud de sus correspondientes vectores de preferencia (a través del método ObtainSimilarity invocado por el mensaje 2.5, en la Fig. 4). Notemos que los objetos que interactúan en el Diagrama de Comunicación corresponden a las clases independientes del dominio definidas en el modelo abstracto, lo que independiza el cálculo de las recomendaciones de dominios particulares. La selección del diagrama de predicción de preferencias es análogo. Para más detalles del cálculo de predicciones y otras opciones de

5 parametrización de estos esquemas se discuten en [26]. Figura 4. Diagrama de Comunicación para cálculo de similitud de usuarios, con estrategia de comparación basado en ítems preferidos en común. El paso final corresponde a la ejecución de las reglas de transformación de modelo a texto, implementadas en un plugin que contiene reglas de transformación modelo a texto en el lenguaje estándar MOF M2T [22]. La ejecución de este plugin (que llamamos Recommendation Support) permite obtener el código Java de forma automática, a partir de los modelos abstracto y específico de dominio, y del diagrama de comunicación, respectivamente. En su versión actual, el plugin incorpora de forma nativa la implementación de las fórmulas Coseno y Pearson-r para el cálculo de similitud, las que son elegidas como parámetros del modelo de comunicación correspondiente. Además, el plugin agrega una clase interfaz que invoca a los métodos que ejecutan el cálculo de similitud y la generación de recomendaciones, enmascarando los detalles de los algoritmos seleccionados. Para ejecutar el código generado, se implementa manualmente el módulo de ejecución, que realiza la llamada a la base de datos con los datos previamente extraídos desde la red social e invoca al algoritmo de recomendación generado. VI. EXPERIMENTOS Para validar las ventajas de esta aproximación, se realizó un experimento que comparó los tiempos de desarrollo para un sistema de recomendación basado en redes sociales, considerando tres escenarios que se distinguen entre sí por la aplicación total o parcial del modelo abstracto y de generación automática de código. Así, el primer escenario corresponde a la aplicación completa del framework propuesto, es decir, a la confección de un diagrama de estructura del sistema de recomendación a partir del modelo abstracto presentado, junto con la generación automática del código del algoritmo de filtrado colaborativo a partir del diagrama de comunicación. El segundo escenario sólo adoptó esta propuesta para la generación del código de la estructura de la aplicación, integrándolo con algoritmos del framework de recomendación Apache Mahout, a nivel de implementación. Un tercer escenario propone la confección del diagrama de estructura del sistema de recomendación sin la guía del modelo abstracto, debiendo el desarrollador describir los conceptos relevantes e integrarlos exitosamente con los algoritmos de recomendación de Apache Mahout. Para este experimento, se asignó el desarrollo del ejemplo descrito en la sección anterior. Un equipo conformado por 24 desarrolladores, 18 pertenecientes a últimos años de carreras de ingeniería en computación y 6 a ingenieros en computación en estudios de postgrado. Los desarrolladores fueron asignados aleatoriamente en uno de los tres escenarios, con 6 estudiantes de pregrado y 2 de postgrado enfrentando individualmente cada escenario. Todos los desarrolladores fueron provistos de instrucciones de desarrollo, y con una estación de trabajo con el entorno de desarrollo Eclipse, junto con las extensiones y bibliotecas necesarias (Papyrus para la edición de modelos UML en los tres escenarios, Acceleo y el plugin Recommendation Support para el primero, Java CodeGeneration de Papyrus y Apache Mahout, para los escenarios 2 y 3), más un servidor local PHP/MySQL conteniendo una base de datos de prueba que combina un dataset de amistades en Facebook [27] con otro que contiene preferencias de MovieLens [28]. Junto con la generación o integración del código del sistema, el desarrollador debe modificar una versión inicial del Módulo de Ejecución, correspondiente a una clase Java que provee conexión al dataset, para proveer las siguientes 3 listas de recomendaciones: a) Recomendaciones de películas para un usuario, basadas en sus evaluaciones previas, aplicando algoritmo de recomendación Pearson-r basado en similitud de ítems. b) Recomendaciones de amigos, basado en relaciones de amistad, aplicando algoritmo de recomendación Coseno basado en similitud de ítems. c) Ítems preferidos (rating>3) por amigos de la red social. El gráfico de la Fig. 5 muestra una comparativa de los tiempos de desarrollo (en minutos) entre las tres alternativas de desarrollo implementadas. Figura 5. Comparativa de tiempos de desarrollo para prototipo, con variaciones en el uso de modelo abstracto (1 y 2) e integración de algoritmos de recomendación (1, generación automática, 2 y 3 integración a nivel de implementación). Los resultados muestran una significativa ventaja en el uso del modelo abstracto de recomendación (escenarios 1 y 2) en los tiempos de desarrollo, con un promedio de 33 y 31,5

6 minutos, respectivamente, frente a 66 minutos en el escenario 3. El experimento no arroja ventajas significativas en el tiempo de desarrollo en la generación automática de algoritmos de recomendación, frente a la integración de algoritmos provistos por bibliotecas de recomendación a nivel de código. En cuanto a la distribución del tiempo entre las tareas de desarrollo, los desarrolladores del primer escenario invirtieron, en promedio, un 45,5% en tareas de modelado, un 24,2% en ajustes del código generado automáticamente, y un 30% en la implementación manual del módulo de ejecución; en el escenario 2, esta distribución fue de 41,9%, 32,3% y 25,8%, y en el escenario 3, de 66%, 14% y 20%, respectivamente. El escenario 2 muestra un tiempo levemente inferior de desarrollo al escenario 1. Esta leve ventaja se atribuye a la facilidad de integrar el código de la estructura con algoritmos del framework Apache Mahout. Como amenazas a la validez del experimento, se cuenta la experiencia de los desarrolladores en herramientas de generación automática de código a partir de diseños UML. Esto no es generalizable, por lo que una adecuada capacitación de los desarrolladores en entornos de desarrollo dirigido por modelos favorecerá el éxito de esta propuesta. También influye el masivo conocimiento y uso de Diagramas de Clase UML frente a la menor adopción de Diagramas de Comunicación, que puede haber perjudicado su adopción como alternativa para describir algoritmos de recomendación a nivel conceptual. Otro factor que condiciona los resultados obtenidos es el tamaño muestral y la participación de estudiantes de pregrado, sugiriéndose la mayor participación de desarrolladores profesionales en una comparativa. VII. CONCLUSIONES El presente trabajo busca proveer a desarrolladores e investigadores de facilidades para implementar soluciones software al desafío de mejorar recomendaciones a partir de la información que los usuarios generan en redes sociales. Haciendo uso de buenas prácticas de Ingeniería de Software, del masivo uso de UML y del desarrollo de técnicas de generación automática de código, es posible obtener prototipos rápidos de sistemas de recomendación que aprovechan las preferencias de sus usuarios expresadas en redes sociales para la obtención de recomendaciones. El análisis experimental realizado muestra un significativo ahorro de tiempo de desarrollo en el uso del modelo abstracto para la definición estructural del sistema, pero no es concluyente con respecto a las ventajas de la especificación dinámica de algoritmos de recomendación en comparación a algoritmos ya implementados. Desde otro punto de análisis, los diagramas de comunicación propuestos permiten que el desarrollador tenga mayor control de la definición de los algoritmos a implementar, en comparación a su rol de cliente de algoritmos provistos por bibliotecas de recomendación como Apache Mahout, que oculta los detalles de implementación. Para la explotación de la información de redes sociales, se deben considerar las restricciones de privacidad de cada una y evaluar, de los datos disponibles a través de APIs u otros mecanismos de extracción, cuáles son aquellos que contribuyen al proceso de recomendación de un sistema en particular. Además, se debe considerar la correspondencia entre los ítems evaluados en redes sociales con los ítems propios que el sistema de recomendación maneja, haciendo uso de procedimientos de fusión de datos [29]. Esta propuesta pretende establecer una base para futuras mejoras en el tratamiento de la información de redes sociales para apoyar procesos de recomendación. Como trabajo futuro, se requiere que el proceso de desarrollo propuesto soporte otros enfoques de recomendación. Así, recomendaciones basadas en contenido son actualmente sólo soportadas mediante la definición de descriptores de contenido, siendo responsabilidad del desarrollador el implementar dichas restricciones, y su combinación con el enfoque de filtrado colaborativo de forma manual. Del mismo modo, los trabajos del estado del arte que diferencian la influencia de distintos contactos en redes sociales en las recomendaciones provistas sugieren soportar recomendaciones basadas en confianza [30]. Actualmente, se trabaja en la extensión del modelo abstracto para incorporar características de contexto de preferencias e interacciones en redes sociales, tales como ubicación y tiempo, en el proceso de recomendación. AGRADECIMENTOS Este trabajo fue financiado por la Comisión Nacional de Investigación Científica y Tecnológica, Gobierno de Chile, a través de Proyecto FONDECYT de Iniciación, Cód REFERENCIAS [1] D. O Sullivan, D. Wilson and B. Smyth, Preserving recommender accuracy and diversity in sparse datasets, in Proc. 16 th Int. FLAIRS Conf., Pensacola, FL, 2003, pp [2] A. Popescul, D.M. Pennock and S. Lawrence, Probabilistic models for unified collaborative and content-based recommendation in sparse-data environments, in Proc. 7th Conf. Uncertainty in AI, Seattle, WA, 2001, pp [3] A. I. Schein, A. Popescul, L. H. Ungar and D. M. Pennock, Methods and metrics for cold-start recommendations, in Proc. 25th Annual Int. ACM SIGIR Conf., Tampere, 2002, pp [4] A. S. Silva, S. R. Brito, N. L. Vijaykumar, C. A. J. Rocha, J. C. W. A. Costa and C. R. L. Francês, Social network analysis to monitor interactions in virtual learning environment, IEEE Latin America Trans., vol. 13, no. 10, pp , Oct [5] J. C. Gómez, T. Tommasi, S. Zoghbi and M. F. Moens, What would they say? Predicting user s comments in pinterest, IEEE Latin America Trans., vol. 14, no. 4, pp , Apr [6] G. Adomavicius and D. Jannach, Preface to the special issue on contextaware recommender systems, User Model. User-Adap. Inter., vol. 24, no. 1-2, pp. 1-5, Feb [7] J. Stan, F. Muhlenbach and C. Largeron, Recommender systems using social network analysis: challenges and future trends, Encyclopedia of Social Network Analysis and Mining, Springer, pp , [8] A. Tiroshi, S. Berkovsky, M. A. Kaafar, D. Vallet and T. Kuflik., Graph-based recommendations: make the most out of social data, UMAP 2014, LNCS, vol. 8538, Springer, pp , [9] J. He and W.W. Chu, A social network-based recommender system (SNRS), Data Mining for Social Network Data, Annals of Inform. Sys. Series, Springer, vol. 12, pp , [10] S. Bracha, L. Rokach and S. Freilikhman, Facebook single and cross domain data for recommendation systems, User Model. User-Adap. Inter., vol. 23, no. 2, pp , Apr [11] I. Fernández-Tobías, I. Cantador, M. Kamiskas and F. Ricci, A generic semantic-based framework for cross-domain recommendation, in Proc. 2nd Int. Workshop Inform. Heterogeneity and Fusion in Rec. Sys., Chicago, IL, 2011, pp [12] X. Cai, M. Bain, A. Krzywicki, W. Wobcke, Y. S. Kim, P. Compton and A. Mahidadia, Collaborative filtering for people to people

7 recommendation in social networks, AI 2010: Advances in Artificial Intelligence, LNCS, vol. 6464, Springer, pp , [13] B. Sarwar, G. Karypis, J. Konstan and J. Riedl, Item-based collaborative filtering recommendation algorithms, in Proc. 10th Int. Conf. on WWW, Hong Kong, Hong Kong, 2001, pp [14] M. Vanetti, E. Binaghi, B. Carminati, M. Carullo and E. Ferrari, Content-based filtering in on-line social networks, Privacy and Security Issues in Data Mining and Machine Learning, LNCS, vol. 6549, Springer, pp , [15] M. J. Pazzani and D. Billsus, Content-based recommendation systems, in The Adaptive Web, Springer Berlin Heidelberg, pp , [16] T. Hussein, T. Linder, W. Gaulke and J. Ziegler, Hybreed: A software framework for developing context-aware hybrid recommender systems, User Model. User-Adap. Inter., vol. 24, no. 1, pp , Feb [17] M.D. Ekstrand, M. Ludwig, J. A. Konstan and J. T. Riedl, Rethinking the recommender research ecosystem: reproducibility, openness, and LensKit, Proc. 5th ACM Conf. Rec. Sys., 2011, Chicago, IL, pp [18] Apache Software Foundation, Apache Mahout, [Online], Available: [Accessed: 03-Jun-2016]. [19] S. Ceri, F. Daniel, M. Matera, F. M. Facca, Model-driven development of context-aware Web applications, ACM Trans. Internet Technology (TOIT), vol. 7, no. 1, art. 2, Feb [20] T. Stahl, M. Voelter and K. Czarnecki, Model-driven software development: technology, engineering, management, John Wiley & Sons, [21] B. Selic, The pragmatics of model-driven development, IEEE Softw., vol. 20, no. 5, pp , Sept [22] OMG, MOF model to text transformation language, v1.0, [Online], Available: [Accessed: 03-Jun- 2016]. [23] Eclipse Foundation, Eclipse modeling tools, [Online], Available: r [Accessed: 03-Jun-2016]. [24] Eclipse Foundation, Papyrus, [Online], Available: papyrus/ [Accessed: 03-Jun-2016]. [25] Obeo, Acceleo, [Online], Available: [Accessed: 03-Jun-2016]. [26] G. Rojas, F. Domínguez and S. Salvatori, Recommender systems on the web: a model-driven approach, in Proc. 10th Int. Conf. E-Commerce Web Technologies (EC-Web 2009), Linz, Austria, pp [27] J. McAuley and J. Leskovec. Learning to discover social circles in ego networks, in Proc. 26th Annual Conf. on Neural Inform. Processing Systems (NIPS 2012), Lake Tahoe, NV, pp [28] F. M. Harper and J. A. Konstan, The movielens datasets: history and context, ACM Trans. Interactive Intelligent Sys. (TiiS), vol. 5, no. 4, p. 19, Jan [29] I. Cantador, P. Brusilovsky, and T. Kuflik, Second workshop on information heterogeneity and fusion in recommender systems (HetRec2011), in Proc. 5th ACM Conf. Rec. Sys., 2011, Chicago, IL, pp [30] A. D. R. Oliveira, L. N. Bessa, T. R. Andrade, L. V. L. Filgueiras and J. S. Sichm, Trust-based recommendation for the social web, IEEE Latin America Trans., vol. 10, no. 2, pp , Mar Gonzalo Rojas es Profesor Asistente del Departamento de Ingeniería Informática y Ciencias de la Computación de la Universidad de Concepción, Chile, y Doctor en Ingeniería de Software por la Universidad Politécnica de Valencia, España (2008). Su trabajo se orienta a la aplicación del paradigma de desarrollo dirigido por modelos para la especificación de aplicaciones dependientes de contexto y sistemas de recomendación, además del estudio de la calidad de software en entornos de generación automática de código. Ismael Garrido es Ingeniero Civil Informático de la Universidad de Concepción, Chile (2015). Su trabajo se ha orientado al análisis de redes sociales y su aplicación en sistemas de recomendación para entornos de escritorio y aplicaciones móviles.

IIC Sistemas Recomendadores

IIC Sistemas Recomendadores Sistemas Recomendadores Híbridos IIC 3633 - Sistemas Recomendadores Denis Parra Profesor Asistente, DCC, PUC CHile Page 1 of 33 Memo del Semestre Tarea 1: Deadline el Jueves 17 de Septiembre. Lecturas

Más detalles

Introducción a la ingeniería del software dirigida por modelos Curso

Introducción a la ingeniería del software dirigida por modelos Curso Procesadores de Lenguajes 2 Introducción a la ingeniería del software dirigida por modelos Curso 2013-2014 Iván Ruiz Rube Departamento de Ingeniería Informática Escuela Superior de Ingeniería Universidad

Más detalles

Transformación del Modelo de Negocio al Modelo de Caso de Uso del Sistema Utilizando QVT

Transformación del Modelo de Negocio al Modelo de Caso de Uso del Sistema Utilizando QVT Transformación del Modelo de Negocio al Modelo de Caso de Uso del Sistema Utilizando QVT Ariel S. Arsaute 1, Marcela Daniele 2, Fabio A. Zorzan 3, Daniel Riesco 4 RESUMEN Esta línea de investigación contribuye

Más detalles

Explotación del B2B y segmentación de la clientela

Explotación del B2B y segmentación de la clientela Explotación del B2B y segmentación de la clientela Algoritmos de recomendación en R Sesión 4. 24/10/2018 A.M.Mayoral (asun.mayoral@umh.es), J.Morales (j.morales@umh.es) Explotación del B2B y segmentación

Más detalles

Ingeniería de Software. UML.

Ingeniería de Software. UML. Ingeniería de Software. Unified Modeling Language UML. Ingeniería de Software. UML Página 0 Qué es el UML? The Unified Modeling Language (UML) is a graphical language for visualizing, specifying, constructing,

Más detalles

Maestría en Ingeniería

Maestría en Ingeniería Maestría en Ingeniería Curso de Ingeniería Web Sesión 2: Métodologías de Diseño de Aplicaciones Web Fernando Barraza A. fbarraza@puj.edu.co Sesión 2 Objetivo: Presentar las aproximaciones actuales y métodos

Más detalles

Iván Ruiz Rube Departamento de Ingeniería Informática Escuela Superior de Ingeniería Universidad de Cádiz

Iván Ruiz Rube Departamento de Ingeniería Informática Escuela Superior de Ingeniería Universidad de Cádiz Procesadores de Lenguajes 2 Desarrollo de DSLs usando MDE Curso 2013-2014 Iván Ruiz Rube Departamento de Ingeniería Informática Escuela Superior de Ingeniería Universidad de Cádiz 01/11/13 PL2 - Desarrollo

Más detalles

1.-DATOS DE LA ASIGNATURA

1.-DATOS DE LA ASIGNATURA 1.-DATOS DE LA ASIGNATURA Nombre de la asignatura: Minería de Datos Carrera: Ingeniería en Sistemas Computacionales Clave de la asignatura: ADM-0701 Horas teoría-horas práctica-créditos: 3-2-8 2.-HISTORIA

Más detalles

Lenguaje de Modelamiento Unificado.

Lenguaje de Modelamiento Unificado. Lenguaje de Modelamiento Unificado. Pontificia Universidad Javeriana What can you Model with UML? 1. Structure Diagrams include: The Class Diagram Object Diagram Component Diagram Composite Structure Diagram

Más detalles

IIC 3633 - Sistemas Recomendadores

IIC 3633 - Sistemas Recomendadores Ranking & UB-CF IIC 3633 - Sistemas Recomendadores Denis Parra Profesor Asistente, DCC, PUC CHile Page 1 of 19 TOC En esta clase 1. Definición y un poco de Historia 2. Ranking No Personalizado 3. User-Based

Más detalles

SISTEMAS RECOMENDADORES BASADOS EN GRAFOS

SISTEMAS RECOMENDADORES BASADOS EN GRAFOS Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación PRESENTACIÓN CURSO SISTEMAS RECOMENDADORES SISTEMAS RECOMENDADORES BASADOS EN GRAFOS Estudiante:

Más detalles

Generación Automática de Aplicaciones Web Móviles Mediante Componentes Configurables

Generación Automática de Aplicaciones Web Móviles Mediante Componentes Configurables Generación Automática de Aplicaciones Web Móviles Mediante Componentes Configurables Pablo Vera, Claudia Pons, Carina González, Rocío Rodríguez, Daniel Giulianelli Universidad Nacional de La Matanza Departamento

Más detalles

SISTEMAS DE INFORMACIÓN: UNA INTRODUCCIÓN

SISTEMAS DE INFORMACIÓN: UNA INTRODUCCIÓN SISTEMAS DE INFORMACIÓN: UNA INTRODUCCIÓN Maestría en Bioinformática Marzo 2010 Contenidos Datos, Información y Conocimiento Qué es un sistema de información? Cómo se desarrolla un sistema de información?

Más detalles

Transformando Diseños Orientados a Aspectos en Código Orientado a Aspectos

Transformando Diseños Orientados a Aspectos en Código Orientado a Aspectos Transformando Diseños Orientados a Aspectos en Código Orientado a Aspectos C. Abdelahad, D. Riesco, L. Baigorria, G. Montejano Departamento de Informática Universidad Nacional de San Luis San Luis, Capital,

Más detalles

1. Asignar Responsabilidades a componentes de software es la habilidad más importante del AOO. Porque:

1. Asignar Responsabilidades a componentes de software es la habilidad más importante del AOO. Porque: Análisis y Diseño O.O. Preguntas del diseño : Cómo podrían asignarse responsabilidades a las clases de los objetos? Cómo podrían interactuar los objetos? Qué deberían hacer las clases? Patrones : Ciertas

Más detalles

Presentación del Curso Presencial. Programación en Java Nivel Básico

Presentación del Curso Presencial. Programación en Java Nivel Básico Presentación del Curso Presencial Programación en Java Nivel Básico Tabla de contenido Presentación del curso... 3 Objetivos de aprendizaje... 6 Contenidos del curso... 7 Competencias previas... 9 Recursos...

Más detalles

Modelado Estructural F E B R E R O,

Modelado Estructural F E B R E R O, Modelado Estructural F E B R E R O, 2 0 1 4 Modelado Estructural Sirve para describir los diferentes tipos y relaciones estáticas existentes entre los diferentes objetos de un sistema. A la hora de desarrollar

Más detalles

4/15/2010. Requerimientos de Software UARG.UNPA Requerimientos de Software. Requerimientos de Software

4/15/2010. Requerimientos de Software UARG.UNPA Requerimientos de Software. Requerimientos de Software UARG.UNPA 2009 Un caso de uso es una interacción típica entre un usuario y un sistema computacional.(fowler) Un caso de uso especifica el comportamiento deseado del sistema (objetivos del usuario). (Jacobson)

Más detalles

MAGIC DRAW UML. Índice. José Ignacio Colmenero González Carlos Pérez Herrero José Luis Bravo Sánchez

MAGIC DRAW UML. Índice. José Ignacio Colmenero González Carlos Pérez Herrero José Luis Bravo Sánchez MAGIC DRAW UML José Ignacio Colmenero González Carlos Pérez Herrero José Luis Bravo Sánchez Índice Herramientas CASE: Introducción. Qué son. Historia. Clasificación. Componentes y funcionalidades. UML:

Más detalles

PROGRAMA DE DOCTORADO

PROGRAMA DE DOCTORADO PROGRAMA DE DOCTORADO Desarrollo de familias de productos de software desde un enfoque generativo DPTO. DE INGENIERÍA DE SOFTWARE Y SISTEMAS INFORMÁTICOS Tema 1 Introducción Autor: Rubén Heradio Gil Índice

Más detalles

Obteniendo valoraciones de ítems desde opiniones de usuarios para resolver el problema de Cold Start en sistemas recomendadores

Obteniendo valoraciones de ítems desde opiniones de usuarios para resolver el problema de Cold Start en sistemas recomendadores Obteniendo valoraciones de ítems desde opiniones de usuarios para resolver el problema de Cold Start en sistemas recomendadores Silvana Aciar 1, Gabriela Aciar 1, Nestor Duque 2 1 Instituto de Informática

Más detalles

Maestría en Ingeniería

Maestría en Ingeniería Maestría en Ingeniería Curso de Ingeniería Web Modelado de Aplicaciones Web con UML Fernando Barraza A. fbarraza@javerianacali.edu.co Antecedentes UML es un lenguaje de modelado de propósito general: Puede

Más detalles

Crear diagramas basados en UML para la representación de la solución a un problema mediante el Paradigma Orientado a Objetos.

Crear diagramas basados en UML para la representación de la solución a un problema mediante el Paradigma Orientado a Objetos. PROGRAMA DE CURSO Modelo 2009 DEPARTAMENTO: COMPUTACIÓN Y DISEÑO GRÁFICO NOMBRE DEL CURSO: Diseño de Software con Práctica Profesional CLAVE: 1013M ACADEMIA A LA QUE PERTENECE: Diseño de Software PROFESIONAL

Más detalles

ORGANIZACIÓN DOCENTE del curso

ORGANIZACIÓN DOCENTE del curso ORGANIZACIÓN DOCENTE del curso 2009-10 1. DATOS GENERALES DE LA ASIGNATURA NOMBRE Ingeniería del Software I PÁGINA WEB www.ctr.unican.es/asignaturas/is1 CÓDIGO DEPARTAMENTO Matemáticas, Estadística y Computación

Más detalles

Presentación de la Asignatura.

Presentación de la Asignatura. INGENIERÍA DEL SOFTWARE I Tema 0 Presentación de la Asignatura www.ctr.unican.es/asignaturas/is1/ Profesorado Michael González Harbour (teoría, responsable asignatura) E-mail: mgh@unican.es Web: http://www.ctr.unican.es/

Más detalles

UNIVERSIDAD LIBRE SECCIONAL PEREIRA

UNIVERSIDAD LIBRE SECCIONAL PEREIRA FACULTAD DE IINGENIERIAS PROGRAMA ACADÉMICO DE INGENIERIA DE SISTEMAS PLAN DE ASIGNATURA LÓGICA Y ALGORITMOS NOMBRE DE LA ASIGNATURA: CODIGO DE LA ASIGNATURA: 02602 CICLO DE FORMACIÓN: COMPONENTE DE FORMACIÓN

Más detalles

QUÉ SON EL ANÁLISIS Y EL DISEÑO?

QUÉ SON EL ANÁLISIS Y EL DISEÑO? QUÉ SON EL ANÁLISIS Y EL DISEÑO? Análisis: Investigación Para crear una aplicación de software hay que describir el problema y las necesidades o requerimientos: en qué consiste el conflicto y que debe

Más detalles

octubre de 2007 Arquitectura de Software

octubre de 2007 Arquitectura de Software octubre de 2007 Arquitectura de Software Seis mejores Prácticas Desarrollo Iterativo Administrar Requerimientos Usar Arquitecturas basadas en Componentes Modelado Visual (UML) Verificar Continuamente la

Más detalles

Texto Predictivo Personalizado en Dispositivos Móviles Utilizando Aprendizaje Basado en Instancias

Texto Predictivo Personalizado en Dispositivos Móviles Utilizando Aprendizaje Basado en Instancias Texto Predictivo Personalizado en Dispositivos Móviles Utilizando Aprendizaje Basado en Instancias Andres R. Luzuriaga Universidad de Palermo, Faculta de Ingeniería, Buenos Aires, Argentina, andresluzu@palermo.edu

Más detalles

IIC Sistemas Recomendadores

IIC Sistemas Recomendadores Filtrado Basado en Contenido IIC 3633 - Sistemas Recomendadores Denis Parra Profesor Asistente, DCC, PUC CHile Page 1 of 28 Lo que Queda del Semestre Tarea 1: Deadline el Lunes 5 de Septiembre. 2/28 Page

Más detalles

1.1 Conceptualización de UML

1.1 Conceptualización de UML 1.1 Conceptualización de UML 1.1.1 Las primeras metodologías Los lenguajes de modelado O.O aparecieron entre la mitad de los años 70 y finales de los 80. El número de métodos OO se incrementó increíblemente

Más detalles

adaptable al contexto

adaptable al contexto Aproximación metodológica a la integración de procesos de negocio, en la industria del Café, sensible y adaptable al contexto Jorge E. Giraldo, Ph.D(c) Demetrio A. Ovalle, Ph.D Universidad Nacional de

Más detalles

Diagramas UML JUAN CARLOS CONDE RAMÍREZ INTRODUCTION TO PROGRAMMING

Diagramas UML JUAN CARLOS CONDE RAMÍREZ INTRODUCTION TO PROGRAMMING Diagramas UML JUAN CARLOS CONDE RAMÍREZ INTRODUCTION TO PROGRAMMING Objetivos Comprender la importancia del modelado y el uso de diagramas para la Ingeniería y la arquitectura. Conocer las ventajas que

Más detalles

PROYECTO: Plataforma inalámbrica para impulsar la competitividad en zonas urbanas y rurales

PROYECTO: Plataforma inalámbrica para impulsar la competitividad en zonas urbanas y rurales PROYECTO: Plataforma inalámbrica para impulsar la competitividad en zonas urbanas y rurales ACTIVIDAD.4.1 Realización del modelo del proceso para la creación de la plataforma Dra. María Eugenia Cabello

Más detalles

UNIVERSIDAD LIBRE SECCIONAL PEREIRA

UNIVERSIDAD LIBRE SECCIONAL PEREIRA FACULTAD DE IINGENIERIAS PROGRAMA ACADÉMICO DE INGENIERIA DE SISTEMAS PLAN DE ASIGNATURA NOMBRE DE LA ASIGNATURA: LÓGICA Y ALGORITMOS CODIGO DE LA ASIGNATURA: 30748-30115 CICLO DE FORMACIÓN: COMPONENTE

Más detalles

Desarrollo ágil basado en pruebas de aceptación

Desarrollo ágil basado en pruebas de aceptación Desarrollo ágil basado en pruebas de aceptación Patricio Letelier letelier@dsic.upv.es Qué resultados de I+D tenemos? TUNE-UP Process: enfoque y herramienta de apoyo para gestión ágil de proyectos (equipos

Más detalles

Transformación de modelos conceptuales mediante uso de XSLT

Transformación de modelos conceptuales mediante uso de XSLT Transformación de modelos conceptuales mediante uso de XSLT Juan Pablo Fernández Taurant, Claudia Castro, Marcelo Marciszack Dpto. Ingeniería en Sist. de Información/ Facultad Regional Córdoba/ Universidad

Más detalles

Desarrollo de Lenguajes de Dominio Específico

Desarrollo de Lenguajes de Dominio Específico Desarrollo de Lenguajes de Dominio Específico Mernik, M., Heering, J., Sloane, A.M., When and how to develop domainspecific languages, ACM Computing Surveys, Vol. 37, No. 4, Dec. 2005, pp. 316-344. Lenguajes

Más detalles

Marco de Referencia Way - of

Marco de Referencia Way - of Guía Metodológica V2Soft Trabajo de grado CIS1430IS08 V2Soft: guía metodológica para el proceso de validación y verificación de requerimientos para el usuario final Marco de Referencia Way - of Trabajo

Más detalles

Unidad V. UML. Tema I. Conceptos Básicos Tema II. Definición de UML. Vocabulario Tema III. Elementos UML Tema IV. Diagramas.

Unidad V. UML. Tema I. Conceptos Básicos Tema II. Definición de UML. Vocabulario Tema III. Elementos UML Tema IV. Diagramas. Unidad V. UML Tema I. Conceptos Básicos Tema II. Definición de UML. Vocabulario Tema III. Elementos UML Tema IV. Diagramas Objetivos Conocer el modelo UML Utilizar el modelo UML como parte de la metodología

Más detalles

Guía práctica de estudio 09: UML

Guía práctica de estudio 09: UML Guía práctica de estudio 09: Elaborado por: M.C. M. Angélica Nakayama C. Ing. Jorge A. Solano Gálvez Autorizado por: M.C. Alejandro Velázquez Mena Guía práctica de estudio 09: Guía práctica de estudio

Más detalles

Ingeniería de Aplicaciones Web

Ingeniería de Aplicaciones Web Ingeniería de Aplicaciones Web Carrera: Ingeniería en Computación Profesor Responsable: Rossi, Gustavo Héctor Año: Optativa Duración: Semestral Carga Horaria Semanal: 6hs Carga Horaria Total: 96hs OBJETIVOS

Más detalles

Herramienta de Validación aplicada a tareas de control de calidad en repositorios digitales

Herramienta de Validación aplicada a tareas de control de calidad en repositorios digitales Herramienta de Validación aplicada a tareas de control de calidad en repositorios digitales Autor Franco Agustín Terruzzi Director Dra. Marisa Raquel de Giusti Introducción Motivación Objetivos Aporte

Más detalles

Planeador de Torneos y Competencias: PLATYCO. Documentación de la Arquitectura de Software

Planeador de Torneos y Competencias: PLATYCO. Documentación de la Arquitectura de Software Planeador de Torneos y Competencias: PLATYCO Documentación de la Arquitectura de Software Daniel Santiago Vásquez Acero 22/08/2014 Tabla de figuras Ilustración 1: Modelo "4+1"[1]... 4 Ilustración 2: Servicio

Más detalles

Diplomado Programación orientada a objetos con C++ y UML. Las empresas necesitan contar con sistemas de información modernos, ágiles y de calidad para alcanzar sus objetivos y ser cada vez más competitivos

Más detalles

TEMA 6: INTRODUCCIÓN A UML

TEMA 6: INTRODUCCIÓN A UML TEMA 6: INTRODUCCIÓN A UML Por qué modelamos? El modelado es una parte central de todas las actividades que conducen a la producción de un software de calidad. Como tal la ingeniería software debe basarse

Más detalles

Modelado de Arquitectura Software

Modelado de Arquitectura Software Departamento de Lenguajes y Sistemas Informáticos BLOQUE I: Arquitectura del Software Modelado de Arquitectura Software Tema 4 Arquitectura e Integración del Software Curso 2012/2013 Índice UML Diagrama

Más detalles

IIC Sistemas Recomendadores

IIC Sistemas Recomendadores Filtrado Basado en Contenido II IIC 3633 - Sistemas Recomendadores Denis Parra Profesor Asistente, DCC, PUC CHile Page 1 of 22 TOC En esta clase 1. Representación y Aprendizaje del Modelo de Usuario 1.

Más detalles

IIC Sistemas Recomendadores

IIC Sistemas Recomendadores Filtrado Basado en Contenido IIC 3633 - Sistemas Recomendadores Denis Parra Profesor Asistente, DCC, PUC CHile Page 1 of 27 Lo que Queda del Semestre Tarea 1: Deadline el Jueves 17 de Septiembre. Lecturas

Más detalles

TRABAJO PRÁCTICO 7: OBJETOS

TRABAJO PRÁCTICO 7: OBJETOS TEORÍA TRABAJO PRÁCTICO 7: OBJETOS Qué son los métodos Orientados a Objetos? Los métodos OO proveen un conjunto de técnicas para analizar, descomponer y modularizar arquitecturas de software. Se caracterizan

Más detalles

Una Aplicación basada en Eclipse para la Personalización de Aplicaciones Web Dirigida por Modelos

Una Aplicación basada en Eclipse para la Personalización de Aplicaciones Web Dirigida por Modelos Una Aplicación basada en Eclipse para la Personalización de Aplicaciones Web Dirigida por Modelos Irene Garrigós, Octavio Glorio, and Paul Hernández Lucentia Research Group Departamento de Lenguajes y

Más detalles

Tema 1. Introducción a UML C H R I STO PHER E X P Ó S I TO I Z Q U I ERDO A I R A M E X P Ó S I TO M Á R Q UEZ I S R A E L LÓ P EZ P L ATA M A R Í A

Tema 1. Introducción a UML C H R I STO PHER E X P Ó S I TO I Z Q U I ERDO A I R A M E X P Ó S I TO M Á R Q UEZ I S R A E L LÓ P EZ P L ATA M A R Í A Tema 1. Introducción a UML C H R I STO PHER E X P Ó S I TO I Z Q U I ERDO A I R A M E X P Ó S I TO M Á R Q UEZ I S R A E L LÓ P EZ P L ATA M A R Í A B E L É N M E L I Á N BAT I STA J O S É MARCOS M O R

Más detalles

SÍLABO DE INGENIERÍA DE SOFTWARE

SÍLABO DE INGENIERÍA DE SOFTWARE SÍLABO DE INGENIERÍA DE SOFTWARE I. DATOS GENERALES 1.1. Carrera Profesional : Ingeniería de Sistemas 1.2. Área Académica : Ingeniería de Sistemas 1.3. Ciclo : VII 1.4. Semestre : 2014 - I 1.5. Prerrequisito

Más detalles

Metodologías para Sistemas Multi-agente

Metodologías para Sistemas Multi-agente Metodologías para Sistemas Multi-agente Curso Doctorado Sistemas Multi-agente Índice Conceptos. Introducción Metodologías BDI GAIA AUML Message Conclusiones 1 Conceptos. Introducción Modelar sistemas reales

Más detalles

Sistemas Híbridos de Recomendación. IIC3633 RecSys 2do semestre 2014 23 de Sep=embre Denis Parra

Sistemas Híbridos de Recomendación. IIC3633 RecSys 2do semestre 2014 23 de Sep=embre Denis Parra Sistemas Híbridos de Recomendación IIC3633 RecSys 2do semestre 2014 23 de Sep=embre Denis Parra Resumen Mo=vacion Clasificación General Modelos de Hibridización Ejemplos Mo=vación Diferentes métodos =enen

Más detalles

Ingeniería de Software

Ingeniería de Software Ingeniería de Software ANÁLISIS Y DISEÑO DE SISTEMAS CON Auxiliar: Andrés Neyem aneyem@dcc.uchile.cl Oficina 418 de Doctorado Auxiliar - 10 de Abril de 2007 Repaso Historia de los lenguajes de modelamiento

Más detalles

Tema 4g: Proceso Unificado: Implementación

Tema 4g: Proceso Unificado: Implementación Tema 4g: Proceso Unificado: Implementación Marcos López Sanz Índice Visión general Artefactos Componentes Subsistemas de implementación Interfaces Descripción de la arquitectura (vista del modelo de implementación)

Más detalles

PROYECTO: Plataforma inalámbrica para alertar a los conductores de emergencias vehiculares

PROYECTO: Plataforma inalámbrica para alertar a los conductores de emergencias vehiculares PROYECTO: Plataforma inalámbrica para alertar a los conductores de emergencias vehiculares ACTIVIDAD.4.1 Realización del modelo del proceso para la creación de la plataforma Dra. María Eugenia Cabello

Más detalles

Iván Ruiz Rube Departamento de Ingeniería Informática Escuela Superior de Ingeniería Universidad de Cádiz

Iván Ruiz Rube Departamento de Ingeniería Informática Escuela Superior de Ingeniería Universidad de Cádiz Procesadores de Lenguajes 2 Desarrollo de metamodelos con EMF Curso 2013-2014 Iván Ruiz Rube Departamento de Ingeniería Informática Escuela Superior de Ingeniería Universidad de Cádiz 07/11/13 PL2 - Desarrollo

Más detalles

Adaptatividad y Adaptabilidad en el Modelado de Usuarios para Aplicaciones Web

Adaptatividad y Adaptabilidad en el Modelado de Usuarios para Aplicaciones Web Adaptatividad y Adaptabilidad en el Modelado de Usuarios para Aplicaciones Web ING. SILVIA ALCARAZ VITALE silvialcaraz@gmail.com ING. MAGALÍ GONZÁLEZ mgonzalez@uca.edu.py DR. LUCA CERNUZZI lcernuzz@uca.edu.py

Más detalles

Clasificación de las Herramientas CASE

Clasificación de las Herramientas CASE Qué es una herramienta CASE? Las herramientas CASE (Computer Aided Software Engineering, Ingeniería de Software Asistida por Computadora) son diversas aplicaciones informáticas destinadas a aumentar la

Más detalles

ARQUITECTURAS DE SOFTWARE

ARQUITECTURAS DE SOFTWARE ARQUITECTURAS DE SOFTWARE 1. DEFINICIÓN: La arquitectura de software de un programa o de un sistema computacional está definida por la estructura, comprendida por los elementos de software, las propiedades

Más detalles

Ingeniería de Software: Metodologías

Ingeniería de Software: Metodologías Ingeniería de Software: Metodologías Agustín J. González ElO329: Diseño y Programación Orientados a Objeto Adaptado de: http://www.dsic.upv.es/~uml http://inst.eecs.berkeley.edu/~cs169/ entre otras fuentes.

Más detalles

Grupo de Ingeniería del Software Universidad de Málaga

Grupo de Ingeniería del Software Universidad de Málaga GISUM Grupo de Ingeniería del Software Universidad de Málaga http://www.gisum.uma.es Carlos Canal http://www.lcc.uma.es/~canal Reunión Red de SOA y WS Sevilla 28 de Octubre de 2008 GISUM Formado por profesores

Más detalles

APLICACIONES MOVILES NATIVAS. Sesión 5: Objetos, mensajes y clases. Abstracción, encapsulamiento, herencia y polimorfismo

APLICACIONES MOVILES NATIVAS. Sesión 5: Objetos, mensajes y clases. Abstracción, encapsulamiento, herencia y polimorfismo APLICACIONES MOVILES NATIVAS Sesión 5: Objetos, mensajes y clases. Abstracción, encapsulamiento, herencia y polimorfismo Contextualización Los lenguajes de programación orientada a objetos tienen varios

Más detalles

Ingeniería a de Software CC51A

Ingeniería a de Software CC51A Ingeniería a de Software CC51A Clase Auxiliar Auxiliar: Andrés s Neyem Oficina 418 de Doctorado aneyem@dcc.uchile.cl 19 de Marzo de 2007 Aspectos Generales Grupo CC51A Diseño Cliente Requisitos Usuario

Más detalles

Interacción Persona - Ordenador

Interacción Persona - Ordenador Interacción Persona - Ordenador Diseño de la interfaz en la Ingeniería del Software Dr. Pedro Latorre Dra. Sandra Baldassarri Dra. Eva Cerezo Ingeniería del Software Ingeniería del Software: Definición

Más detalles

Capítulo III: MARCO METODOLÓGICO

Capítulo III: MARCO METODOLÓGICO Capítulo III: MARCO METODOLÓGICO Tipo de Investigación El presente trabajo de investigación, tuvo como propósito el desarrollo de una aplicación experimental que permitió evaluar la operatividad y funcionalidad

Más detalles

Unidad IV: Modelo de Diseño 4.1. Estrategias de diseño

Unidad IV: Modelo de Diseño 4.1. Estrategias de diseño Unidad IV: Modelo de Diseño 4.1. Estrategias de diseño El diseño se define como la búsqueda de una solución en cualquier campo, sin embargo las soluciones no llegan de una manera simple, muchas veces realizamos

Más detalles

Introducción a la Ingeniería de Software

Introducción a la Ingeniería de Software Introducción a la Ingeniería de Software Diseño Software Engineering 7ed Addison Wesley Ian Sommerville Diseño Durante el diseño se refina la arquitectura El diseño es un plano de una solución para el

Más detalles

Published on Marco de Desarrollo de la Junta de Andalucía (http://madeja.i-administracion.juntaandalucia.es/servicios/madeja)

Published on Marco de Desarrollo de la Junta de Andalucía (http://madeja.i-administracion.juntaandalucia.es/servicios/madeja) Published on Marco de Desarrollo de la Junta de Andalucía (http://madeja.i-administracion.juntaandalucia.es/servicios/madeja) Análisis del Sistema Área: Ingeniería de requisitos Carácter del recurso: Recomendado

Más detalles

TÓPICOS SELECTOS DE OTROS CURSOS

TÓPICOS SELECTOS DE OTROS CURSOS UNIVERSIDAD AUTÓNOMA DE CHIHUAHUA Clave: 08MSU007H Clave: 08USU4053W FACULTAD DE INGENIERÍA PROGRAMA DEL CURSO: TÓPICOS SELECTOS DE OTROS CURSOS DES: Ingeniería Ingeniería en Sistemas Programa(s) Educativo(s):

Más detalles

SEM-HP: Un Modelo para el Desarrollo de Sistemas Hipermedia Adaptativos

SEM-HP: Un Modelo para el Desarrollo de Sistemas Hipermedia Adaptativos SEM-HP: Un Modelo para el Desarrollo de Sistemas Hipermedia Adaptativos Nuria Medina Medina 1, Fernando Molina Ortiz 1, Lina García Cabrera 2, Mª José Rodríguez Fórtiz 1 1 Dep. LSI. Universidad de Granada,

Más detalles

INGENIERÍA DEL SOFTWARE

INGENIERÍA DEL SOFTWARE ESCUELA SUPERIOR POLITÉCNICA AGROPECUARIA DE MANABÍ MANUEL FÉLIX LÓPEZ CARRERA INFORMÁTICA SEMESTRE SÉPTIMO PERIODO ABR. /SEP.-2015 INGENIERÍA DEL SOFTWARE TEMA: RESUMEN#4: LENGUAJE UNIFICADO DE MODELADO

Más detalles

RECOMENDADOR DE USUARIOS EN UNA PLATAFORMA COLABORATIVA EN BASE A SU PERFIL Y REPUTACIÓN

RECOMENDADOR DE USUARIOS EN UNA PLATAFORMA COLABORATIVA EN BASE A SU PERFIL Y REPUTACIÓN RECOMENDADOR DE USUARIOS EN UNA PLATAFORMA COLABORATIVA EN BASE A SU PERFIL Y REPUTACIÓN Dra. Silvana Aciar Instituto de Informática UNSJ Día Virtual sobre Sistemas Colaborativos Octubre 2013 1 Indice

Más detalles

SISTEMA DE INFORMACIÓN DE CLIENTES Y SERVICIOS DE LA EMPRESA TOTAL RADIO SYSTEMS

SISTEMA DE INFORMACIÓN DE CLIENTES Y SERVICIOS DE LA EMPRESA TOTAL RADIO SYSTEMS UNIVERSIDAD MAYOR DE SAN ANDRÉS FACULTAD DE CIENCIAS PURAS Y NATURALES CARRERA DE INFORMÁTICA PROYECTO DE GRADO SISTEMA DE INFORMACIÓN DE CLIENTES Y SERVICIOS DE LA EMPRESA TOTAL RADIO SYSTEMS PARA OPTAR

Más detalles

Implementación de Componentes

Implementación de Componentes Implementación de Componentes Concepto Un componente es una parte no trivial, casi independiente, y reemplazable de un sistema que llena claramente una funcionalidad dentro de un contexto en una arquitectura

Más detalles

Programación orientada a objetos I

Programación orientada a objetos I Introducción Programación orientada a objetos I Curso INEM. Programación en C++ Santiago Muelas Pascual smuelas@fi.upm.es Qué es la POO? Un paradigma de programación Un paradigma es una forma de afrontar

Más detalles

COORDINADORES AUTORES PRÓLOGO PREFACIO... 43

COORDINADORES AUTORES PRÓLOGO PREFACIO... 43 ÍNDICE COORDINADORES... 17 AUTORES... 21 PRÓLOGO... 37 PREFACIO... 43 CAPÍTULO 1. DESARROLLO DIRIGIDO POR MODELOS: UN NUEVO PARADIGMA DE CONSTRUCCIÓN DE SOFTWARE... 51 1.1 INTRODUCCIÓN... 51 1.2 DE LOS

Más detalles

UN ENFOQUE MDD PARA EL DESARROLLO DE RIA

UN ENFOQUE MDD PARA EL DESARROLLO DE RIA UN ENFOQUE MDD PARA EL DESARROLLO DE RIA Guido Nuñez Cáceres 15 de febrero de 2017 Defensa Final de Proyecto Final de Carrera Departamento de Electrónica e Informática Facultad de Ciencias y Tecnología

Más detalles

DESCRIPCIÓN DE LA ASIGNATURA

DESCRIPCIÓN DE LA ASIGNATURA DESCRIPCIÓN DE LA ASIGNATURA ASIGNATURA: Nombre en Inglés: INDUSTRIAL COMPUTER SYSTEMS Código UPM: 565000173 MATERIA: INFORMÁTICA INDUSTRIAL CRÉDITOS ECTS: 7.5 CARÁCTER: MATERIA DE TECNOLOGÍA ESPECÍFICA

Más detalles

Disciplina de Diseño. Construcción del Modelo de Diseño del Sistema.

Disciplina de Diseño. Construcción del Modelo de Diseño del Sistema. Ingeniería de Software. Disciplina de Diseño. Construcción del Modelo de Diseño del Sistema. Ingeniería de Software. Modelo de Diseño del Sistema Página 0 Mapa del Proceso. Ingeniería de Software. Modelo

Más detalles

ANÁLISIS DE SISTEMAS. Prof. Eliz Mora

ANÁLISIS DE SISTEMAS. Prof. Eliz Mora ANÁLISIS DE SISTEMAS Prof. Eliz Mora Programa Fundamentos del Análisis de Sistemas Estilos Organizacionales y su impacto en los Sistemas de Información Rol del Analista de Sistema Determinación de Factibilidad

Más detalles

Obligatoria asignatura Programa elaborado por:

Obligatoria asignatura Programa elaborado por: PROGRAMA DE ESTUDIO Laboratorio de diseño de software Programa Educativo: Área de Formación : Licenciatura en Sistemas Computacionales. Sustantiva Profesional Horas teóricas: 1 Horas prácticas: 4 Total

Más detalles

PARTE 1: INTRODUCCIÓN DE LA PLANIFICACIÓN. Carrera y plan: Analista Programador Universitario Plan 2008.

PARTE 1: INTRODUCCIÓN DE LA PLANIFICACIÓN. Carrera y plan: Analista Programador Universitario Plan 2008. PARTE 1: INTRODUCCIÓN DE LA PLANIFICACIÓN Identificación: Carrera y plan: Analista Programador Universitario Plan 2008. Asignatura: Programación Orientada a Objetos. Condiciones para el desarrollo de la

Más detalles

UN ENFOQUE MDD PARA EL DESARROLLO DE RIA

UN ENFOQUE MDD PARA EL DESARROLLO DE RIA UN ENFOQUE MDD PARA EL DESARROLLO DE RIA Guido Nuñez Cáceres 22 de febrero de 2016 Primera Defensa de Proyecto Final de Carrera Departamento de Electrónica e Informática Facultad de Ciencias y Tecnología

Más detalles

FanJam, red social para buscar e integrar talentos en la industria musical

FanJam, red social para buscar e integrar talentos en la industria musical FanJam, red social para buscar e integrar talentos en la industria musical Trabajo de Grado DOCUMENTO DE ESPECIFICACION DE LA ARQUITECTURA 15 de Octubre de 2012 V 2.3 Juan Sebastián Ruiz Juan David Cadena

Más detalles

Ingeniería del Software de Gestión

Ingeniería del Software de Gestión Marcos López Sanz Ingeniería del Software de Gestión Tema 9: Proceso Unificado: Índice Visión general de Descripción de la (vista del modelo de ) de construcciones de la el un sub una Realizar pruebas

Más detalles

SOFTWARE ANTERO: APLICACIONES NUMÉRICAS DE TÉCNICAS ENFOCADAS AL RENDIMIENTO DE LAS OPERACIONES

SOFTWARE ANTERO: APLICACIONES NUMÉRICAS DE TÉCNICAS ENFOCADAS AL RENDIMIENTO DE LAS OPERACIONES 8 Revista Ingeniería Industrial UPB / Vol. 02 / No. 02 / pp. 8-12 enero-junio / 2014 / ISSN: 0121-1722 / Medellín- Colombia SOFTWARE ANTERO: APLICACIONES NUMÉRICAS DE TÉCNICAS ENFOCADAS AL RENDIMIENTO

Más detalles

CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES SYLLABUS DE INGENERIA DE SOFTWARE I

CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES SYLLABUS DE INGENERIA DE SOFTWARE I Facultad de Ingeniería en Ciencias Aplicadas pag. 1 CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES SYLLABUS DE INGENERIA DE SOFTWARE I 1. Misión: (de la carrera) La Carrera de Ingeniería en Sistemas

Más detalles

UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS

UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS PROGRAMA DEL CURSO DE INTRODUCCION A LA PROGRAMACION DE COMPUTACION 2 CODIGO: 771 CREDITOS: 5 ESCUELA: Ciencias

Más detalles

DESCRIPCIÓN ESPECÍFICA NÚCLEO: Núcleo Sector Comercio y Servicios.

DESCRIPCIÓN ESPECÍFICA NÚCLEO: Núcleo Sector Comercio y Servicios. DESCRIPCIÓN ESPECÍFICA NÚCLEO: Núcleo Sector Comercio y Servicios. SUBSECTOR: Informática y Comunicación. Nombre del Módulo: Modelación y Diagramación total: 68 horas Objetivo General: Modelar la solución

Más detalles

UNIVERSIDAD NACIONAL DEL CALLAO

UNIVERSIDAD NACIONAL DEL CALLAO UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE INGENIERÍA INDUSTRIAL Y DE SISTEMAS INSTITUTO DE INVESTIGACION DE LA FACULTAD DE INGENIERIA INDUSTRIAL Y DE SISTEMAS INFORME FINAL DEL PROYECTO DE INVESTIGACIÓN

Más detalles

Guía para descripción y documentación de arquitecturas de software utilizando Lenguajes de Descripción de Arquitectura

Guía para descripción y documentación de arquitecturas de software utilizando Lenguajes de Descripción de Arquitectura Guía para descripción y documentación de arquitecturas de software utilizando Lenguajes de Descripción de Arquitectura Sandra Liliana Ramírez Mora, María Guadalupe Elena Ibargüengoitia González slramirez2007@comunidad.unam.mx,

Más detalles

ANALISTA PROGRAMADOR

ANALISTA PROGRAMADOR ANALISTA PROGRAMADOR Objetivos La carrera forma profesionales en informática capacitados para: - desempeñarse como analistas y programadores de sistemas informáticos y como especialistas en el desarrollo

Más detalles

Principios de la Tecnología de Objetos

Principios de la Tecnología de Objetos Principios de la Tecnología de Objetos Unified Modeling Language Copyright Copyright (c) 2004 José M. Ordax Este documento puede ser distribuido solo bajo los términos y condiciones de la Licencia de Documentación

Más detalles

PROGRAMA DE CURSO. Metodologías de Diseño y Programación. Nombre en Inglés. Design and Programming Methodologies.

PROGRAMA DE CURSO. Metodologías de Diseño y Programación. Nombre en Inglés. Design and Programming Methodologies. Código CC3002 Nombre Nombre en Inglés PROGRAMA DE CURSO Metodologías de Diseño y Programación Design and Programming Methodologies SCT es Docentes Horas de Cátedra Horas Docencia Auxiliar Horas de Trabajo

Más detalles

Carrera: Licenciatura en Sistemas. Materia: INGENIERIA DE SOFTWARE II. Profesor Asociado: Mg. Eduardo Diez

Carrera: Licenciatura en Sistemas. Materia: INGENIERIA DE SOFTWARE II. Profesor Asociado: Mg. Eduardo Diez Carrera: Licenciatura en Sistemas Materia: INGENIERIA DE SOFTWARE II Profesor Asociado: Mg. Eduardo Diez Instructor JTP: Lic. Roberto García Año: 2011 Cuatrimestre: Primer - 1 - Fundamentación de la Asignatura:

Más detalles