57 resultados para Grado en Ingeniería de Computadores - Trabajos Fin de Grado
Resumo:
Este trabajo hace un estudio de algunas de las herramientas de seguridad disponibles en .Net Framework así como la forma de usarlas en un desarrollo web bajo la metodología de desarrollo de ASP.NET siguiendo el modelo Vista-Controlador y usando como entorno de desarrollo Visual Studio. Además de repasar las herramientas disponibles y la forma de uso se ha desarrollado también una aplicación de ejemplo: ItemCoteca-Web; en la que se demuestra cómo resolver el registro de usuarios, la autenticación y autorización de forma segura. En paralelo se ha implementado un cliente Android: Itemcoteca-app que realiza autenticación, registro y dispone de un chat seguro de incidencias para hablar con administradores OnlineEste trabajo no solo presenta las APIs disponibles sino también las buenas prácticas que define Microsoft para el uso de sus herramientas. En particular nos centramos en los tres tipos de controladores que podemos encontrar en una aplicación web Asp.net que son Controllers, WebApi y SignalR, comentando sus diferencias y su uso para clientes Web y móviles.
Resumo:
Unity3d es un motor gráfico para la implementación de videojuegos creado por Unity3d Technologies que tiene el honor de ser una de las principales herramientas que propició el auge de los estudios independientes. Pese a estar enfocado al desarrollo de videojuegos en 3D, los desarrolladores lograban crear contenido en 2D a base de manipulaciones como la cámara y de utilizar herramientas no nativas. Afortunadamente, a partir de la versión 4.3 Unity3d integra herramientas nativas que facilitan esta tarea. Este proyecto consiste en la creación de un tutorial sobre la implementación de un videojuego del género puzles en 2D y enfocado a plataformas móviles, empleando para ello Unity3d y concretamente las nuevas herramientas nativas para 2D. La implementación de un videojuego es una tarea muy complicada y extensa, es por ello que en el tutorial se va a tratar la fase de diseño del videojuego y a nivel de implementación centrarse en dichas herramientas para el 2D, mostrando al final una versión jugable del videojuego implementado. Por otra parte, al ser numerosas las herramientas, es imposible tratar cada una de las herramientas aunque se intentará abarcar lo máximo posible y mencionar las que no se incluyan dentro de la implementación del videojuego. El resultado generado de este proyecto puede constituir una referencia para otras personas interesadas en aprender cómo usar Unity3d para programar videojuegos en 2D, lo cual les allanará seguramente el camino y les suavizará la curva de aprendizaje.
Resumo:
El objetivo de este trabajo es presentar unas bases de conocimiento sobre el denominado General Game Playing (GGP) analizando los conceptos relacionados con esta área que ha surgido recientemente, de forma que nuestro trabajo pueda ser usado como base en futuras investigaciones y tesis relacionadas con la materia. Para ello, se hará un estudio de los enfoques que se han empleado para abordar el problema y se profundizará en otras técnicas algorítmicas, tales como por ejemplo la de Montecarlo Tree Search y los algoritmos bio-inspirados que no se han empleado (o se han empleado poco) en este contexto. Adicionalmente, se realiza una propuesta de un agente autónomo (es decir, un resolutor del problema), implementando un algoritmo bio-inspirado mixto, dentro de la plataforma para la General Video Game Artificial Intelligence Competition (GVGAI), analizando sus resultados y extrayendo conclusiones.
Resumo:
Resumen: En el siguiente trabajo se aborda un problema para solventar la comunicación con los robots del departamento MAPIR de la Universidad de Málaga, anteriormente sólo podían ser teleoperados mediante comandos escritos en Skype, así que se procede a diseñar un cliente móvil para Android que nos permite conectarse en tiempo real a un robot, obtener la imagen de lo que su cámara capta y además permitir su teleoperación. Por su parte, el robot corre un servidor que administra esos datos al cliente para trabajar conjuntamente. Dicho trabajo se desarrolla haciendo uso de nuevas tecnologias y protocolos como es WebRTC (de Google) para el intercambio de imágenes y del lado del servidor, se ha usado NodeJS.
Resumo:
En este proyecto se ha desarrollado un protocolo para establecer una comunicación multimaestro entre distintos dispositivos sobre una red de cable de par trenzado rs-485 de tipo half-duplex. Se explican los modos de envío half-duplex y full-duplex y los modelos de comunicación multimaestro y maestro-esclavo para establecer diferencias y se justifica la implementación de este protocolo. Se ha realizado un estudio y análisis del protocolo a implementar y se describen las decisiones de diseño empleadas para resolver los distintos problemas encontrados a la hora de analizar la capacidad de la red. Luego se ofrece una implementación del protocolo en lenguaje C/C++ para la plataforma Arduino y se explican los distintos casos de uso que se pueden dar por dispositivo. En este documento se describe de forma completa y punto por punto el trabajo realizado a lo largo de varios capítulos en forma de texto e imágenes o representaciones que dan al lector distintas vías para entender lo que aquí se explica.
Resumo:
El principal objetivo de este trabajo fin de grado es la implementación de una aplicación web que permita realizar actividades de enseñanza/aprendizaje en las ramas de cálculo y álgebra de las matemáticas, enfocada principalmente en los contenidos impartidos en las asignaturas de matemáticas en Bachillerato, concretamente de la unidad de realización de derivadas. Se han desarrollado dos modelos: Uno para el profesor, que permite la generación de los ejercicios, así como la consulta de las posibles soluciones. Esta aplicación ofrece al docente la posibilidad de mediante una serie de ajustes, generar de forma dinámica las actividades deseadas. Otro para el alumno, que permite la realización de las actividades y la inclusión de respuestas paso a paso, además de la visualización de las correcciones a sus procedimientos. Para el desarrollo de estas aplicaciones se ha usado el lenguaje Java con ayuda de JSON para el intercambio de datos. También se ha utilizado el motor de respuestas Wolfram Alpha para realizar las correcciones paso a paso de las respuestas de los alumnos.
Resumo:
Drag & Drop es una aplicación web diseñada para la creación de problemas a partir de piezas, en la que al profesor se le plantea una nueva posibilidad de evaluar a sus alumnos. La aplicación web servirá como un entorno dedicado a la elaboración de preguntas y respuestas. Para responder a dichas preguntas, se proporcionan unos elementos llamados “piezas” al alumno que se encargará de utilizar para construir su respuesta. A su vez, el profesor al elaborar la pregunta establecerá la solución ideal del problema y el conjunto de “piezas” que los alumnos podrán utilizar para crear las suyas propias. El alumno al terminar la solución de un problema, la enviará al servidor. Este se encargará de evaluarla y comparar la solución del alumno con la solución ideal propuesta por el profesor.Finalmente el profesor será el encargado de examinar el ejercicio y ajustar la calificación, ya sea aceptando la que propone el sistema o indicando una propia.
Resumo:
Este trabajo fin de grado tiene como objetivo satisfacer la necesidad por parte del Club Deportivo de la Universidad de Málaga de disponer de una herramienta software que permita almacenar y gestionar información sobre las competiciones que se realizan en el club de una forma cómoda y rápida para así mejorar los procesos actuales de recogida y manipulación de los datos. Para lograr ese objetivo se ha desarrollado una aplicación para dispositivos móviles compatible con Windows Phone y Android para la gestión de eventos de atletismo de carácter general y con una licencia de software libre para que cualquier usuario tenga la libertad de usar y modificar la aplicación sin restricciones. Para el desarrollo de la aplicación se ha hecho uso de los conocimientos y técnicas aprendidas a lo largo de la carrera. En esta memoria se describe todo lo relacionado con el trabajo llevado a cabo para alcanzar los objetivos del proyecto; desde la fase inicial de requisitos hasta la fase de pruebas y validación del producto obtenido, incluyendo artefactos generados en el proceso de diseño y modelado.
Resumo:
La intención del proyecto es mostrar las diferentes características que ofrece Oracle en el campo de la minería de datos, con la finalidad de saber si puede ser una plataforma apta para la investigación y la educación en la universidad. En la primera parte del proyecto se estudia la aplicación “Oracle Data Miner” y como, mediante un flujo de trabajo visual e intuitivo, pueden aplicarse las distintas técnicas de minería (clasificación, regresión, clustering y asociación). Para mostrar la ejecución de estas técnicas se han usado dataset procedentes de la universidad de Irvine. Con ello se ha conseguido observar el comportamiento de los distintos algoritmos en situaciones reales. Para cada técnica se expone como evaluar su fiabilidad y como interpretar los resultados que se obtienen a partir de su aplicación. También se muestra la aplicación de las técnicas mediante el uso del lenguaje PL/SQL. Gracias a ello podemos integrar la minería de datos en nuestras aplicaciones de manera sencilla. En la segunda parte del proyecto, se ha elaborado un prototipo de una aplicación que utiliza la minería de datos, en concreto la clasificación para obtener el diagnóstico y la probabilidad de que un tumor de mama sea maligno o benigno, a partir de los resultados de una citología.
Resumo:
La tecnología conocida como Microsoft Visual Studio Tools for Office (VSTO) ofrece la posibilidad de integrar Office con la plataforma .NET de forma que podamos implementar aplicaciones .NET con la apariencia de documentos de Microsoft Office. La utilización de la tecnología VSTO con hojas de cálculo para la creación de herramientas de simulación es un campo interesante por la familiaridad que las hojas de cálculo ofrecen a cualquier usuario. Cuando se desarrolla un complemento para un simulador, dicho complemento suele ser muy específico de un simulador concreto, por lo que los elementos desarrollados en estos proyectos no es posible reutilizarlos con otro simulador. Esta es la motivación que lleva a crear este proyecto: facilitar la creación de extensiones para Excel adaptables a distintos tipos de simulador, de manera que sea posible reutilizar las extensiones y sus elementos constituyentes.Para eso, se ha desarrollado un framework para la creación de extensiones Excel con VSTO que puedan ser fácilmente adaptables a diferentes tipos de simuladores. Los principales puntos que toca este framework son: - Elementos comunes a todo proyecto de simuladores. Se han ofrecido precargados un conjunto de elementos que son comunes en el desarrollo de estas aplicaciones, de manera que no sea necesario tener que implementarlos. - Definición de elementos de simulación, lo que se ha denominado en el framework controles. Se ha buscado reducir el coste de desarrollo y maximizar la reutilización. - Comunicación con los simuladores. Se ha definido e implementado una interfaz que permite la comunicación de las hojas Excel con los posibles motores de simulación. Se ha ofrecido esta interfaz en la interfaz ISimulatorService y se ha ofrecido también un cliente para comunicar con los simuladores de esta interfaz.
Resumo:
Este proyecto ha consistido en la realización de una aplicación web para cubrir una necesidad del centro universitario; la necesidad de gestionar los horarios y la asignación de aulas cada inicio de curso de una forma más automática de la que se usa en la actualidad. El objetivo principal ha sido que la aplicación fuera lo más intuitiva posible y que tenga una facilidad de uso que motivase su utilización. Para ello nos hemos decantado por una serie de características tanto visuales (distribución de la información, códigos de colores), como de uso (sistema de Drag&Drop). La aplicación tiene tres módulos principales: Un primer módulo para el manejo de los horarios, el cual nos permite la construcción de un horario para un grupo determinado evitando cualquier tipo de conflicto.El segundo módulo para la asignación de grupo a aulas, de forma que nos permite tener un control de los espacios del centro. El tercero y último, con una fuerte relación con el segundo, que en este caso se utiliza para asignar asignaturas optativas a aulas. Todo esto va acompañado por una variedad de páginas de información y de una vista administrativa para gestionar los datos necesarios para usar la aplicación. Una de las ventajas más importantes que tiene esta aplicación es la automatización a la hora de realizar todas las comprobaciones necesarias para hacer cualquier asignación. Debido a la envergadura del proyecto, optamos por realizar este proyecto conjuntamente entre tres personas para ser capaces de ofrecer un producto lo más completo posible sin salirnos de los límites de este trabajo de fin de grado.
Resumo:
El “Entorno de información y gestión para el alumnado de la ETSII” es una herramienta que permite la consulta de los datos más relevantes en el día a día de un alumno y realizar tareas simples pero de uso frecuente. El sistema se compone de dos partes, una aplicación web y una aplicación móvil para dispositivos Android. La aplicación web se encarga de leer los datos de entrada a partir de distintos archivos con extensión .csv y los almacena en una base de datos MySQL, mientras que la aplicación móvil recibe esos datos mediante servicios REST y ejecuta toda la funcionalidad con los mismos. El conjunto de funcionalidades que ofrece la aplicación requieren la autenticación en la misma a través de una cuenta de usuario en Google. El sistema además permite la generación de los horarios del alumno, adición de los exámenes al calendario personal del usuario, consulta de datos del profesorado, concertado de tutorías, asistente de matriculación y consulta del calendario lectivo de la titulación correspondiente. Con todo ello se pretende agilizar la consulta de datos relevantes de uso frecuente por parte del alumnado de la E.T.S. de Ingeniería Informática en la web del centro, el campus virtual y la DUMA.
Resumo:
El proceso de desarrollo de software define una secuencia de actividades que se aplican en la creación de un producto o aplicación de tipo software.Entre las actividades que se pueden realizar dentro del ciclo de vida del desarrollo software destacamos algunas como pueden ser la captura de requisitos, el análisis, el diseño, la implementación, las pruebas, la documentación, el despliegue o el mantenimiento. En este trabajo fin de grado se propone desarrollar una aplicación web desde sus primeras etapas hasta las últimas, indicando como aplica cada una de ellas al ejemplo de un proyecto real. Para nuestro caso,el desarrollo de software consistirá en la creación de una aplicación web para una clínica podológica, en la que vamos a tener un cliente, en este caso el propietario de la clínica, que demanda funcionalidades y que necesita que el software cumpla con sus necesidades. Dicha página Web servirá para promocionar los servicios de la clínica, mostrar una galería de fotos, tendrá un formulario de contacto, gran cantidad de páginas de información, un mapa de geo- localización para mostrar la ubicación, menús de navegación, mapa web, buscador y otras funcionalidades más típicas de cualquier página Web. Además, la aplicación deberá cumplir ciertos requisitos de usabilidad así como ser navegable en dispositivos móviles, responsivo. La creación de la aplicación se hará con el sistema gestor de contenidos Drupal, una herramienta muy utilizada actualmente para crear y gestionar aplicaciones Web y con la que podremos implementar todas las funcionalidades demandadas por nuestro cliente.
Resumo:
Plague es un editor de archivos escritos en lenguajes de planificación como STRIPS y PDDL, que permite lanzar el algoritmo GrahPlan a partir de los archivos de dominio y problema editados y encontrar una solución al problema planteado. El objetivo del editor es eminentemente pedagógico: su uso es muy simple y viene con variados ejemplos de ambos lenguajes de planificación, de modo que el usuario pueda aprenderlos de forma paulatina. Además, la salida de la ejecución permite ir viendo paso a paso el desarrollo del algoritmo GraphPlan: los operadores que se van ejecutando, los no-ops que se han seguido, los mutex que se han aplicado en cada nivel y el tiempo empleado, además de la solución final al problema si se alcanza. El programa hace uso de dos utilidades que permiten compilar el código STRIPS o PDDL que son JavaGP y PDDL4J. Una vez ejecutado el problema de planificación, se obtiene la salida en pantalla y también se puede imprimir el problema completo incluida la solución. El objetivo ha sido crear un programa que permita al usuario editar rápidamente archivos STRIPS y PDDL, los pueda compilar velozmente y obtener el resultado en un solo sitio, con una salida mucho más clara, organizada y entendible y se evite el problema de tener que usar editores externos y una ventana de línea de comando para ejecutar GraphPlan. Plague is a text editor for files written in action languages, such as STRIPS and PDDL, which allows running the GraphPlan algorithm from the domain archives and edited problems, and finding a solution to the proposed problem. The goal of the editor is primarily for pedagogical purposes: it is simple to use and comes equipped with a variety of examples in both action languages, so that the user can gradually learn. In addition, as the editor runs it allows the user to observe the step by step development of the GraphPlan algorithm: the operators being executed, the no-ops that have been followed, the mutex applied at each level and the time spent, as well as the final answer to the problem, if reached. The program uses two utilities allowing the STRIPS or PDDL code to be compiled: JavaGP and PDDL4J. Once the planning problem has been executed, the result is shown on screen and the complete problem can also be printed, including the solution. The objective has been to create a program that allows the user to quickly edit STRIPS and PDDL archives, to compile them swiftly and obtain the solution in a single place, with a result that is clear, organised and understandable, thus avoiding the problem of having to use external editors and command prompts to execute GraphPlan.
Resumo:
El presente trabajo consiste en la elaboración de un sistema multiagente capaz de realizar simulaciones de enfermedades epidémicas, en determinados entornos, que pueden ser creados por los usuarios del sistema, así como la población que los ocupa, donde cada humano es un agente Jade. El trabajo se compone a su vez de cuatro módulos principales: una aplicación web realizada JSF, una aplicación de escritorio implementada en Java, el propio sistema multiagente que realiza las simulaciones, desarrollado usando Java sobre el framework de Jade y un servidor web que contiene al sistema multiagente y a la aplicación web mencionados anteriormente.El sistema desarrollado permite una gran cantidad de configuraciones sobre todos los aspectos que pueden influir en la simulación de una epidemia, como por ejemplo, parámetros de los entornos (tamaño, nivel de desarrollo, población de riesgo, etc.), población (porcentaje de población activa, estudiante, etc.) y enfermedades, así como sobre la propia simulación, ajustando por ejemplo el número de días de la duración o la probabilidad de que una persona decida ir a trabajar si está enferma. Además de realizar simulaciones, el sistema permite almacenarlas y consultarlas posteriormente, pudiendo tanto reproducirlas de nuevo como consultar información estadística detallada sobre la misma, así como distintas gráficas que muestran la evolución de la epidemia a lo largo de la simulación.Para garantizar un funcionamiento óptimo del sistema, este se ha ajustado y probado mediante diversas pruebas de estrés que garantizan que el rendimiento del mismo durante la realización de simulaciones es adecuado. Todo esto conforma un sistema cuya finalidad es la obtención de datos que puedan ser útiles de cara al estudio de enfermedades infecciosas potencialmente epidémicas y permitan extraer conclusiones sobre las mismas, ayudando al mejor entendimiento de este tipo de enfermedades y su comportamiento en determinados entornos.