24 resultados para sending
Resumo:
We introduce the need for a distributed guideline-based decision sup-port (DSS) process, describe its characteristics, and explain how we implement-ed this process within the European Union?s MobiGuide project. In particular, we have developed a mechanism of sequential, piecemeal projection, i.e., 'downloading' small portions of the guideline from the central DSS server, to the local DSS in the patient's mobile device, which then applies that portion, us-ing the mobile device's local resources. The mobile device sends a callback to the central DSS when it encounters a triggering pattern predefined in the pro-jected module, which leads to an appropriate predefined action by the central DSS, including sending a new projected module, or directly controlling the rest of the workflow. We suggest that such a distributed architecture that explicitly defines a dialog between a central DSS server and a local DSS module, better balances the computational load and exploits the relative advantages of the cen-tral server and of the local mobile device.
Resumo:
With the ever growing trend of smart phones and tablets, Android is becoming more and more popular everyday. With more than one billion active users i to date, Android is the leading technology in smart phone arena. In addition to that, Android also runs on Android TV, Android smart watches and cars. Therefore, in recent years, Android applications have become one of the major development sectors in software industry. As of mid 2013, the number of published applications on Google Play had exceeded one million and the cumulative number of downloads was more than 50 billionii. A 2013 survey also revealed that 71% of the mobile application developers work on developing Android applicationsiii. Considering this size of Android applications, it is quite evident that people rely on these applications on a daily basis for the completion of simple tasks like keeping track of weather to rather complex tasks like managing one’s bank accounts. Hence, like every other kind of code, Android code also needs to be verified in order to work properly and achieve a certain confidence level. Because of the gigantic size of the number of applications, it becomes really hard to manually test Android applications specially when it has to be verified for various versions of the OS and also, various device configurations such as different screen sizes and different hardware availability. Hence, recently there has been a lot of work on developing different testing methods for Android applications in Computer Science fraternity. The model of Android attracts researchers because of its open source nature. It makes the whole research model more streamlined when the code for both, application and the platform are readily available to analyze. And hence, there has been a great deal of research in testing and static analysis of Android applications. A great deal of this research has been focused on the input test generation for Android applications. Hence, there are a several testing tools available now, which focus on automatic generation of test cases for Android applications. These tools differ with one another on the basis of their strategies and heuristics used for this generation of test cases. But there is still very little work done on the comparison of these testing tools and the strategies they use. Recently, some research work has been carried outiv in this regard that compared the performance of various available tools with respect to their respective code coverage, fault detection, ability to work on multiple platforms and their ease of use. It was done, by running these tools on a total of 60 real world Android applications. The results of this research showed that although effective, these strategies being used by the tools, also face limitations and hence, have room for improvement. The purpose of this thesis is to extend this research into a more specific and attribute-‐ oriented way. Attributes refer to the tasks that can be completed using the Android platform. It can be anything ranging from a basic system call for receiving an SMS to more complex tasks like sending the user to another application from the current one. The idea is to develop a benchmark for Android testing tools, which is based on the performance related to these attributes. This will allow the comparison of these tools with respect to these attributes. For example, if there is an application that plays some audio file, will the testing tool be able to generate a test input that will warrant the execution of this audio file? Using multiple applications using different attributes, it can be visualized that which testing tool is more useful for which kinds of attributes. In this thesis, it was decided that 9 attributes covering the basic nature of tasks, will be targeted for the assessment of three testing tools. Later this can be done for much more attributes to compare even more testing tools. The aim of this work is to show that this approach is effective and can be used on a much larger scale. One of the flagship features of this work, which also differentiates it with the previous work, is that the applications used, are all specially made for this research. The reason for doing that is to analyze just that specific attribute in isolation, which the application is focused on, and not allow the tool to get bottlenecked by something trivial, which is not the main attribute under testing. This means 9 applications, each focused on one specific attribute. The main contributions of this thesis are: A summary of the three existing testing tools and their respective techniques for automatic test input generation of Android Applications. • A detailed study of the usage of these testing tools using the 9 applications specially designed and developed for this study. • The analysis of the obtained results of the study carried out. And a comparison of the performance of the selected tools.
Resumo:
El Trabajo de Fin de Grado (TFG) aquí descrito es el resultado de la necesidad de crear un sistema de gestión de seminarios que utilizarán los planes de postgrado de la Escuela Técnica Superior de Ingenieros Informáticos de la Universidad Politécnica de Madrid. Su objetivo es facilitar, tanto al alumnado como al personal de dicha institución, la creación de seminarios ofertados para el alumnado de los distintos planes de postgrado, además de permitir la inscripción de éstos de un modo cómodo e intuitivo. La aplicación de gestión de seminarios deberá permitir que los coordinadores de un plan de postgrado puedan crear seminarios de tal manera que puedan quedar publicados para el alumnado. Para ello, será necesario que sean recogidos todos los datos necesarios del seminario, así como el plan de postgrado organizador y los planes de postgrado para los que serán ofertados. La aplicación además deberá permitir la creación de seminarios sin ser publicados al alumno provisionalmente, la edición de los seminarios ya existentes así como la creación de un seminario nuevo importando los datos de otro ya realizado. Por otra parte, se deberá incorporar en las páginas web de planes de postgrado el listado de los seminarios ofertados para el curso actual, de tal manera que se permita a los alumnos inscribirse a éstos. Por último, el personal de administración del plan de postgrado organizador de un seminario deberá tener acceso a la lista de alumnos inscritos a los seminarios, para el caso de enviar información urgente o ver los alumnos inscritos. El módulo de gestión de seminarios deberá obtener los datos de los planes de postgrado actuales gracias a un módulo de gestión de postgrados, donde se deberá permitir crear, editar y dar de baja planes de postgrado, así como gestionar el personal del postgrado que podrá realizar acciones sobre los seminarios organizados por éste. Los módulos de gestión de seminarios y de gestión de postgrados estarán integrados en un módulo de administración.---ABSTRACT---The Final Project Degree (TFG) described here is the result of the need to create a management system that will use seminars postgraduate plans at the Higher Technical School of Computer Engineering at the Universidad Politécnica de Madrid. It aims to facilitate both the students and staff of the institution, creating seminars offered to the students of the various postgraduate plans, besides allowing the registration of these in a convenient and intuitive way. The management application will allow the coordinators of a postgraduate plan to create seminars so that they can be published for students. To do this, you will need to collect all the necessary details about the seminar, as well as the postgraduate plan owner and postgraduate plans for which it will be offered. The application must also enable the creation of seminars without being published provisionally to students, the editing of existing seminars and the creation of a new seminar importing data from another already done. Moreover, it should be incorporated into web pages of postgraduate plans seminars listing offered for the current course, so that students are allowed to enrol in these. Finally, the staff of the plan organizer should have access to the list of students enrolled at seminars, in the case of sending urgent information or to see students enrolled. The management module must obtain data from current postgraduate plans through a postgraduate management module, which should be allowed to create, edit and terminate postgraduate plans, and manage staff that can perform actions on seminars organized by it. Management modules of seminars and postgraduate programs will be integrated into a management pack.
Resumo:
El Sistema Integrado de Gestión Académica consiste en una plataforma software modular orientada a apoyar la labor del profesorado en la gestión docente de las asignaturas impartidas por el Departamento de Mecánica de la Escuela Técnica Superior de Ingeniería y Diseño Industrial de la Universidad Politécnica de Madrid. Durante los últimos 5 años se ha trabajado en la creación de esta plataforma que se encuentra ahora en su recta final. Es necesario aclarar que toda la plataforma desde su inicio ha sido creada por el mismo autor y que debido al tiempo disponible para la realización del TFG, éste se ha centrado en realizar mejoras sobre lo ya desarrollado y en implementar uno de los módulos. El trabajo desarrollado comienza con un estudio de plataformas educativas online. Se han valorado las alternativas de Moodle y ATutor como posibles soluciones a los requisitos planteados llegando a la conclusión de que era necesario realizar un desarrollo a medida. La plataforma consta de 3 módulos principales: Plataforma de Gestión Docente en Internet (PGDNet) Aplicación de Notas (AdN) Plataforma de Entrega de Prácticas Académicas (PEPA) PGDNet está orientado a la realización de pruebas de evaluación online. El profesor tiene a su alcance un conjunto de opciones que le permiten la creación de actividades y ejercicios de diferente índole, gestionar alumnos y establecer periodos de evaluación. El sistema recoge los resultados y corrige automáticamente permitiendo además exportar los resultados, manteniendo de esta manera la compatibilidad con otros sistemas informáticos de la UPM. PGDNet ofrece además un servicio de correo electrónico para realizar comunicaciones con grupos predefinidos de alumnos, un gestor documental enlazado con las diferentes actividades y un gestor de encuestas programable a medida. AdN se integra en la plataforma como un sistema para la gestión de calificaciones y permite mantener un historial del alumno. Las materias pueden dividirse en diferentes evaluaciones con un determinado peso sobre la calificación final. La nota total se calcula en tiempo real y de forma automática. El alumno puede entrar a consultar sus calificaciones en cualquier momento. El módulo ofrece a los profesores acceso simultáneo a introducir las calificaciones e importar notas guardadas de convocatorias pasadas. PEPA es el nuevo módulo que se añade a la plataforma y el que concentra los esfuerzos de desarrollo de este TFG. Se trata de un sistema de entrega de prácticas online que permite al profesor centralizar la recogida de documentación para su posterior corrección. PEPA dispone de un sistema de plantillas de respuestas fijas utilizadas en los laboratorios que son corregidas de forma automática en la entrega. Los 3 módulos se complementan entre sí compartiendo datos y permitiendo realizar importaciones y exportaciones de información con las aplicaciones actuales de Secretaría de alumnos como puede ser la introducción de listas de alumnos.---ABSTRACT---Academic Management Framework (Sistema Integrado de Gestión Académica) is a module‐oriented software application that aims to help teachers from ETSIDI Department from UPM to manage all information related to graduate courses. The software, which has been in continuous developing during the last 5 years, is now about to be finished. It must be pointed out the fact that the entire application has been designed and implemented by the same author. However, due to time schedule restrictions in this TFG (spanish acronym for “Graduation Project”), it has been focused on developing a few improvements in the software already implemented and creating a specific new module. In the beginning, this TFG includes an educational software comparative study. Moodle and ATutor have been selected as plausible assembled solutions that would fit the requirements given. Nonetheless, the conclusion ends up with rejecting both possibilities and moving the project towards a custom‐developed software. The application is divided in 3 modules: Network Based Academic Management Platform (Plataforma de Gestión Docente en Internet ‐ PGDNet) Evaluation Aid Tool (Aplicación de Notas ‐ AdN) Academic Lab‐Work Delivery Platform (Plataforma de Entrega de Prácticas Académicas ‐ PEPA) PGDNet main purpose is handling online tests for students. There are a bunch of tools available for teachers that allow them to create activities and different types of exercises, manage students and set examination schedules. The system gathers the results and marks exercises automatically. Moreover, the teacher is able to export this information which is compatible with other UPM systems. PGDNet offers a mail service, a document management system and a survey application among others. AdN adds new features to the system. It helps teachers to manage student marks by keeping a history over the years. Subjects can be divided into little parts with a different weight in the final mark. Eventually, the mark is automatically calculated and published. The application can be accessed by both students and teachers simultaneously. This module is also ready to import old marks into the current course and allow all teachers to fill in the results at the same time. PEPA, which is a new module added from scratch, concentrate this TFG efforts. It consists of a practice delivery system that gathers all student documentation in a single site for easy correction. Besides, PEPA deploys an answer template repository for laboratory training. Students fill the templates and PEPA corrects them automatically on sending. These 3 modules are integrated in a single system that allows them to share data and import information such as student lists from the Administration Department.
Resumo:
Este proyecto de fin de grado pretende demostrar la importancia y la utilidad de la creación de redes de dispositivos móviles conectados entre sí. Para ello se explicarán varios tipos de redes inalámbricas que permiten estas conexiones directas entre dispositivos sin la necesidad de un servidor. En estas redes inalámbricas se destacan las redes P2P y las redes Ad-hoc, las cuales se explicarán posteriormente. El despliegue de estas redes se puede encontrar en un amplio rango de campos como puede ser la agricultura, la medicina e incluso en el ámbito militar. Es objetivo de este proyecto, además, el estudio de la tecnología Wi-Fi Direct creada por la Wi-Fi Alliance. Como se explicará a lo largo del proyecto, Wi-Fi Direct está basado en las redes P2P. Esta tecnología permite a los dispositivos cercanos crear redes P2P a través de la red Wi-Fi sin la necesidad de un punto de acceso a Internet. Por otro lado, una gran cantidad de los dispositivos móviles que existen actualmente poseen el sistema operativo Android. Android ha incorporado en sus dispositivos más recientes la tecnología Wi-Fi Direct. Debido a ello han ido surgiendo aplicaciones que usando esta tecnología consiguen desde enviar ficheros hasta indicar la localización de un usuario. Esta tecnología combinada con este tipo de dispositivos puede ser muy útil para utilizar en casos de emergencia donde las infraestructuras de comunicaciones no estén disponibles ya que al no necesitar un punto de acceso a internet es posible la comunicación entre un usuario en peligro y otro que se encuentre dentro de un radio cercano. Por estos motivos otro de los principales objetivos de este proyecto es la implementación de una aplicación para dispositivos Android que use la tecnología Wi-Fi Direct para realizar varias funcionalidades diferentes, como es el intercambio de ficheros entre dispositivos y la creación de un chat para la comunicación simultanea entre dos dispositivos. Con esto se pretende conocer mejor el funcionamiento de la tecnología Wi-Fi Direct y demostrar su utilidad en los dispositivos móviles como son los dispositivos Android. ABSTRACT. This final degree Project tries to demonstrate the importance and utility of networking mobile devices. For this purpose several types of wireless networks will be explained. These networks allow direct connections between devices. The most prominent Wireless networks are P2P and Ad-hoc which will be explained later. The use of these networks can be found in a wide range of fields such as agriculture medicine, and even in the military sector. Besides, other aim of this project is the study of Wi-Fi Direct Technology which is created by Wi-Fi Alliance. As it explained along the project, Wi-Fi Direct is based on P2P networks. This technology lets nearby devices create P2P networks through Wi-Fi network without an Internet access point. On the other hand, a large number of mobile devices have the Android OS. Android has integrated Wi-Fi Direct technology in its latest devices. Because of this applications have emerged that using this technology they get from sending files to send the user’s location. This technology combined with these devices can be very useful to use in emergencies where communications infrastructures are not available. Since not need an Internet access point, communication between a user in danger and another within close radius is possible. For these reasons another of the main aims of this project is the implementation of an application for Android devices which use Wi-Fi Direct technology to perform several different functionalities, such as file exchange or chat for simultaneous communication between devices. This is intended to better understand the operation of Wi-Fi Direct technology and prove its utility on mobile devices such as Android devices.
Resumo:
Debido al gran incremento de datos digitales que ha tenido lugar en los últimos años, ha surgido un nuevo paradigma de computación paralela para el procesamiento eficiente de grandes volúmenes de datos. Muchos de los sistemas basados en este paradigma, también llamados sistemas de computación intensiva de datos, siguen el modelo de programación de Google MapReduce. La principal ventaja de los sistemas MapReduce es que se basan en la idea de enviar la computación donde residen los datos, tratando de proporcionar escalabilidad y eficiencia. En escenarios libres de fallo, estos sistemas generalmente logran buenos resultados. Sin embargo, la mayoría de escenarios donde se utilizan, se caracterizan por la existencia de fallos. Por tanto, estas plataformas suelen incorporar características de tolerancia a fallos y fiabilidad. Por otro lado, es reconocido que las mejoras en confiabilidad vienen asociadas a costes adicionales en recursos. Esto es razonable y los proveedores que ofrecen este tipo de infraestructuras son conscientes de ello. No obstante, no todos los enfoques proporcionan la misma solución de compromiso entre las capacidades de tolerancia a fallo (o de manera general, las capacidades de fiabilidad) y su coste. Esta tesis ha tratado la problemática de la coexistencia entre fiabilidad y eficiencia de los recursos en los sistemas basados en el paradigma MapReduce, a través de metodologías que introducen el mínimo coste, garantizando un nivel adecuado de fiabilidad. Para lograr esto, se ha propuesto: (i) la formalización de una abstracción de detección de fallos; (ii) una solución alternativa a los puntos únicos de fallo de estas plataformas, y, finalmente, (iii) un nuevo sistema de asignación de recursos basado en retroalimentación a nivel de contenedores. Estas contribuciones genéricas han sido evaluadas tomando como referencia la arquitectura Hadoop YARN, que, hoy en día, es la plataforma de referencia en la comunidad de los sistemas de computación intensiva de datos. En la tesis se demuestra cómo todas las contribuciones de la misma superan a Hadoop YARN tanto en fiabilidad como en eficiencia de los recursos utilizados. ABSTRACT Due to the increase of huge data volumes, a new parallel computing paradigm to process big data in an efficient way has arisen. Many of these systems, called dataintensive computing systems, follow the Google MapReduce programming model. The main advantage of these systems is based on the idea of sending the computation where the data resides, trying to provide scalability and efficiency. In failure-free scenarios, these frameworks usually achieve good results. However, these ones are not realistic scenarios. Consequently, these frameworks exhibit some fault tolerance and dependability techniques as built-in features. On the other hand, dependability improvements are known to imply additional resource costs. This is reasonable and providers offering these infrastructures are aware of this. Nevertheless, not all the approaches provide the same tradeoff between fault tolerant capabilities (or more generally, reliability capabilities) and cost. In this thesis, we have addressed the coexistence between reliability and resource efficiency in MapReduce-based systems, looking for methodologies that introduce the minimal cost and guarantee an appropriate level of reliability. In order to achieve this, we have proposed: (i) a formalization of a failure detector abstraction; (ii) an alternative solution to single points of failure of these frameworks, and finally (iii) a novel feedback-based resource allocation system at the container level. Finally, our generic contributions have been instantiated for the Hadoop YARN architecture, which is the state-of-the-art framework in the data-intensive computing systems community nowadays. The thesis demonstrates how all our approaches outperform Hadoop YARN in terms of reliability and resource efficiency.
Resumo:
En el presente proyecto se propone la definición e implementación de un subsistema de monitorización para un sistema de tiempo real distribuido. Este monitor supervisará el estado de todos los componentes software y hardware del sistema original, y permitirá el arranque y parada de cada componente individualmente o del subsistema completo. Constará de dos componentes básicos: un supervisor local para cada subsistema, y un supervisor central con interfaz gráfica. El supervisor local es un componente software asociado a cada subsistema que realizará las funciones de monitorización, arranque/parada de los componentes y envío de informes al supervisor central. Atenderá además a los comandos de arranque y parada provenientes del supervisor central. El supervisor central recibirá los informes de estado de cada uno de los supervisores locales y permitirá el arranque y parada de los subsistemas. Contará con un interfaz gráfico a modo de posición de control. El sistema será desarrollado íntegramente (salvo la posición gráfica) en ADA95, y podrá ejecutarse en cualquiera de las distribuciones Linux más extendidas. En el contexto de Ingeniería de Software, se seguirá un desarrollo en cascada, aportándose los requisitos, el diseño, la codificación y un plan de pruebas. Abstract In this project, the definition and implementation of a monitoring system is proposed for a previously defined real-time distributed system. This supervisory system will monitor the status of each subsystem and its software and hardware components. This new system will also be able to start and stop each individual component and start or stop the entire system. It will consist of two basic components: a local supervisor for each subsystem, and a central supervisor with a graphical unit interface (GUI). The local supervisor will be a software component attached to each original subsystem, which will perform functions such as components monitoring, start and stop the associated subsystem, and sending reports to the central supervisor. It also will attend the start and stop commands from the central supervisor. The central supervisor will receive status reports from each of the local supervisors and will allow starting and stopping the subsystems. It will offer a graphical interface to be used as a main control panel. The system will be developed in ADA 95 (except the graphical position), and should work on any of the most common Linux distributions. In the context of Software Engineering, the project will be developed following a waterfall life cycle. Reports on the stages of requirements, design, coding and testing plan shall be provided.
Resumo:
Los resultados presentados en la memoria de esta tesis doctoral se enmarcan en la denominada computación celular con membranas una nueva rama de investigación dentro de la computación natural creada por Gh. Paun en 1998, de ahí que habitualmente reciba el nombre de sistemas P. Este nuevo modelo de cómputo distribuido está inspirado en la estructura y funcionamiento de la célula. El objetivo de esta tesis ha sido analizar el poder y la eficiencia computacional de estos sistemas de computación celular. En concreto, se han analizado dos tipos de sistemas P: por un lado los sistemas P de neuronas de impulsos, y por otro los sistemas P con proteínas en las membranas. Para el primer tipo, los resultados obtenidos demuestran que es posible que estos sistemas mantengan su universalidad aunque muchas de sus características se limiten o incluso se eliminen. Para el segundo tipo, se analiza la eficiencia computacional y se demuestra que son capaces de resolver problemas de la clase de complejidad ESPACIO-P (PSPACE) en tiempo polinómico. Análisis del poder computacional: Los sistemas P de neuronas de impulsos (en adelante SN P, acrónimo procedente del inglés «Spiking Neural P Systems») son sistemas inspirados en el funcionamiento neuronal y en la forma en la que los impulsos se propagan por las redes sinápticas. Los SN P bio-inpirados poseen un numeroso abanico de características que ha cen que dichos sistemas sean universales y por tanto equivalentes, en poder computacional, a una máquina de Turing. Estos sistemas son potentes a nivel computacional, pero tal y como se definen incorporan numerosas características, quizás demasiadas. En (Ibarra et al. 2007) se demostró que en estos sistemas sus funcionalidades podrían ser limitadas sin comprometer su universalidad. Los resultados presentados en esta memoria son continuistas con la línea de trabajo de (Ibarra et al. 2007) y aportan nuevas formas normales. Esto es, nuevas variantes simplificadas de los sistemas SN P con un conjunto mínimo de funcionalidades pero que mantienen su poder computacional universal. Análisis de la eficiencia computacional: En esta tesis se ha estudiado la eficiencia computacional de los denominados sistemas P con proteínas en las membranas. Se muestra que este modelo de cómputo es equivalente a las máquinas de acceso aleatorio paralelas (PRAM) o a las máquinas de Turing alterantes ya que se demuestra que un sistema P con proteínas, es capaz de resolver un problema ESPACIOP-Completo como el QSAT(problema de satisfacibilidad de fórmulas lógicas cuantificado) en tiempo polinómico. Esta variante de sistemas P con proteínas es muy eficiente gracias al poder de las proteínas a la hora de catalizar los procesos de comunicación intercelulares. ABSTRACT The results presented at this thesis belong to membrane computing a new research branch inside of Natural computing. This new branch was created by Gh. Paun on 1998, hence usually receives the name of P Systems. This new distributed computing model is inspired on structure and functioning of cell. The aim of this thesis is to analyze the efficiency and computational power of these computational cellular systems. Specifically there have been analyzed two different classes of P systems. On the one hand it has been analyzed the Neural Spiking P Systems, and on the other hand it has been analyzed the P systems with proteins on membranes. For the first class it is shown that it is possible to reduce or restrict the characteristics of these kind of systems without loss of computational power. For the second class it is analyzed the computational efficiency solving on polynomial time PSACE problems. Computational Power Analysis: The spiking neural P systems (SN P in short) are systems inspired by the way of neural cells operate sending spikes through the synaptic networks. The bio-inspired SN Ps possess a large range of features that make these systems to be universal and therefore equivalent in computational power to a Turing machine. Such systems are computationally powerful, but by definition they incorporate a lot of features, perhaps too much. In (Ibarra et al. in 2007) it was shown that their functionality may be limited without compromising its universality. The results presented herein continue the (Ibarra et al. 2007) line of work providing new formal forms. That is, new SN P simplified variants with a minimum set of functionalities but keeping the universal computational power. Computational Efficiency Analisys: In this thesis we study the computational efficiency of P systems with proteins on membranes. We show that this computational model is equivalent to parallel random access machine (PRAM) or alternating Turing machine because, we show P Systems with proteins can solve a PSPACE-Complete problem as QSAT (Quantified Propositional Satisfiability Problem) on polynomial time. This variant of P Systems with proteins is very efficient thanks to computational power of proteins to catalyze inter-cellular communication processes.
Resumo:
Para entender el proyecto de una manera muy simplificada lo podríamos resumir de la siguiente forma: Se trata de una aplicación que permite a los usuarios imputar las horas de las tareas que realizan de una forma sencilla, y que los gestores de estos usuarios, mediante informes ejecutivos, puedan analizar las dedicaciones y costes de los proyectos que éstos gestionan. Además se dispondrá de pantallas para administrar todas las entidades que están implicadas en las imputaciones. Las imputaciones se realizarán agrupándolas por el concepto “Parte”. Los Partes dividen los meses en grupos de 10 días, así cada usuario tendrá que imputar las horas que realiza cada 10 días, enviando a su supervisor el parte para que este pueda revisarlo y analizar los resultados de las imputaciones a través de los informes. Vamos a resumir las entidades que intervienen en la aplicación y sus relaciones de la siguiente forma: - Los usuarios tendrán asignados una serie de cargos, los cuales definirán las posibles tareas que podrán realizar categorizadas en los conceptos Proceso y Subproceso. Un ejemplo de esta relación podría ser el cargo “Programador” podrá realizar tareas de tipo Proceso “Desarrollo” y tipos de Subproceso “Programación” y “Pruebas unitarias” - También se asignarán a los usuarios los proyectos en los que trabajan. Estos proyectos pertenecerán a una unidad (se podría equiparar el concepto unidad por ejemplo a clientes, departamentos, etc). - También se podrán asignar a los usuarios las peticiones concretas de proyectos en los que intervienen. Una petición podría ser una incidencia detectada en un proyecto, una mejora concreta en un proyecto de mantenimiento, un soporte realizado para arreglar unos datos incorrectos, etc. - A los usuarios se le asignarán unos costes que podrán ser distintos por periodos de tiempo con el fin de conocer el coste exacto de una hora realizada en la fecha en la que fue realizada. - A los usuarios se les asignará un Perfil de usuario. Este perfil de usuario definirá los permisos sobre los módulos disponibles de la herramienta. Habrá un permiso por cada entidad, dividiéndolos en Alta, Baja, Modificación y Consulta. Además de estos permisos habrá permisos especiales sobre módulos que no se refieran al manteniendo de entidades pero que sí requieran de un permiso especial para poder ejecutarse como por ejemplo poder ejecutar los informes de costes, poder realizar y consultar partes de otros usuarios además de los propios del usuario, etc. Los perfiles serán dinámicos. Se podrán crear tantos perfiles como se requieran, cada uno con los permisos que se le asignen. - Los usuarios imputarán las horas que realizan categorizando por tarea los siguientes conceptos: Proyecto, Petición (opcional), Proceso, Subproceso, Descripción de la tarea y horas invertidas en los días de la decena. La aplicación permite poder adaptarse a las necesidades de diseño de la organización que la utilice y pueden crearse tantas instancias de la aplicación como se necesiten, compartiendo ono la base de datos entre varias de las instancias, sin necesidad de duplicar el código en el servidor, lo que facilita el mantenimiento de la aplicación cuando se añaden mejoras y se solucionan incidencias. También facilita el poder vender licencias de uso de la aplicación a otras entidades teniendo una sola versión de la aplicación en la nube, lo que hace muy bajo el coste de la venta de licencias aumentando así los beneficios por venta. ABSTRACT To understand the project in a very simplified way we could summarize as follows: Its an application that allows users to charge the hours of tasks that they realize in a easy way, and that the managers of these users, by executive reports, can analyze dedications and costs of projects that they manage. Furthermore screens will be available to manage all entities that are involved in the charge of hours. The charge of hours will be grouped by the concept "Timesheet". The Timesheets divided the months in groups of 10 days, so each user will have to charge the hours every 10 days by sending his supervisor the thimesheet so that it can review it and analyze the results of the charges of hours by reports.Let's summarize the entities involved in the application and their relationships as follows: - Users will be assigned to one or more positions, which define the possible tasks that can perform categorized into concepts Process and Subprocess. An example of this relationship could be the position "Developer" may do tasks of process type "Development" and subprocess types "Programming" and "Unit Testing" - Users will also be assigned to projects in which they work. These projects belongs to a unit (Some possible examples of unit could be customers, departments, ...). - You can also assign users to specific requests for projects thar they are involved. A request could be an issue detected in a project, a concrete improvement in a maintenance project, a support made to fix some incorrect data, ... - Users will be assigned to one or more costs that may be different for periods of time in order to know the exact cost of an hour on the date on which it was made. - Users will be assigned to a User Profile. This user profile define the available permissions on modules of tool. There will be a permission for each entity, dividing them into Insert, Delete, Modify and Read. In addition to these permissions will be special permissions on modules that are not related to maintaining entities but if require special permission to execute such as to execute the cost reports, to make and read Timesheets of others users in addition to themselve user, etc. The profiles will be dynamic. We can create many profiles as we required, each with the permissions that are assigned. - Users charge the hours that they work categorizing per task the following: Project, Request (optional), Process, Subprocess, task description and the hours that they used in the ten days period. The application allows to adapt to the needs of design of the organization that use the application and allows create many instances of the application as needed, yes or not sharing the database among multiple instances without duplicating the code on the server, which facilitates maintenance of the application when improvements are added and incidents are resolved. It also facilitates to sell licenses to use the application to other organizations having a single version of the application in the cloud, making it very low cost from the sale of licenses and increasing profits per sale.