918 resultados para Aplicación web
Resumo:
Este proyecto consiste en el diseño e implementación un sistema domótico que puede ser instalado en una vivienda para controlar distintas variables ambientales y conseguir así la máxima comodidad de los habitantes de manera automática o manual según los gustos y necesidades de los usuarios. La característica principal de este sistema, es que cuenta con un funcionamiento distribuido donde entran en juego un servidor, encargado de tomar las decisiones generales para el comportamiento de la casa, y una serie de controladores esclavo cuya función es mantener constantes las variables ambientales con los valores fijados por el servidor. Así se consigue mantener la vivienda en una situación de bienestar constante para cualquier persona que se encuentre dentro. El sistema ha sido pensado de manera que se intenta reducir al máximo el cableado para facilitar su instalación por lo que la comunicación entre los distintos dispositivos se hace de manera inalámbrica por medio de un protocolo descrito en la norma IEEE 802.15.4 llamado ZigBee. Para ello se ha utilizado un módulo de comunicación wireless llamado Xbee, el cual permite la comunicación entre dos dispositivos. Para el control de dicho sistema distribuido se cuenta con una aplicación web, que mediante una interfaz gráfica permite al usuario controlar los distintos dispositivos dentro de la vivienda consiguiendo así controlar las variables ambientales a gusto del usuario. Dicha interfaz gráfica no depende de un software específico, sino que sólo es necesario un cliente http como podría ser Internet Explorer, Mozilla Firefox, Google Chrome, etc. Para integrar dicho sistema se ha usado un mini ordenador de bajo coste llamado RaspBerryPi, en el que se encuentra alojado un servidor Apache con el fin de gestionar y automatizar las variables ambientales. El control de los dipositivos encargados de modificar y estabilizar las variables ambientales se realiza mediante unos controladores genéricos implementados mediante mcontroladores 80C51F410, pertenecientes a la familia 80C51, y una serie de componentes y circuitería que permiten el correcto funcionamiento de éstos. Existen dos tipos de controladores distintos, los cuales son: Controlador Sensor: Encargados de las tomas de valores ambientales como puede ser la luz y la temperatura. Controladores Actuadores: Encargados de actuar sobre los dispositivos que modifican y estabilizan las variables ambientales como pueden ser la calefacción, tiras de leds de iluminación, persianas, alarmas, etc. El conjunto de la RaspBerryPi y los diferentes controladores forman el prototipo diseñado para este proyecto fin de carrera, el cual puede ser ampliado sencillamente para abarcar una amplia gama de posibilidades y funcionalidades dentro de la comodidad de una vivienda. ABSTRACT. The project described in this report consisted designing and implementing a home automation system that could be installed in a house in order to control environmental variables and thus get the maximum comfort of the inhabitant automatically or manually according to their tastes and needs. The main feature of this system consists in a distributed system, formed by a server which is responsible for making the main decisions of the actions performed inside the house. In addition, there are a series of slave controlers whose function consists in keeping the environmental variables within the values established by the server. Thus gets to keep the home in a situation of constant wellbeing to anyone who is inside. The system has been designed in order to reduce the amount of wire needed for the inter-connection of the devices, by means of wireless communication. The devices chosen for the solution are Xbee modules, which use the Zigbee protocol in order to comunicate one between each other. The Zigbee protocol is fully described in the IEEE 802.15.4 standard. A web application has been used to control the distributed system. This application allows users to control various devices inside the house and subsequently the different environmental variables. This implementation allows obtaining the maximum comfort by means of a very simple graphical interface. In addition, the Graphical User Interface (GUI) does not depend on any specific software. This means that it would only be necessary a http client (such as Internet Explorer, Mozilla Firefox, Google Chrome, etc.) for handling the application. The system has been integrated using a low-cost mini computer called RaspBerryPi.This computer has an Apache server allocated which allows to manage and to automatize the different environmental variables. Furthermore, for changing and stabilizing those variables, some generic controllers have been developed, based on mcontrollers 80C51F410. There have been developed mainly two different types of controllers: Sensor Controllers, responsible for measuring the different environmental values, such as light and temperature; and Actuator Controllers, which purpose is to modify and stabilize those environmental variables by actuating on the heating, the led lamps, the blinders, the alarm, etc. The combination of the RaspBerryPi and the different controllers conform the prototype designed during this project. Additionally, this solution could be easily expanded in order to intake further functionalities adapted to new needs that could arise in the future.
Resumo:
El Proyecto Fin de Carrera, con título, "Interacción desde dispositivos Android vía Bluetooth, con juguete teledirigido, para su uso por personas con discapacidad" pretende completar la primera versión de la aplicación sobre dispositivo Android para manejar un juguete teledirigido añadiendo nuevas formas de interactuar con el dispositivo Android. Para este caso, el juguete teledirigido es el mismo: el robot esférico llamado Sphero. Dicho robot posee una interfaz a través de la cual puede recibir instrucciones, y mediante las cuales, se puede poner en movimiento o iluminarse con diferentes colores. Esta ampliación facilitará la interacción del usuario con el dispositivo Android, además de ampliar la funcionalidad hacia la inversa: recibir los movimientos del robot Sphero en el dispositivo Android cuando es manejado con la mano. Completando la primera versión, como cumplimiento de este Proyecto Fin de Carrera, se han realizado una serie de mandos nuevos, los cuales abarcan desde el manejo del robot por instrucciones de voz, movimientos del dispositivo Android desde el que se ejecuta, describir una trayectoria dibujada previamente en el dispositivo Android, o, realizar una serie de movimientos corregidos mediante la aplicación gracias a los límites de movimientos para un usuario concreto que pueden introducirse. Además, completando lo anteriormente escrito, se ha desarrollado una aplicación web que registrará todos los datos de uso del juguete, la cual, explota una base de datos que almacena toda interacción con el juguete. Estos datos estarán asociados a un usuario, debido a que la aplicación Android debe perfilarse para el uso de un usuario concreto. El perfilado de usuario se ha completado añadiendo una serie de información que puede ser útil para la persona que analice el comportamiento de una persona con discapacidad que utilice la aplicación. Por último, se ha realizado un estudio de elementos externos que puedan facilitar la interacción con los dispositivos Android a personas que sufran alguna discapacidad. ABSTRACT. The Thesis, titled "Interaction from Android devices via Bluetooth, with remote control toy, for use by people with disabilities" project aims to complete the first version of the application on Android device to manage a remote control toy adding new ways of interacting to Android device. For this case, the remote control toy is the same: the spherical robot called Sphero. This robot has an interface through which it can receive instructions, and by means of which can be set in motion or illuminated with different colors. This expansion will facilitate user interaction with the Android device, and extend the functionality to reverse: receiving Sphero robot movements in the Android device when handled by hand. Completing the first version, in fulfillment of this Thesis, there have been a number of new controls, which range from control of robot by voice instructions, movements Android device from which it runs, describe a path drawn previously on your Android device, or perform a series of movements corrected by applying through limits of movement for a particular user can be made. Besides completing the above written, has developed a web application that will record all data on use of the toy, which exploits a database that stores all interaction with the toy. These data will be associated with a user, because the Android application should be outlined for the use of a particular user. The user profile is completed by adding a range of information that can be useful for the person to analyze the behavior of a disabled person to use the application. Finally, a study was made of external elements that can facilitate interaction with Android devices to people who suffer from a disability.
Resumo:
RESUMEN DEL PROYECTO Organizar actividades y proyectos entre varias personas o tomar decisiones conjuntas son cuestiones a las que se enfrenta cualquier individuo en su día a día. El simple hecho de coordinar o poner de acuerdo a un grupo reducido de personas puede llegar a suponer un gran problema ya que cada participante tiene sus propias preferencias y, en ocasiones, es difícil conseguir encajarlas con las demás del grupo. Este proyecto, llamado “DealtDay”, surge para facilitar esta labor. La idea nace ante la necesidad de organizar, de forma fácil e intuitiva, a un grupo de personas para, por ejemplo, concretar una reunión, quedar para ir a dar una vuelta, decidir qué película ver, etc. Este proyecto se ha desarrollado basándose en el sistema actual de relaciones con el que se han creado la mayoría de las redes sociales que hoy conocemos. Como medio para poder hacer uso del proyecto se ha construido una aplicación web que, gracias a las decisiones de diseño tomadas, se puede usar tanto en un ordenador, una tablet o un Smartphone. Este punto se considera fundamental ya que cada vez más personas están dejando de lado los ordenadores corrientes para dar paso al uso de las nuevas tecnologías. Además, se ha creado una API REST, lo que nos permite utilizar todas las funcionalidades de la aplicación desde cualquier sistema que pueda realizar peticiones http. En este proyecto en concreto se realizará la parte del desarrollo de la API, el cliente web y el despliegue de la aplicación en un servidor web para realizar las pruebas pertinentes. ABSTRACT To organize activities and projects between several people or make joint decisions are issues to which any person faces every day.The simple fact of coordinate or coming to an agreement with a group of persons could be a major problem, since each participant has their own preferences and often fails when tries to fit them with the group. This project, called “Dealt Day”, is born to facilitate this task. The idea arises of how to achieve organize a group of people in an easily and intuitively way in order to arrange a meeting, be able to go for a walk, decide what movie to see or simply vote a choice between a users group. This project has been developed based on the current relation system that has been created in the most social networks we know. As a means of making use of the project a web application has been built, that thanks to the design decisions taken it can be used in a computer, tablet or smartphone, This is an essential point because more and more people are abandoning the current computers to make way for the use of new technologies. Also, a REST API has been created, which allows us to use all the features of the application from any system able to make http requests. In this particular project, I have done the development of the API, web client and the application deployment on a web server in order to test it.
Resumo:
Este trabajo pretende analizar la interacción del usuario final con un geoportal. Para este propósito, se evalúa la medida en que se cumplen las expectativas y necesidades del usuario, el grado probable de dificultad que enfrenta, así como el nivel de satisfacción que alcanza en un sitio web. Se analiza especialmente el caso en que el geoportal ha sido creado en base a objetivos y necesidades del promotor, pero sin tener en cuenta las expectativas, necesidades y limitaciones del usuario. Para este fin, se realizó el análisis del portal del Sistema de Información del Atlas Nacional de España en la web (SIANEweb) mediante técnicas inherentes al Diseño Centrado en el Usuario (DCU). Este enfoque es particularmente útil al evaluar la capacidad de un geoportal para resolver necesidades reales del usuario. El DCU es iterativo, por lo que se puede aplicar a cada una de las etapas en el desarrollo de un prototipo, así como a un sitio ya operativo como el caso del SIANEweb con el fin de alcanzar o mejorar la usabilidad. Dado que el sitio seleccionado se encuentra actualmente operativo, este trabajo se centra en las fases de requisitos y de evaluación, y por lo tanto no en la planificación, diseño y desarrollo de una aplicación web. Este estudio ha permitido evidenciar problemas que impiden el rendimiento óptimo del geoportal, limitando su facilidad de uso con diferentes niveles de incidencia para el SIANEweb y condicionando la satisfacción de los usuarios, uno de los indicadores clave en el éxito o fracaso de un geoportal. Sobre la base de los resultados alcanzados, se proponen una serie de mejoras potenciales para el SIANEweb, que se pueden extrapolar a cualquier geoportal de características similares. Estas mejoras están clasificadas para cada perfil de usuario, sin embargo los resultados se orientan a las necesidades comunes que manifiestan los dos grupos. Del mismo modo mediante la realización de un análisis DAFO sobre las necesidades y expectativas del usuario, se proponen pautas orientadas a las oportunidades detectadas, con el fin de centrarse no sólo en los actuales usuarios sino también en los usuarios potenciales de este subsistema del Atlas Nacional de España. Así mismo, se aportan datos cuantitativos que podrían servir como punto de partida para una evaluación comparativa futura, que denote una experiencia más eficiente, agradable y exitosa para los usuarios, una vez incorporado el SIANEweb en un proceso de mejora de la usabilidad a través del enfoque DCU. De manera sistémica, este estudio conlleva a la reflexión sobre la importancia del punto de vista del usuario, como factor de éxito o fracaso de un sitio web.
Resumo:
El objetivo del trabajo ha sido el diseño y programación de una aplicación web basada en HTML5 que permite la visualización gráfica en tiempo real del estado de los distintos servicios y redes de sensores de la plataforma SmartCity del CEI Moncloa. Dicha plataforma, encuadrada dentro de la iniciativa “City of the Future” de la UPM, está compuesta por un conjunto de redes de sensores especializados en la recogida de datos de distintos ámbitos (medioambientales, energía, flujos de personas…)Para el desarrollo de la aplicación se ha hecho uso de tecnologías de nivel avanzado como NodeJS, un entorno de desarrollo en JavaScript de lado de servidor orientado a eventos; y librerías JavaScript como Bootstrap, que ha facilitado que el diseño de la interfaz web sea adaptativo a distintos dispositivos y resoluciones; Openlayers, ofreciendo mapas interactivos y subscritos a eventos; y D3.js, que ha permitido la visualización de datos recogidos por la plataforma de forma dinámica e interactiva en la aplicación web a través de distintos formatos como es el caso de gráficas y diagramas.
Resumo:
La iniciativa FIWARE ofrece un conjunto de APIs potentes que proporcionan la base para una innovación rápida y eficiente en el Internet del Futuro. Estas APIs son clave en el desarrollo de aplicaciones que usan tecnologías muy recientes e innovadoras, como el Internet de las cosas o la Gestión de Identidad en módulos de seguridad. Este documento presenta el desarrollo de una aplicación web de FIWARE usando componentes virtualizados en máquinas virtuales. La aplicación web está basada en “la fábrica de chocolate de Willy Wonka” como una implementación metafórica de una aplicación de seguridad e IoT en un entorno industrial. El componente principal es un servidor web en node.js que conecta con varios componentes de FIWARE, conocidos como “Generic Enablers”. La implementación está compuesta por dos módulos principales: el módulo de IoT y el módulo de seguridad. El módulo de IoT gestiona los sensores instalados por Willy Wonka en las salas de fábrica para monitorizar varios parámetros como, por ejemplo, la temperatura, la presión o la ocupación. El módulo de IoT crea y recibe información de contexto de los sensores virtuales. Esta información de contexto es gestionada y almacenada en un componente de FIWARE conocido como Context Broker. El Context Broker está basado en mecanismos de subscripciones que postean los datos de los sensores en la aplicación, en tiempo real y cuando estos cambian. La conexión con el cliente se produce mediante Web Sockets (socket.io). El módulo de seguridad gestiona las cuentas y la información de los usuarios, les autentica en la aplicación usando una cuenta de FIWARE y comprueba la autorización para acceder a distintos recursos. Distintos roles son creados con distintos permisos asignados. Por ejemplo, Willy Wonka puede tener acceso a todos los recursos, mientras que un Oompa Loopa encargado de la sala del chocolate solo deberías de tener acceso a los recursos de su sala. Este módulo está compuesto por tres componentes: el Gestor de Identidades, el PEP Proxy y el PDP AuthZForce. El gestor de identidades almacena las cuentas de FIWARE de los usuarios y permite la autenticación Single Sing On usando el protocolo OAuth2. Tras logearse, los usuarios autenticados reciben un token de autenticación que es usado después por el AuthZForce para comprobar el rol y permiso asociado del usuario. El PEP Proxy actúa como un servidor proxy que redirige las peticiones permitidas y bloquea las no autorizadas.
Resumo:
En este Trabajo Fin de Grado se ha realizado un estudio sobre una nueva tendencia emergente en el desarrollo de aplicaciones web. Esta tendencia se basa en un nuevo modelo de arquitectura conocido como micro servicios. La utilización de arquitecturas basadas en micro servicios, supone un nuevo punto de vista en el desarrollo de aplicaciones web completamente diferente al que se ha estado desarrollando en los últimos años, durante los cuales las aplicaciones web se han desplegado generalmente siguiendo arquitecturas monolíticas. Utilizando arquitecturas monolíticas el desarrollador descompone la aplicación web en tres capas: la interfaz de usuario, la lógica de la aplicación y el sistema de gestión de datos. Estas capas son ejecutadas habitualmente sobre una misma máquina (normalmente externalizando las bases de datos). Esto provoca que la flexibilidad sea mínima, que un pequeño fallo en cualquier punto tenga un gran impacto, que todas las funcionalidades estén escritas sobre un mismo lenguaje y que el escalado se haga horizontalmente de una manera ineficiente. Las arquitecturas basadas en micro servicios proponen sin embargo una arquitectura en la que cada funcionalidad quede dividida en un nuevo servicio web lo más independiente posible, lo cual va a mejorar en gran medida los puntos débiles de las aplicaciones monolíticas. Para poner en práctica y entender en mayor medida los conocimientos sobre este tipo de arquitecturas, se ha desarrollado un ejemplo de aplicación web basada en micro servicios. Por último, se ha analizado su funcionamiento, llegando a una serie de conclusiones.
Resumo:
El departamento de QA & Testing de Indra da cobertura a las actividades de aseguramiento de calidad y testing en diferentes operaciones. La línea principal de operación está centrada en el diseño y ejecución de pruebas de aplicaciones, las cuales están orientadas a asegurar que “el sistema hace lo que tiene que hacer, y no hace lo que no debe hacer”. En la línea de movilidad (moQA) se dispone de software específico y de un rack de dispositivos para aplicaciones que deben funcionar sobre diversidad de tecnologías o dispositivos. Es precisamente en esta unidad donde se está buscando dar un nuevo enfoque al testing tradicional. En este contexto se propone como método innovador la implementación de una herramienta que permita utilizar un dispositivo, Smartphone o Tablet, en remoto desde cualquier parte del mundo. Con el objetivo principal de desarrollar un nuevo servicio que permita a la unidad de QA & Testing diferenciarse de los competidores en un mercado completamente en auge, se ha llevado a cabo este Trabajo de Fin de Grado, en el cual se realiza la implementación de un sistema de reserva de dispositivos integrado en la nube. Sin embargo, cabe destacar que esta necesidad surge también a raíz del crecimiento exponencial del departamento producido en los últimos meses y que ha provocado la adquisición de decenas de dispositivos sobrepasando el centenar. El sistema implementado busca sacar una rentabilidad mucho mayor de los mismos. A partir de la creación de esta nueva herramienta se abre un amplio abanico de posibilidades que podrían aumentar las ganancias de la inversión realizada en el rack de dispositivos. El desarrollo de este Trabajo de Fin de Grado se ha dividido en tres tareas distintas: I) Realización de un estudio de las distintas herramientas de gestión de reservas existentes, para encontrar aquella que mejor se adapte al proyecto. Posteriormente se procederá a la implantación de la misma sobre un servidor web, como parte del desarrollo de la aplicación web cliente. II) Implementación de las conexiones necesarias entre la nube y la aplicación web cliente. III) Desarrollo del script encargado de proporcionar el acceso remoto de un dispositivo desde el servidor directamente hasta el cliente. En último lugar, conociendo toda la lógica del sistema, se mostrarán los resultados y se describirán las conclusiones de la herramienta implementada.
Resumo:
Durante los años 2008, 2009 y 2010 se han llevado a cabo, a nivel estatal, diversas actuaciones encaminadas a evaluar la alteración ecohidrológica de las masas de agua. Esta evaluación se llevó a cabo con la metodología y aplicación IAHRIS. Durante el desarrollo de estos trabajos se constató la necesidad de crear una herramienta que permitiera una mejor adecuación de los valores de la Red Oficial de Estaciones de Aforo (ROEA) a las diferentes herramientas que permiten valorar la alteración hidrológica de los regímenes hidrológicos, con especial atención a su aplicación a través del modelo IAHRIS. La aplicación web creada, denominada SEDAR (Servidor de Datos para Estudio de la Alteración Hidrológica), ayuda a solventar esta tarea, por un lado agilizando el trámite de selección de estaciones de aforo, fechas, tipo de serie de aforo, valoración preliminar de la calidad de los datos, clasificación referencia-alterado de los caudales, exportación de datos, y por otro proporcionando información completada tanto para datos mensuales y diarios, disponiendo de esta manera de un mayor volumen de datos en los formatos nativos de IAHRIS e IRA. De este modo, se dispone de una aplicación de fácil acceso por el usuario y con gran valor para la realización de estudios de alteración hidrológica, propuestas de régimen de caudal ambiental y proyectos de restauración fluvial; además constituye una aplicación base para la incorporación de nuevas funcionalidades de mayor alcance ligadas a la obtención de datos en régimen natural o de referencia.
Resumo:
El presente trabajo se enmarca en el ámbito de la eficiencia energética y contempla la gestión del consumo eléctrico en hogares. Concretamente, para este proyecto fin de grado se propone el desarrollo de un sistema informático que permita el análisis y monitorización del consumo eléctrico y optimización en la contratación del suministro eléctrico en el hogar. El sistema desarrollado permite la monitorización del consumo eléctrico, expresado en kilovatios-hora (kWh), y la monitorización del coste real de dicho consumo, expresado en euros, en función del tipo de tarifa que se tenga contratada en la modalidad del PVPC1 (Precio Voluntario para el Pequeño Consumidor). También se ha desarrollado una interfaz web a través de la cual el usuario tiene acceso a la información y datos del sistema. En dicha web se muestran gráficas de consumo, potencia, voltaje, corriente y coste de la energía por días. Además, se ha dotado al sistema de un generador de alertas que notifica al usuario, vía web y vía correo electrónico, cuando el consumo sobrepasa los límites fijados por él mismo. El usuario, por tanto, podrá definir los valores de alerta de sobreconsumo y visualizar tanto un histórico de las alertas generadas en el pasado como las alertas activas en ese momento. Las alertas se muestran en la gráfica correspondiente dentro de la aplicación web. Por último, se dispone de la opción de exportar las gráficas que son visualizadas en la aplicación web en formato PNG, JPEG, PDF y SVG, además de la posibilidad de imprimirla.---ABSTRACT---This project belongs to the Energy Efficiency field and is aimed at home energy management. Specifically, for this thesis the development of a computer system that allows monitoring and analysis of energy consumption and contracted power optimization is proposed. The developed system allows energy consumption management within households (expressed in kilowatts per hour, kWh) and real cost monitoring (in euros) according to the contract tariff. A web interface has been developed in order to provide the user with power consumption information and control energy tools. In this web application, electric consumption, power, voltage, current and energy cost by day are shown. Besides, an alert generation system has been implemented so that the user can define maximum power consumption values and be informed through email or web when these values are exceeded. The user will be able to check older power alerts as well as the currently active ones. These alerts are shown in a specific graph within the web application. Finally, the user generated graphs can be exported from the web using PNG, JPEG, PDF or SVG image formats as well as be printed from the web.
Resumo:
El software se ha convertido en el eje central del mundo actual, una compleja creación humana que influye en la vida, negocios y comunicación de todas las personas pertenecientes a la Sociedad de la Información. El rápido crecimiento experimentado en el ámbito del desarrollo software ha permitido la creación de avanzadas estructuras tecnológicas, denominadas “Sistemas Intensivos Software”, capaces de comunicarse con otros sistemas, dispositivos, sensores y personas. A lo largo de los próximos años los sistemas se enfrentarán a una mayor complejidad, surgida de la necesidad de operar en entornos de grandes dimensiones y de comportamientos no deterministas. Los métodos y herramientas actuales no son lo suficientemente potentes para diseñar, construir,implementar y mantener sistemas intensivos software con estas características, y detener la construcción de sistemas intensivos software o construir sistemas poco flexibles o fiables no es una alternativa real. En el desarrollo de “Sistemas Intensivos Software” pueden llegar a intervenir distintas entidades o compañías software que suelen estar en ubicaciones geográficas distintas y constituidas por grandes equipos de desarrollo, multidisciplinares e incluso multilingües. Debido a la criticidad del resultado de las actividades realizadas de forma independiente en el sistema resultante, éstas se han de controlar y monitorizar para asegurar la correcta integración de todos los elementos del sistema completo. El objetivo de este proyecto es la creación de una herramienta software para dar soporte a la gestión y monitorización de la construcción e integración de sistemas intensivos software, siendo extensible también a proyectos de otra índole. La herramienta resultante se denomina Positioning System, una aplicación web del tipo SPA (Single Page Application) creada con tecnología de última generación como el framework JavaScript AngularJS y tecnología de back-end como SlimPHP. Positioning System provee la funcionalidad necesaria para la creación de proyectos, familias y subfamilias de productos que constituyen los productos software de los proyectos creados, así como la gestión de socios comerciales y gestión de contactos de dichos proyectos. Todas estas funcionalidades son fácilmente monitorizadas y controladas por gráficos estadísticos generados para cada proyecto. ABSTRACT Software has become the backbone of today’s world, a complex human creation that has an important impact in the life, business and communication of all people involved with the Information Society. The quick growth that software development has undergone for last years has enabled the creation of advanced technological structures called “Software Intensive Systems”. They are able to communicate with other systems, devices, sensors and people. Next years, systems will face more complexity. It arises from the need of operating systems of large dimensions with non-deterministic behaviors. Current methods and tools are not powerful enough to design, build, implement and maintain software intensive systems; however stopping the development or developing unreliable and non-flexible systems is not a real alternative. Software Intensive Systems” development may involve different entities or software companies which may be in different geographical locations and may be constituted by large, multidisciplinary and even multilingual development teams. Due to the criticality of the result of each conducted activity, independently in the resulting system, these activities must be controlled and monitored to ensure the proper integration of all the elements within the complete system. The goal of this project is the creation of a software tool to support the management and monitoring of the construction and integration of software intensive systems, being possible to be extended to other kind of projects. The resultant tool is called Positioning System, a web application that follows the SPA (Single Page Application) style. It was created with the latest technologies, such as, the AngularJS framework and SlimPHP. The Positioning System provides the necessary features for the creation of projects, families and subfamilies of products that constitute the software products of the created projects, as well as the management of business partners and contacts of these projects. All these features are easily monitored and controlled by statistical graphs generated for each project.
Resumo:
En este Proyecto Fin de Grado se construirá una herramienta de gestión integral de centros hortícolas donde una serie de huertos cuidados por personas en situación de discapacidad son alquilados a terceros. Esta iniciativa se lleva a cabo gracias a la iniciativa “La Huerta de Montecarmelo” de la Fundación Carmen Pardo-Valcarce de Madrid. Este proyecto es el resultado de la colaboración entre la Escuela Técnica Superior de Ingeniería de Sistemas Informáticos y la Fundación, a través de un programa de Prácticas Externas que duró doce meses. Por una parte, tras años de trabajo en esta Obra Social, se encontró que muchos de los clientes, pasado el verano, se desvinculaban de las tareas y del medio. A fin de solucionar esos problemas, se propuso construir una aplicación web, comunicada con otros dispositivos, como Smartphones, permitiendo un flujo de trabajo más ágil y notificando a los arrendatarios de cada cambio en sus huertos, por ejemplo: fotos recientes, notificaciones de recolecta o futuros cursos. El proyecto se llevó a cabo con éxito a lo largo de 2012 y 2013. Abstract In this Final Degree Project we build a complete horticulture center management tool where a set of gardens, which are kept by people with disabilities, are leased to third parties. This project is carried out within the La Huerta Montecarmelo initiative of the Carmen Pardo-Valcarce Foundation in Madrid. The project was the result of collaboration between the School of Computer Systems Engineering of the Technical University of Madrid and that Foundation through an External Practices program that lasted twelve months. By one hand, over the years of Social Work in this initiative, it was found that some clients after spring were easily disconnected from the tasks involved to the garden. By the other, all the management of more than two hundred of gardens becomes a very complex task due to lots of paperwork. To solve these problems and more, we proposed to build a web application, relying on other devices, such as Smartphones, allowing a more agile workflow and notifying customers of any change related to its garden, for example: recent photographs, notifications of harvest or future courses. The project was successfully carried out throughout 2012 and 2013.
Resumo:
El objetivo principal de este proyecto ha sido introducir aprendizaje automático en la aplicación FleSe. FleSe es una aplicación web que permite realizar consultas borrosas sobre bases de datos nítidos. Para llevar a cabo esta función la aplicación utiliza unos criterios para definir los conceptos borrosos usados para llevar a cabo las consultas. FleSe además permite que el usuario cambie estas personalizaciones. Es aquí donde introduciremos el aprendizaje automático, de tal manera que los criterios por defecto cambien y aprendan en función de las personalizaciones que van realizando los usuarios. Los objetivos secundarios han sido familiarizarse con el desarrollo y diseño web, al igual que recordar y ampliar el conocimiento sobre lógica borrosa y el lenguaje de programación lógica Ciao-Prolog. A lo largo de la realización del proyecto y sobre todo después del estudio de los resultados se demuestra que la agrupación de los usuarios marca la diferencia con la última versión de la aplicación. Esto se basa en la siguiente idea, podemos usar un algoritmo de aprendizaje automático sobre las personalizaciones de los criterios de todos los usuarios, pero la gran diversidad de opiniones de los usuarios puede llevar al algoritmo a concluir criterios erróneos o no representativos. Para solucionar este problema agrupamos a los usuarios intentando que cada grupo tengan la misma opinión o mismo criterio sobre el concepto. Y después de haber realizado las agrupaciones usar el algoritmo de aprendizaje automático para precisar el criterio por defecto de cada grupo de usuarios. Como posibles mejoras para futuras versiones de la aplicación FleSe sería un mejor control y manejo del ejecutable plserver. Este archivo se encarga de permitir a la aplicación web usar el lenguaje de programación lógica Ciao-Prolog para llevar a cabo la lógica borrosa relacionada con las consultas. Uno de los problemas más importantes que ofrece plserver es que bloquea el hilo de ejecución al intentar cargar un archivo con errores y en caso de ocurrir repetidas veces bloquea todas las peticiones siguientes bloqueando la aplicación. Pensando en los usuarios y posibles clientes, sería también importante permitir que FleSe trabajase con bases de datos de SQL en vez de almacenar la base de datos en los archivos de Prolog. Otra posible mejora basarse en distintas características a la hora de agrupar los usuarios dependiendo de los conceptos borrosos que se van ha utilizar en las consultas. Con esto se conseguiría que para cada concepto borroso, se generasen distintos grupos de usuarios, los cuales tendrían opiniones distintas sobre el concepto en cuestión. Así se generarían criterios por defecto más precisos para cada usuario y cada concepto borroso.---ABSTRACT---The main objective of this project has been to introduce machine learning in the application FleSe. FleSe is a web application that makes fuzzy queries over databases with precise information, using defined criteria to define the fuzzy concepts used by the queries. The application allows the users to change and custom these criteria. On this point is where the machine learning would be introduced, so FleSe learn from every new user customization of the criteria in order to generate a new default value of it. The secondary objectives of this project were get familiar with web development and web design in order to understand the how the application works, as well as refresh and improve the knowledge about fuzzy logic and logic programing. During the realization of the project and after the study of the results, I realized that clustering the users in different groups makes the difference between this new version of the application and the previous. This conclusion follows the next idea, we can use an algorithm to introduce machine learning over the criteria that people have, but the problem is the diversity of opinions and judgements that exists, making impossible to generate a unique correct criteria for all the users. In order to solve this problem, before using the machine learning methods, we cluster the users in order to make groups that have the same opinion, and afterwards, use the machine learning methods to precise the default criteria of each users group. The future improvements that could be important for the next versions of FleSe will be to control better the behaviour of the plserver file, that cost many troubles at the beginning of this project and it also generate important errors in the previous version. The file plserver allows the web application to use Ciao-Prolog, a logic programming language that control and manage all the fuzzy logic. One of the main problems with plserver is that when the user uploads a file with errors, it will block the thread and when this happens multiple times it will start blocking all the requests. Oriented to the customer, would be important as well to allow FleSe to manage and work with SQL databases instead of store the data in the Prolog files. Another possible improvement would that the cluster algorithm would be based on different criteria depending on the fuzzy concepts that the selected Prolog file have. This will generate more meaningful clusters, and therefore, the default criteria offered to the users will be more precise.
Resumo:
Durante el siglo XXI hemos sido testigos de cambios con una gran trascendencia en el campo de las tecnologías tanto a nivel de hardware como software, aunque uno de los más notables ha sido el cambio del paradigma de la distribución del software, donde la instalación de herramientas de escritorio queda relegada a un segundo plano y toman fuerza las aplicaciones que consumen servicios web o que, simplemente, son aplicaciones web, que no requieren de un proceso de instalación y siempre que tengamos una conexión a internet activa podremos acceder a nuestra aplicación y datos, sin importar desde donde nos conectemos. Gracias a este cambio, últimamente han proliferado distintas tecnologías para la creación de aplicaciones web, entre estas encontramos los componentes web basados en tecnología Polymer como herramienta para el desarrollo de aplicaciones modulares y componentes reutilizables en distintos sitios web, modificando y añadiendo funcionalidad a las etiquetas de HTML, de esta manera una vez desarrollado un componente, volver a utilizarlo es realizar un trabajo de unos cuantos segundo añadiendo la etiqueta necesaria en nuestro código HTML, esta ventaja es la principal característica de Polymer. En paralelo al desarrollo de tecnologías web, y gracias a su masificación, se han generado herramientas y frameworks a través de los cuales se pueden desarrollar aplicaciones para dispositivos móviles mediante tecnologías web, esto beneficia directamente a los ecosistemas de desarrolladores, herramientas, frameworks y aplicaciones ya que los hace más amplios y accesibles a todo aquel que sea capaz de programar una aplicación web basada en HTML, CSS y Javascript. El objetivo de este trabajo es generar un canal de movilidad definiendo una metodología eficaz para portar las ventajas de los componentes web de Polymer a entornos móviles, conservando su capacidad de ser reutilizados de manera sencilla y sin perder, dentro de lo posible, la usabilidad de los mismos teniendo en cuenta las particularidades de los dispositivos móviles, esto se realizará mediante pruebas de usabilidad para posteriormente validar la metodología generada aplicándola a un caso real.---ABSTRACT---During 21st century we have witness the important changes in technologies field, involving both hardware and software level, but one of the most relevant ones has been the software distribution paradigm change, where desktop tools has lost their importance to benefit web services or just web applications, among which the web components are included. Web components are based on Polymer technology as its main tool for developing modular applications and reusable components in different web sites, adding and modifying functionality to HTML tags. So, when a components is developed, reusing it is possible just adding its correspondant tag inour HTML code. This is the main Polymer feature. As web technologies grow, different tools and frameworks has been created. They can be used to develop applications for web devices though web technologies, which is a benefit for developer, tools, frameworks and applications ecosystems, in such a way this new tools make them wider and more accessible for every one able to develop web applications with HTML, CSS and Javascript languages. The goal of this work is to generate a mobility channel defining an efficient methodology to carry the Polymer web components advantages to mobile environments, keeping their features of being reused in an easy way and without losing, when possible, their usability being aware the special features of mobile devices. This work will be evaluated through usability tests to validate then the generated methodology applying it to a real case.
Resumo:
El presente TFG está enmarcado en el contexto de la biología sintética (más concretamente en la automatización de protocolos) y representa una parte de los avances en este sector. Se trata de una plataforma de gestión de laboratorios autónomos. El resultado tecnológico servirá para ayudar al operador a coordinar las máquinas disponibles en un laboratorio a la hora de ejecutar un experimento basado en un protocolo de biología sintética. En la actualidad los experimentos biológicos tienen una tasa de éxito muy baja en laboratorios convencionales debido a la cantidad de factores externos que intervienen durante el protocolo. Además estos experimentos son caros y requieren de un operador pendiente de la ejecución en cada fase del protocolo. La automatización de laboratorios puede suponer un aumento de la tasa de éxito, además de una reducción de costes y de riesgos para los trabajadores en el entorno del laboratorio. En la presente propuesta se pretende que se dividan las distintas entidades de un laboratorio en unidades funcionales que serán los elementos a ser coordinados por la herramienta resultado del TFG. Para aportar flexibilidad a la herramienta se utilizará una arquitectura orientada a servicios (SOA). Cada unidad funcional desplegará un servicio web proporcionando su funcionalidad al resto del laboratorio. SOA es esencial para la comunicación entre máquinas ya que permite la abstracción del tipo de máquina que se trate y como esté implementada su funcionalidad. La principal dificultad del TFG consiste en lidiar con las dificultades de integración y coordinación de las distintas unidades funcionales para poder gestionar adecuadamente el ciclo de vida de un experimento. Para ello se ha realizado un análisis de herramientas disponibles de software libre. Finalmente se ha escogido la plataforma Apache Camel como marco sobre el que crear la herramienta específica planteada en el TFG. Apache Camel juega un papel importantísimo en este proyecto, ya que establece las capas de conexión a los distintos servicios y encamina los mensajes oportunos a cada servicio basándose en el contenido del fichero de entrada. Para la preparación del prototipo se han desarrollado una serie de servicios web que permitirán realizar pruebas y demostraciones de concepto de la herramienta en sí. Además se ha desarrollado una versión preliminar de la aplicación web que utilizará el operador del laboratorio para gestionar las peticiones, decidiendo que protocolo se ejecuta a continuación y siguiendo el flujo de tareas del experimento.---ABSTRACT---The current TFG is bound by synthetic biology context (more specifically in the protocol automation) and represents an element of progression in this sector. It consists of a management platform for automated laboratories. The technological result will help the operator to coordinate the available machines in a lab, this way an experiment based on a synthetic biological protocol, could be executed. Nowadays, the biological experiments have a low success rate in conventional laboratories, due to the amount of external factors that intrude during the protocol. On top of it, these experiments are usually expensive and require of an operator monitoring at every phase of the protocol. The laboratories’ automation might mean an increase in the success rate, and also a reduction of costs and risks for the lab workers. The current approach is hoped to divide the different entities in a laboratory in functional units. Those will be the elements to be coordinated by the tool that results from this TFG. In order to provide flexibility to the system, a service-oriented architecture will be used (SOA). Every functional unit will deploy a web service, publishing its functionality to the rest of the lab. SOA is essential to facilitate the communication between machines, due to the fact that it provides an abstraction on the type of the machine and how its functionality is implemented. The main difficulty of this TFG consists on grappling with the integration and coordination problems, being able to manage successfully the lifecycle of an experiment. For that, a benchmark has been made on the available open source tools. Finally Apache Camel has been chosen as a framework over which the tool defined in the TFG will be created. Apache Camel plays a fundamental role in this project, given that it establishes the connection layers to the different services and routes the suitable messages to each service, based on the received file’s content. For the prototype development a number of services that will allow it to perform demonstrations and concept tests have been deployed. Furthermore a preliminary version of the webapp has been developed. It will allow the laboratory operator managing petitions, to decide what protocol goes next as it executes the flow of the experiment’s tasks.