29 resultados para Java Server Faces
Resumo:
Leakage power consumption is a com- ponent of the total power consumption in data cen- ters that is not traditionally considered in the set- point temperature of the room. However, the effect of this power component, increased with temperature, can determine the savings associated with the careful management of the cooling system, as well as the re- liability of the system. The work presented in this paper detects the need of addressing leakage power in order to achieve substantial savings in the energy consumption of servers. In particular, our work shows that, by a careful detection and management of two working regions (low and high impact of thermal- dependent leakage), energy consumption of the data- center can be optimized by a reduction of the cooling budget.
Resumo:
Reducing the energy consumption for computation and cooling in servers is a major challenge considering the data center energy costs today. To ensure energy-efficient operation of servers in data centers, the relationship among computa- tional power, temperature, leakage, and cooling power needs to be analyzed. By means of an innovative setup that enables monitoring and controlling the computing and cooling power consumption separately on a commercial enterprise server, this paper studies temperature-leakage-energy tradeoffs, obtaining an empirical model for the leakage component. Using this model, we design a controller that continuously seeks and settles at the optimal fan speed to minimize the energy consumption for a given workload. We run a customized dynamic load-synthesis tool to stress the system. Our proposed cooling controller achieves up to 9% energy savings and 30W reduction in peak power in comparison to the default cooling control scheme.
Resumo:
El presente trabajo fin de grado, que, a partir de ahora, denominaré TFG, consiste en elaborar una monitorización de programas concurrentes en lenguaje Java, para que se visualicen los eventos ocurridos durante la ejecución de los dichos programas. Este trabajo surge en el marco de la asignatura “Concurrencia” de la Escuela Técnica Superior de Ingeniería Informática de la Universidad Politécnica de Madrid, impartida por D. Julio Mariño y D. Ángel Herranz. El objetivo principal de este proyecto es crear una herramienta para el aprendizaje de la asignatura de concurrencia, facilitando la comprensión de los conceptos teóricos, de modo que puedan corregir los posibles errores que haya en sus prácticas. en este proyecto se expone el desarrollo de una librería de visualización de programas concurrentes programados en Java usando un formalismo gráfico similar al empleado en la asignatura. Además esta librería da soporte a los mecanismos de sincronización usados en las prácticas de la asignatura: la librería Monitor (desarrollada por los profesores de la asignatura, D. Ángel Herranz y D. Julio Mariño) y la librería JCSP (Universidad de Kent). ---ABSTRACT---This Bachelor Thesis addresses the problem of monitoring a Java program in order to trace and visualize a certain set of events produced during the execution of concurrent Java programs. This work originates in the subject "Concurrency" of the Computer Science and Engineering degree of our University. The main goal of this work is to have a tool that helps students learning the subject, so they can better understand the core concepts and correct common mistakes in the course practical work. We have implemented a library for visualizing concurrent Java programsusing a graphical notation similar to the one used in class, which supports the design of concurrent programs whose synchronization mechanisms are either monitors(using the Monitor package) or CSP(as implemented in the JCSP library from Kent University).
Resumo:
Este Trabajo de Fin de Grado recoge el diseño e implementación de un compilador y una librería de entorno de ejecución para el lenguaje específico del dominio TESL, un lenguaje de alto nivel para el análisis de series temporales diseñado por un grupo de investigación de la Universidad Politécnica de Madrid. Este compilador es el primer compilador completo disponible para TESL y sirve como base para la continuación del desarrollo del lenguaje, estando ideado para permitir su adaptación a cambios en el mismo. El compilador ha sido implementado en Java siguiendo la arquitectura clásica para este tipo de aplicaciones, incluyendo un Analizador Léxico, Sintáctico y Semántico, así como un Generador de Código. Se ha documentado su arquitectura y las decisiones de diseño que han conducido a la misma. Además, se ha demostrado su funcionamiento con un caso práctico de análisis de eventos en métricas de servidores. Por último, se ha documentado el lenguaje TESL, en cuyo desarrollo se ha colaborado. ---ABSTRACT---This Bachelor’s Thesis describes the design and implementation of a compiler and a runtime library for the domain-specific language TESL, a high-level language for analyzing time series events developed by a research group from the Technical University of Madrid. This is the first fully implemented TESL compiler, and serves as basis for the continuation of the development of the language. The compiler has been implemented in Java following the classical architecture for this kind of systems, having a four phase compilation with a Lexer, a Parser, a Semantic Analyzer and a Code Generator. Its architecture and the design decisions that lead to it have been documented. Its use has been demonstrated in an use-case in the domain of server metrics. Finally, the TESL language itself has been extended and documented.
Resumo:
This document is the result of a process of web development to create a tool that will allow to Cracow University of Technology consult, create and manage timetables. The technologies chosen for this purpose are Apache Tomcat Server, My SQL Community Server, JDBC driver, Java Servlets and JSPs for the server side. The client part counts on Javascript, jQuery, AJAX and CSS technologies to perform the dynamism. The document will justify the choice of these technologies and will explain some development tools that help in the integration and development of all this elements: specifically, NetBeans IDE and MySQL workbench have been used as helpful tools. After explaining all the elements involved in the development of the web application, the architecture and the code developed are explained through UML diagrams. Some implementation details related to security are also deeper explained through sequence diagrams. As the source code of the application is provided, an installation manual has been developed to run the project. In addition, as the platform is intended to be a beta that will be grown, some unimplemented ideas for future development are also exposed. Finally, some annexes with important files and scripts related to the initiation of the platform are attached. This project started through an existing tool that needed to be expanded. The main purpose of the project along its development has focused on setting the roots for a whole new platform that will replace the existing one. For this goal, it has been needed to make a deep inspection on the existing web technologies: a web server and a SQL database had to be chosen. Although the alternatives were a lot, Java technology for the server was finally selected because of the big community backwards, the easiness of modelling the language through UML diagrams and the fact of being free license software. Apache Tomcat is the open source server that can use Java Servlet and JSP technology. Related to the SQL database, MySQL Community Server is the most popular open-source SQL Server, with a big community after and quite a lot of tools to manage the server. JDBC is the driver needed to put in contact Java and MySQL. Once we chose the technologies that would be part of the platform, the development process started. After a detailed explanation of the development environment installation, we used UML use case diagrams to set the main tasks of the platform; UML class diagrams served to establish the existing relations between the classes generated; the architecture of the platform was represented through UML deployment diagrams; and Enhanced entity–relationship (EER) model were used to define the tables of the database and their relationships. Apart from the previous diagrams, some implementation issues were explained to make a better understanding of the developed code - UML sequence diagrams helped to explain this. Once the whole platform was properly defined and developed, the performance of the application has been shown: it has been proved that with the current state of the code, the platform covers the use cases that were set as the main target. Nevertheless, some requisites needed for the proper working of the platform have been specified. As the project is aimed to be grown, some ideas that could not be added to this beta have been explained in order not to be missed for future development. Finally, some annexes containing important configuration issues for the platform have been added after proper explanation, as well as an installation guide that will let a new developer get the project ready. In addition to this document some other files related to the project are provided: - Javadoc. The Javadoc containing the information of every Java class created is necessary for a better understanding of the source code. - database_model.mwb. This file contains the model of the database for MySQL Workbench. This model allows, among other things, generate the MySQL script for the creation of the tables. - ScheduleManager.war. The WAR file that will allow loading the developed application into Tomcat Server without using NetBeans. - ScheduleManager.zip. The source code exported from NetBeans project containing all Java packages, JSPs, Javascript files and CSS files that are part of the platform. - config.properties. The configuration file to properly get the names and credentials to use the database, also explained in Annex II. Example of config.properties file. - db_init_script.sql. The SQL query to initiate the database explained in Annex III. SQL statements for MySQL initialization. RESUMEN. Este proyecto tiene como punto de partida la necesidad de evolución de una herramienta web existente. El propósito principal del proyecto durante su desarrollo se ha centrado en establecer las bases de una completamente nueva plataforma que reemplazará a la existente. Para lograr esto, ha sido necesario realizar una profunda inspección en las tecnologías web existentes: un servidor web y una base de datos SQL debían ser elegidos. Aunque existen muchas alternativas, la tecnología Java ha resultado ser elegida debido a la gran comunidad de desarrolladores que tiene detrás, además de la facilidad que proporciona este lenguaje a la hora de modelarlo usando diagramas UML. Tampoco hay que olvidar que es una tecnología de uso libre de licencia. Apache Tomcat es el servidor de código libre que permite emplear Java Servlets y JSPs para hacer uso de la tecnología de Java. Respecto a la base de datos SQL, el servidor más popular de código libre es MySQL, y cuenta también con una gran comunidad detrás y buenas herramientas de modelado, creación y gestión de la bases de datos. JDBC es el driver que va a permitir comunicar las aplicaciones Java con MySQL. Tras elegir las tecnologías que formarían parte de esta nueva plataforma, el proceso de desarrollo tiene comienzo. Tras una extensa explicación de la instalación del entorno de desarrollo, se han usado diagramas de caso de UML para establecer cuáles son los objetivos principales de la plataforma; los diagramas de clases nos permiten realizar una organización del código java desarrollado de modo que sean fácilmente entendibles las relaciones entre las diferentes clases. La arquitectura de la plataforma queda definida a través de diagramas de despliegue. Por último, diagramas EER van a definir las relaciones entre las tablas creadas en la base de datos. Aparte de estos diagramas, algunos detalles de implementación se van a justificar para tener una mejor comprensión del código desarrollado. Diagramas de secuencia ayudarán en estas explicaciones. Una vez que toda la plataforma haya quedad debidamente definida y desarrollada, se va a realizar una demostración de la misma: se demostrará cómo los objetivos generales han sido alcanzados con el desarrollo actual del proyecto. No obstante, algunos requisitos han sido aclarados para que la plataforma trabaje adecuadamente. Como la intención del proyecto es crecer (no es una versión final), algunas ideas que se han podido llevar acabo han quedado descritas de manera que no se pierdan. Por último, algunos anexos que contienen información importante acerca de la plataforma se han añadido tras la correspondiente explicación de su utilidad, así como una guía de instalación que va a permitir a un nuevo desarrollador tener el proyecto preparado. Junto a este documento, ficheros conteniendo el proyecto desarrollado quedan adjuntos. Estos ficheros son: - Documentación Javadoc. Contiene la información de las clases Java que han sido creadas. - database_model.mwb. Este fichero contiene el modelo de la base de datos para MySQL Workbench. Esto permite, entre otras cosas, generar el script de iniciación de la base de datos para la creación de las tablas. - ScheduleManager.war. El fichero WAR que permite desplegar la plataforma en un servidor Apache Tomcat. - ScheduleManager.zip. El código fuente exportado directamente del proyecto de Netbeans. Contiene todos los paquetes de Java generados, ficheros JSPs, Javascript y CSS que forman parte de la plataforma. - config.properties. Ejemplo del fichero de configuración que permite obtener los nombres de la base de datos - db_init_script.sql. Las consultas SQL necesarias para la creación de la base de datos.
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:
En este trabajo se describe el diseñno y la implementación de una infraestructura para la comunicación entre componentes que sigan el estilo arquitectóonico C2 sobre una plataforma Java. Un requisito de esta infraestructura es que componentes y conectores se ejecuten cada uno en su propia máquina virtual (JVM) en el mismo nodo o en nodos diferentes. Se ha diseñado un conjunto de clases que proporcionan mecanismos para la comunicación entre componentes y conectores C2. Como parte del trabajo, se han evaluado las tecnologías disponibles para Java que permiten construir la infraestructura, habiéndose elegido la invocación remota a método (RMI) como la base para la comunicación entre los componentes del sistema
Resumo:
As advanced Cloud services are becoming mainstream, the contribution of data centers in the overall power consumption of modern cities is growing dramatically. The average consumption of a single data center is equivalent to the energy consumption of 25.000 households. Modeling the power consumption for these infrastructures is crucial to anticipate the effects of aggressive optimization policies, but accurate and fast power modeling is a complex challenge for high-end servers not yet satisfied by analytical approaches. This work proposes an automatic method, based on Multi-Objective Particle Swarm Optimization, for the identification of power models of enterprise servers in Cloud data centers. Our approach, as opposed to previous procedures, does not only consider the workload consolidation for deriving the power model, but also incorporates other non traditional factors like the static power consumption and its dependence with temperature. Our experimental results shows that we reach slightly better models than classical approaches, but simul- taneously simplifying the power model structure and thus the numbers of sensors needed, which is very promising for a short-term energy prediction. This work, validated with real Cloud applications, broadens the possibilities to derive efficient energy saving techniques for Cloud facilities.
Resumo:
The computational and cooling power demands of enterprise servers are increasing at an unsustainable rate. Understanding the relationship between computational power, temperature, leakage, and cooling power is crucial to enable energy-efficient operation at the server and data center levels. This paper develops empirical models to estimate the contributions of static and dynamic power consumption in enterprise servers for a wide range of workloads, and analyzes the interactions between temperature, leakage, and cooling power for various workload allocation policies. We propose a cooling management policy that minimizes the server energy consumption by setting the optimum fan speed during runtime. Our experimental results on a presently shipping enterprise server demonstrate that including leakage awareness in workload and cooling management provides additional energy savings without any impact on performance.
Resumo:
The main purpose of this work is to describe the case of an online Java Programming course for engineering students to learn computer programming and to practice other non-technicalabilities: online training, self-assessment, teamwork and use of foreign languages. It is important that students develop confidence and competence in these skills, which will be required later in their professional tasks and/or in other engineering courses (life-long learning). Furthermore, this paper presents the pedagogical methodology, the results drawn from this experience and an objective performance comparison with another conventional (face-to-face) Java course.
Resumo:
The aim of this project is to create a website which is useful both employees and students of a university, so employees can add information, if they log in with username and password access, and students can view this information . Employees may modify and display information such as title, room, or their faculty (from a list defined by the administrator), and most importantly, their schedule, whether class, tutoring, free time, or any of tasks that the administrator define. There will be a manager, responsible for managing employees, the availables faculties and the types of tasks that employees can use on their schedule. Students may see the employees schedules and rooms on the homepage. They differentiate between differents tasks of employees, because these are in different colors. They can also filter information for faculty, employee or day. To achieve our goal, we decided to program in Java using Servlets, which we will use to generate response to requests coming from users from the website. We will also use JSP, allowing us to create different websites files. We use JSP files and not HTML, because we need that the pages are dynamic, since not only want to show specific information, we like that information can change depending on user requests. The JSP file allows us to generate HTML, but also using JAVA language, which is necessary for our purpose. As the information we store is not fixed. We want this information can be modified at any time by employees and admin, so we need a database, which can be accessed from anywhere. We decided SQLite databases because are integrated quite well in our application, and offer a quick response. To access the database from our program, we simply connect it to the database, and with very few lines of code, add, delete or modify entries in different tables that owns the database. To facilitate the initial creation of the database, and the first tables, we use a Mozilla Firefox browser plugin, called SQLite Manager, which allows us to do so from a more friendly interface. Finally, we need a server that supports and implements specifications Servlets and JSP. We decided on the TomCat server, which is a container Servlets, because is free, easy to use, and compatible with our program. We realized all the project with Eclipse environment, also free program that allows integrating database, server and program the JSP and Servlets. Once submitted all the tools we used, we must first organize the structure of the web, relating each Servlets with JSP files. Next, create the database and the different Servlets, and adjust the database accesses to make sure we do it right. From here simply is to build up the page step by step, showing in each place we need, and redirect to different pages. In this way, we can build a complex website, free, and without being an expert in the field. RESUMEN. El objetivo de este proyecto, es crear una página web que sirva tanto a empleados como a alumnos de una universidad, de tal manera que los empleados podrán añadir información, mediante el acceso con usuario y contraseña, y los alumnos podrán visualizar está información. Los empleados podrán modificar y mostrar información como su título, despacho, facultad a la que pertenecen (de entre una lista definida por el administrador), y lo más importante, sus horarios, ya sean de clase, tutorías, tiempo libre, o cualquiera de las tareas que el administrador defina. Habrá un administrador, encargado de gestionar los empleados existentes, las facultades disponibles y los tipos de tareas que podrán usar los empleados en su horario. Los alumnos, podrán visualizar los horarios y despacho de los empleados en la página principal. Diferenciarán entre las distintas tareas de los profesores, porque estas se encuentran en colores diferentes. Además, podrán filtrar la información, por facultad, empleado o día de la semana. Para conseguir nuestro objetivo, hemos decidido programar en Java, mediante el uso de Servlets, los cuales usaremos para generar respuesta antes las peticiones que llegan de los usuarios desde la página web. También usaremos archivos JSP, que nos permitirán crear las diferentes páginas webs. Usamos archivos JSP y no HTML, porque necesitamos que las diferentes páginas sean dinámicas, ya que no solo queremos mostrar una información concreta, si no que esta información puede variar en función de las peticiones de usuario. El archivo JSP nos permite generar HTML, pero a la vez usar lenguaje JAVA, algo necesario para nuestro cometido. Como la información que queremos almacenar no es fija, si no que en todo momento debe poder ser modificada por empleados y administrador, necesitamos una base de datos, a la que podamos acceder desde la web. Nos hemos decidido por bases SQLite, ya que se integran bastante bien en nuestra aplicación, y además ofrecen una rápida respuesta. Para acceder a la base de datos desde nuestro programa, simplemente debemos conectar el mismo a la base de datos, y con muy pocas líneas de código, añadir, eliminar o modificar entradas de las diferentes tablas que posee la base de datos. Para facilitar la creación inicial de la base de datos, y de las primeras tablas, usamos un complemento del navegador Mozilla Firefox, llamado SQLite Manager, que nos permite hacerlo desde una interfaz más amigable. Por último, necesitamos de un servidor que soporte e implemente las especificaciones de los Servlets y JSP. Nos decidimos por el servidor TomCat, que es un contenedor de Servlets gratuito, de fácil manejo, y compatible con nuestro programa. Todo el desarrollo del proyecto, lo realizamos desde el entorno Eclipse, programa también gratuito, que permite integrar la base de datos, el servidor y programar los JSP y Servlets. Una vez presentadas todas las herramientas que hemos utilizado, primero debemos organizar la estructura de la web, relacionando cada archivo JSP con los Servlets a los que debe acceder. A continuación creamos la base de datos y los diferentes Servlets, y ajustamos bien los accesos a la base de datos para comprobar que lo hacemos correctamente. A partir de aquí, simplemente es ir construyendo la página paso a paso, mostrando en cada lugar lo que necesitemos, y redirigiendo a las diferentes páginas. De esta manera, podremos construir una página web compleja, de manera gratuita, y sin ser un experto en la materia.
Resumo:
El siguiente proyecto versa sobre la programación en lenguaje java del algoritmo de humanización MIDI desarrollado por Jorge Grundman en su tesis La Humanización de la Interpretación Virtual: Tres ejemplos significativos de la obra de Chopin. Este algoritmo, denominado Zig-Zag tiene como finalidad lograr que una partitura interpretada por un ordenador tenga unas características similares a la lectura a primera vista de la misma por un pianista. Para ello, basa su funcionamiento en una aleatorización del tempo en base a una serie de parámetros, a una modificación de la dinámica acorde a la modificación de tempo y a una segunda aleatorización para cada figura de la partitura. Este algoritmo tiene un gran campo de aplicación como complemento a los diversos secuenciadores y editores de partituras que existen en la actualidad, proporcionando nuevas características a los mismos. La programación del algoritmo se ha llevado a cabo empleando el Java SDK (Standard Developement Kit) 7 y las herramientas que proporciona esta plataforma para el manejo y modificación de los mensajes MIDI. ABSTRACT. The next project is about the programming in Java language of the MIDI humanization algorithm developed by Jorge Grundman in his thesis La Humanización de la Interpretación Virtual: Tres ejemplos significativos de la obra de Chopin. This algorithm, called Zig-Zag aims to have similar characteristics in a score performed by a computer than in the sight reading by a pianist. To this end, it bases its process in a randomization of the tempo from several parameters, a modification of the dynamic according to the change of tempo and a second randomization for each figure in the score. This algorithm has a big scope of application as complement for the different sequencers and score editors that already exist, providing new features to them. The algorithm has been programmed using the Java SDK (Standard Development Kit) 7 and the tools that this platform provides to handle and modify MIDI messages.
Resumo:
Hoy en día, existen numerosos sistemas (financieros, fabricación industrial, infraestructura de servicios básicos, etc.) que son dependientes del software. Según la definición de Ingeniería del Software realizada por I. Sommerville, “la Ingeniería del Software es una disciplina de la ingeniería que comprende todos los aspectos de la producción de software desde las etapas iniciales de la especificación del sistema, hasta el mantenimiento de éste después de que se utiliza.” “La ingeniería del software no sólo comprende los procesos técnicos del desarrollo de software, sino también actividades tales como la gestión de proyectos de software y el desarrollo de herramientas, métodos y teorías de apoyo a la producción de software.” Los modelos de proceso de desarrollo software determinan una serie de pautas para poder desarrollar con éxito un proyecto de desarrollo software. Desde que surgieran estos modelos de proceso, se investigado en nuevas maneras de poder gestionar un proyecto y producir software de calidad. En primer lugar surgieron las metodologías pesadas o tradicionales, pero con el avance del tiempo y la tecnología, surgieron unas nuevas llamadas metodologías ágiles. En el marco de las metodologías ágiles cabe destacar una determinada práctica, la integración continua. Esta práctica surgió de la mano de Martin Fowler, con el objetivo de facilitar el trabajo en grupo y automatizar las tareas de integración. La integración continua se basa en la construcción automática de proyectos con una frecuencia alta, promoviendo la detección de errores en un momento temprano para poder dar prioridad a corregir dichos errores. Sin embargo, una de las claves del éxito en el desarrollo de cualquier proyecto software consiste en utilizar un entorno de trabajo que facilite, sistematice y ayude a aplicar un proceso de desarrollo de una forma eficiente. Este Proyecto Fin de Grado (PFG) tiene por objetivo el análisis de distintas herramientas para configurar un entorno de trabajo que permita desarrollar proyectos aplicando metodologías ágiles e integración continua de una forma fácil y eficiente. Una vez analizadas dichas herramientas, se ha propuesto y configurado un entorno de trabajo para su puesta en marcha y uso. Una característica a destacar de este PFG es que las herramientas analizadas comparten una cualidad común y de alto valor, son herramientas open-source. El entorno de trabajo propuesto en este PFG presenta una arquitectura cliente-servidor, dado que la mayoría de proyectos software se desarrollan en equipo, de tal forma que el servidor proporciona a los distintos clientes/desarrolladores acceso al conjunto de herramientas que constituyen el entorno de trabajo. La parte servidora del entorno propuesto proporciona soporte a la integración continua mediante herramientas de control de versiones, de gestión de historias de usuario, de análisis de métricas de software, y de automatización de la construcción de software. La configuración del cliente únicamente requiere de un entorno de desarrollo integrado (IDE) que soporte el lenguaje de programación Java y conexión con el servidor. ABSTRACT Nowadays, numerous systems (financial, industrial production, basic services infrastructure, etc.) depend on software. According to the Software Engineering definition made by I.Sommerville, “Software engineering is an engineering discipline that is concerned with all aspects of software production from the early stages of system specification through to maintaining the system after it has gone into use.” “Software engineering is not just concerned with the technical processes of software development. It also includes activities such as software project management and the development of tools, methods, and theories to support software production.” Software development process models determine a set of guidelines to successfully develop a software development project. Since these process models emerged, new ways of managing a project and producing software with quality have been investigated. First, the so-called heavy or traditional methodologies appeared, but with the time and the technological improvements, new methodologies emerged: the so-called agile methodologies. Agile methodologies promote, among other practices, continuous integration. This practice was coined by Martin Fowler and aims to make teamwork easier as well as automate integration tasks. Nevertheless, one of the keys to success in software projects is to use a framework that facilitates, systematize, and help to deploy a development process in an efficient way. This Final Degree Project (FDP) aims to analyze different tools to configure a framework that enables to develop projects by applying agile methodologies and continuous integration in an easy and efficient way. Once tools are analyzed, a framework has been proposed and configured. One of the main features of this FDP is that the tools under analysis share a common and high-valued characteristic: they are open-source. The proposed framework presents a client-server architecture, as most of the projects are developed by a team. In this way, the server provides access the clients/developers to the tools that comprise the framework. The server provides continuous integration through a set of tools for control management, user stories management, software quality management, and software construction automatization. The client configuration only requires a Java integrated development environment and network connection to the server.
Resumo:
En el año 2014 se publicó, bajo mandato de la Comisión Europea, la Norma Europea EN 301 549, titulada “Requisitos de accesibilidad de productos y servicios TIC aplicables a la contratación pública en Europa”. El objetivo de dicha norma es que los productos o servicios TIC (Tecnologías de la Información y la Comunicación) adquiridos por cualquier administración pública europea puedan ser utilizados por personas con diversas características y capacidades, incluyendo a personas con discapacidad. La norma EN 301 549 es compleja, ya que contiene más de 200 requisitos y recomendaciones, que se aplican o no a un producto o servicio TIC en función de las características de dicho producto o servicio. Por ello se ha planteado, desde el Grupo de Investigación en Tecnología Informática y de las Comunicaciones (CETTICO), el desarrollo de una herramienta de soporte a la evaluación del cumplimiento de la norma. La herramienta permitirá a grupos de trabajo anotar los resultados de la evaluación de accesibilidad de un producto o servicio TIC siguiendo los requisitos de la norma Europea EN 301 549. Este trabajo de Fin de Grado se centra en el diseño y codificación del cliente web de la herramienta. Se parte de los resultados de un TFG y un practicum anteriores. En el TFG realizado por Laura Elorrieta [Elorrieta, 2014], se diseñó la interacción del sistema y se evaluó su grado de usabilidad. En el practicum [Montero, 2015], posterior al TFG de Laura Elorrieta, se eligieron las tecnologías web que se iban a utilizar y se realizó el diseño y la implementación mediante prototipos iterativos de la gestión de proyectos de evaluación. El trabajo que se ha realizado en el TFG ha consistido en el diseño de la interfaz de usuario analizando los cambios a realizar en el diseño, debido a los errores de usabilidad conocidos, y la implementación del prototipo funcional de la herramienta. Junto con la parte servidor del TFG de mi compañero Rubén Ortiz Burgos y la interfaz de usuario de este TFG se ha obtenido una aplicación web para realizar evaluaciones de accesibilidad de productos o servicios TIC siguiendo los requisitos de la norma EN 301 549. El prototipo funcional contiene diez páginas web que recogen las diferentes acciones y tareas que pueden realizar los usuarios en función del rol que desempeñen. EL diseño y la implementación se han llevado a cabo empleando las tecnologías web HTML5, CSS3, JavaScript, jQuery y las librerías de Foundation frontend framework.---ABSTRACT---In 2014, under the European Commission mandate, the European standard EN 301 549 has been published under the title “Accessibility requirements applicable to ICT products and procurement services in Europe”. The goal of this standard is that the products or services ICT (Information Communication Technology) acquires by every European public administration can be used by every person with different characteristics and capacities, including those with disability. The rule EN 301549 is very complex, since it has more than 200 requirements and recommendations that can be or not applied to an ICT product or service based on its characteristics of the given product or service. That’s why a development of a support tool has been proposed to the rating of the compliance of the rule, by the Research Group of Informatics Technology and Communication. This tool will allow working groups to record the results of the compliance of accessibility of a product or service following the requirements of the European Standard EN 301549. This Final Degree Work focuses in the design and the coding of the web customer of this tool. The results of a TFG and previous practicums have been used for this. The TFG performed by Laura Elorrieta [Elorrieta, 2014], the interaction of the system was designed and degree of usability was evaluated. In the practicum [Montero, 2015], after the TFG Laura Elorrieta, web technologies used were chosen and the design and implementation were performed using iterative prototyping project management evaluation. The work done on the TFG was to design the users interface to perform analyzing changes in design due to errors known usability and working prototype implementation of the tool. Together with the server part of the TFG my partner Rubén Ortiz Burgos and the user interface done of this TFG it has obtained a web application for the conduct of evaluations accessibility of products or services ICT following the requirements of the EN 301 549. The functional prototype contains ten web sites that collect the various activities and tasks that users can perform based on the role they perform. The design and implementation have been carried out using the technologies web HTML5, CSS3, Java Script, jQuery and the libraries of Foundation fronted framework.