50 resultados para Computer software -- Development
Resumo:
Actualmente existen multitud de aplicaciones creadas para la gestin de proyectos software; cada una de ellas pretende dar solucin y facilitar las tareas propias de los gestores y los desarrolladores pertenecientes a los equipos de desarrollo. Los equipos de desarrollo software suelen estar integrados por gran variedad de recursos, tanto humanos como materiales. Cada uno desempea una funcin concreta en el proyecto, pudiendo no tener una dedicacin plena al proyecto. Por eso, es necesario que dichos recursos sean compartidos entre la cartera proyectos existentes. Para resolver este planteamiento en las aplicaciones de gestin de proyectos, ha sido requisito fundamental que se puedan gestionar varios proyectos de forma simultnea (gestin multiproyecto), pudiendo repartir la dedicacin de los recursos entre los proyectos existentes en la cartera. En la actualidad, existe un gran nmero de metodologas de gestin de proyectos, por lo que, en parte, el xito del proyecto radica en la eleccin de la ms adecuada. Entre todas las metodologas existentes, este estudio se ha centrado en las cada vez ms utilizadas metodologas de gestin de proyectos giles; se describe en qu consisten, qu beneficios aportan frente a las metodologas clsicas y cules son las ms utilizadas por sus ya contrastados beneficios y el valor que aportan a la gestin de proyectos. Por lo descrito anteriormente, otro requisito fundamental a la hora de valorar las aplicaciones de gestin de proyectos ha sido la capacidad de soportar y aplicar metodologas giles de gestin de proyectos. En este estudio tambin se ha tenido en cuenta el tipo de aplicacin atendiendo a su instalacin y acceso, y se ha realizado la diferenciacin entre aplicaciones web- las cuales precisan ser instaladas en un servidor web y son accesibles desde cualquier dispositivo con navegador -, y aplicaciones de escritorio - las cuales precisan estar instaladas en un equipo de forma local y slo pueden ser accedidas a ellas desde dicho equipo. En este estudio se han evaluado varias aplicaciones, intentando analizar el cumplimiento de las caractersticas comentadas anteriormente, dando como resultado tres aplicaciones seleccionadas siendo stas las que pueden aportar ms valor a la hora de gestionar una cartera de proyectos. ABSTRACT. At present, there are many applications aimed at managing software projects. Every application intends to solve and facilitate tasks to managers and developers belonging to the development teams. Software development teams are usually made up of many different human and material resources, each of them developing a specific task in the project and sometimes without a full dedication to the project. Therefore, these resources have to be shared within the existing project portfolio. To meet this need in project management applications, the main requirement is to be able to manage several projects simultaneously (multi-project management), thus allowing resources to be shared within the existing project portfolio. At present, there are a large number of project management methodologies and the success of the project lies in choosing the most appropriate one. Among all the existing methodologies, this study has focused on the increasingly used agile project management methodologies. The study describes the way they work, their added value in comparison traditional methodologies, and which ones are more often used due to their already verified benefits and value in managing projects. Taking into account the above-mention characteristics, another key requirement when assessing the project management applications has been their capacity to support and implement project management agile methodologies. This study has also taken into account the type of application according to its installation and access. A difference is established between web applications which require to be installed in a web server and are accessible from any device with a web browser and desktop applications, which must be installed in the equipment to be used and are only accessible from this equipment. The study has assessed several applications by analyzing the compliance with the above-mentioned characteristics and has chosen three applications that provide the management of the project portfolio with an added value.
Resumo:
Nowadays, Software Product Line (SPL) engineering [1] has been widely-adopted in software development due to the significant improvements that has provided, such as reducing cost and time-to-market and providing flexibility to respond to planned changes [2]. SPL takes advantage of common features among the products of a family through the systematic reuse of the core-assets and the effective management of variabilities across the products. SPL features are realized at the architectural level in product-line architecture (PLA) models. Therefore, suitable modeling and specification techniques are required to model variability. In fact, architectural variability modeling has become a challenge for SPLE due to the fact that PLA modeling requires not only modeling variability at the level of the external architecture configuration (see [3,4] literature reviews), but also at the level of internal specification of components [5]. In addition, PLA modeling requires preserving the traceability between features and PLAs. Finally, it is important to take into account that PLA modeling should guide architects in modeling the PLA core assets and variability, and in deriving the customized products. To deal with these needs, we present in this demonstration the FPLA Modeling Framework.
Resumo:
Software needs to be accessible for persons with disabilities and there are several guidelines to assist developers in building more accessible software. Regulation activities are beginning to make the accessibility of software a mandatory requirement in some countries. One such activity is the European Mandate M 376, which will result in a European standard (EN 301 549) defining functional accessibility requirements for information and communication technology products and services. This paper provides an overview of Mandate M 376 and EN 301 549, and describes the requirements for software accessibility defined in EN 301 549, according to a feature-based approach
Resumo:
El trabajo ha sido realizado dentro del marco de los proyectos EURECA (Enabling information re-Use by linking clinical REsearch and Care) e INTEGRATE (Integrative Cancer Research Through Innovative Biomedical Infrastructures), en los que colabora el Grupo de Informtica Biomdica de la UPM junto a otras universidades e instituciones sanitarias europeas. En ambos proyectos se desarrollan servicios e infraestructuras con el objetivo principal de almacenar informacin clnica, procedente de fuentes diversas (como por ejemplo de historiales clnicos electrnicos de hospitales, de ensayos clnicos o artculos de investigacin biomdica), de una forma comn y fcilmente accesible y consultable para facilitar al mximo la investigacin de estos mbitos, de manera colaborativa entre instituciones. Esta es la idea principal de la interoperabilidad semntica en la que se concentran ambos proyectos, siendo clave para el correcto funcionamiento del software del que se componen. El intercambio de datos con un modelo de representacin compartido, comn y sin ambigedades, en el que cada concepto, trmino o dato clnico tendr una nica forma de representacin. Lo cual permite la inferencia de conocimiento, y encaja perfectamente en el contexto de la investigacin mdica. En concreto, la herramienta a desarrollar en este trabajo tambin est orientada a la idea de maximizar la interoperabilidad semntica, pues se ocupa de la carga de informacin clnica con un formato estandarizado en un modelo comn de almacenamiento de datos, implementado en bases de datos relacionales. El trabajo ha sido desarrollado en el periodo comprendido entre el 3 de Febrero y el 6 de Junio de 2014. Se ha seguido un ciclo de vida en cascada para la organizacin del trabajo realizado en las tareas de las que se compone el proyecto, de modo que una fase no puede iniciarse sin que se haya terminado, revisado y aceptado la fase anterior. Exceptuando la tarea de documentacin del trabajo (para la elaboracin de esta memoria), que se ha desarrollado paralelamente a todas las dems. ----ABSTRACT--- The project has been developed during the second semester of the 2013/2014 academic year. This Project has been done inside EURECA and INTEGRATE European biomedical research projects, where the GIB (Biomedical Informatics Group) of the UPM works as a partner. Both projects aim is to develop platforms and services with the main goal of storing clinical information (e.g. information from hospital electronic health records (EHRs), clinical trials or research articles) in a common way and easy to access and query, in order to support medical research. The whole software environment of these projects is based on the idea of semantic interoperability, which means the ability of computer systems to exchange data with unambiguous and shared meaning. This idea allows knowledge inference, which fits perfectly in medical research context. The tool to develop in this project is also "semantic operability-oriented". Its purpose is to store standardized clinical information in a common data model, implemented in relational databases. The project has been performed during the period between February 3rd and June 6th, of 2014. It has followed a "Waterfall model" of software development, in which progress is seen as flowing steadily downwards through its phases. Each phase starts when its previous phase has been completed and reviewed. The task of documenting the projects work is an exception; it has been performed in a parallel way to the rest of the tasks.
Resumo:
La Ingeniera del Software (IS) Emprica adopta el mtodo cientfico a la IS para facilitar la generacin de conocimiento. Una de las tcnicas empleadas, es la realizacin de experimentos. Para que el conocimiento obtenido experimentalmente adquiera el nivel de madurez necesario para su posterior uso, es necesario que los experimentos sean replicados. La existencia de mltiples replicaciones de un mismo experimento conlleva la existencia de numerosas versiones de los distintos productos generados durante la realizacin de cada replicacin. Actualmente existe un gran descontrol sobre estos productos, ya que la administracin se realiza de manera informal. Esto causa problemas a la hora de planificar nuevas replicaciones, o intentar obtener informacin sobre las replicaciones ya realizadas. Para conocer con detalle la dimensin del problema a resolver, se estudia el estado actual de la gestin de materiales experimentales y su uso en replicaciones, as como de las herramientas de gestin de materiales experimentales. El estudio concluye que ninguno de los enfoques estudiados proporciona una solucin al problema planteado. Este trabajo persigue como objetivo mejorar la administracin de los materiales experimentales y replicaciones de experimentos en IS para dar soporte a la replicacin de experimentos. Para satisfacer este objetivo, se propone la adopcin en experimentacin de los paradigmas de Gestin de Configuracin del Software (GCS) y Lnea de Producto Software (LPS). Para desarrollar la propuesta se decide utilizar el mtodo de investigacin accin (en ingls action research). Para adoptar la GCS a experimentacin, se comienza realizando un estudio del proceso experimental como transformacin de productos; a continuacin, se realiza una adopcin de conceptos fundamentada en los procesos del desarrollo software y de experimentacin; finalmente, se desarrollan un conjunto de instrumentos, que se incorporan a un Plan de Gestin de Configuracin de Experimentos (PGCE). Para adoptar la LPS a experimentacin, se comienza realizando un estudio de los conceptos, actividades y fases que fundamentan la LPS; a continuacin, se realiza una adopcin de los conceptos; finalmente, se desarrollan o adoptan las tcnicas, simbologa y modelos para dar soporte a las fases de la Lnea de Producto para Experimentacin (LPE). La propuesta se valida mediante la evaluacin de su: viabilidad, flexibilidad, usabilidad y satisfaccin. La viabilidad y flexibilidad se evalan mediante la instanciacin del PGCE y de la LPE en experimentos concretos en IS. La usabilidad se evala mediante el uso de la propuesta para la generacin de las instancias del PGCE y de LPE. La satisfaccin evala la informacin sobre el experimento que contiene el PGCE y la LPE. Los resultados de la validacin de la propuesta muestran mejores resultados en los aspectos de usabilidad y satisfaccin a los experimentadores. ABSTRACT Empirical software engineering adapts the scientific method to software engineering (SE) in order to facilitate knowledge generation. Experimentation is one of the techniques used. For the knowledge generated experimentally to acquire the level of maturity necessary for later use, the experiments have to be replicated. As the same experiment is replicated more than once, there are numerous versions of all the products generated during a replication. These products are generally administered informally without control. This is troublesome when it comes to planning new replications or trying to gather information on replications conducted in the past. In order to grasp the size of the problem to be solved, this research examines the current state of the art of the management and use of experimental materials in replications, as well as the tools managing experimental materials. The study concludes that none of the analysed approaches provides a solution to the stated problem. The aim of this research is to improve the administration of SE experimental materials and experimental replications in support of experiment replication. To do this, we propose the adaptation of software configuration management (SCM) and software product line (SPL) paradigms to experimentation. The action research method was selected in order to develop this proposal. The first step in the adaptation of the SCM to experimentation was to analyse the experimental process from the viewpoint of the transformation of products. The concepts were then adapted based on software development and experimentation processes. Finally, a set of instruments were developed and added to an experiment configuration management plan (ECMP). The first step in the adaptation of the SPL to experimentation is to analyse the concepts, activities and phases underlying the SPL. The concepts are then adapted. Finally, techniques, symbols and models are developed or adapted in support of the experimentation product line (EPL) phases. The proposal is validated by evaluating its feasibility, flexibility, usability and satisfaction. Feasibility and flexibility are evaluated by instantiating the ECMP and the EPL in specific SE experiments. Usability is evaluated by using the proposal to generate the instances of the ECMP and EPL. The results of the validation of the proposal show that the proposal performs better with respect to usability issues and experimenter satisfaction.
Resumo:
Esta tesis doctoral contribuye al anlisis y desarrollo de nuevos elementos constructivos que integran sistemas de generacin elctrica a travs de clulas fotovoltaicas (FV); particularmente, basados en tecnologa FV de lmina delgada. Para ello se estudia el proceso de la integracin arquitectnica de stos elementos (conocido internacionalmente como Building Integrated Photovoltaic BIPV) mediante diferentes metodologas. Se inicia con el estudio de los elementos fotovoltaicos existentes y contina con los materiales que conforman actualmente las pieles de los edificios y su posible adaptacin a las diferentes tecnologas. Posteriormente, se propone una estrategia de integracin de los elementos FV en los materiales constructivos. En sta se considera la doble funcin de los elementos BIPV, elctrica y arquitectnica, y en especial se plantea el estudio de la integracin de elementos de disipacin trmica y almacenamiento de calor mediante los materiales de cambio de fase (Phase Change Materials PCM), todo esto con el objeto de favorecer el acondicionamiento trmico pasivo a travs del elemento BIPV. Para validar dicha estrategia, se desarrolla una metodologa experimental que consiste en el diseo y desarrollo de un prototipo denominado elemento BIPV/TF PCM, as como un mtodo de medida y caracterizacin en condiciones de laboratorio. Entre los logros alcanzados, destaca la multifuncionalidad de los elementos BIPV, el aprovechamiento de la energa residual del elemento, la reduccin de los excedentes trmicos que puedan modificar el balance trmico de la envolvente del edificio, y las mejoras conseguidas en la produccin elctrica de los mdulos fotovoltaicos por reduccin de temperatura, lo que har ms sostenible la solucin BIPV. Finalmente, como resultado del anlisis terico y experimental, esta tesis contribuye significativamente al estudio prctico de la adaptabilidad de los elementos BIPV en el entorno urbano por medio de una metodologa que se basa en el desarrollo y puesta en marcha de una herramienta informtica, que sirve tanto a ingenieros como arquitectos para verificar la calidad de la integracin arquitectnica y calidad elctrica de los elementos FV, antes, durante y despus de la ejecucin de un proyecto constructivo. ABSTRACT This Doctoral Thesis contributes to the analysis and development of new building elements that integrate power generation systems using photovoltaic solar cells (PV), particularly based on thin-film PV technology. For this propose, the architectural integration process is studied (concept known as "Building Integrated Photovoltaic - BIPV") by means of different methodologies. It begins with the study of existing PV elements and materials that are currently part of the building skins and the possible adaptation to different technologies. Subsequently, an integration strategy of PV elements in building materials is proposed. Double function of BIPV elements is considered, electrical and architectural, especially the heat dissipation and heat storage elements are studied, particularly the use Phase Change Materials PCM in order to favor the thermal conditioning of buildings by means of the BIPV elements. For this propose, an experimental methodology is implemented, which consist of the design and develop of a prototype "BIPV/TF- PCM element" and measurement method (indoor laboratory conditions) in order to validate this strategy. Among the most important achievements obtained of this develop and results analysis includes, in particular, the multifunctionality of BIPV elements, the efficient use of the residual energy of the element, reduction of the excess heat that it can change the heat balance of the building envelope and improvements in electricity production of PV modules by reducing the temperature, are some benefits achieved that make the BIPV element will be more sustainable. Finally, as a result of theoretical and experimental analysis, this thesis contributes significantly to the practical study of the adaptability of BIPV elements in the urban environment by means of a novel methodology based on the development and implementation by computer software of a useful tool which serves as both engineers and architects to verify the quality of architectural integration and electrical performance of PV elements before, during, and after execution of a building projects.
Resumo:
La tecnologa moderna de computacin ha permitido cambiar radicalmente la investigacin tecnolgica en todos los mbitos. El proceso general utilizado previamente consista en el desarrollo de prototipos analgicos, creando mltiples versiones del mismo hasta llegar al resultado adecuado. Este es un proceso costoso a nivel econmico y de carga de trabajo. Es por ello por lo que el proceso de investigacin actual aprovecha las nuevas tecnologas para lograr el objetivo final mediante la simulacin. Gracias al desarrollo de software para la simulacin de distintas reas se ha incrementado el ritmo de crecimiento de los avances tecnolgicos y reducido el coste de los proyectos en investigacin y desarrollo. La simulacin, por tanto, permite desarrollar previamente prototipos simulados con un coste mucho menor para as lograr un producto final, el cual ser llevado a cabo en su mbito correspondiente. Este proceso no slo se aplica en el caso de productos con circuitera, si bien es utilizado tambin en productos programados. Muchos de los programas actuales trabajan con algoritmos concretos cuyo funcionamiento debe ser comprobado previamente, para despus centrarse en la codificacin del mismo. Es en este punto donde se encuentra el objetivo de este proyecto, simular algoritmos de procesado digital de la seal antes de la codificacin del programa final. Los sistemas de audio estn basados en su totalidad en algoritmos de procesado de la seal, tanto analgicos como digitales, siendo estos ltimos los que estn sustituyendo al mundo analgico mediante los procesadores y los ordenadores. Estos algoritmos son la parte ms compleja del sistema, y es la creacin de nuevos algoritmos la base para lograr sistemas de audio novedosos y funcionales. Se debe destacar que los grupos de desarrollo de sistemas de audio presentan un amplio nmero de miembros con cometidos diferentes, separando las funciones de programadores e ingenieros de la seal de audio. Es por ello por lo que la simulacin de estos algoritmos es fundamental a la hora de desarrollar nuevos y ms potentes sistemas de audio. Matlab es una de las herramientas fundamentales para la simulacin por ordenador, la cual presenta utilidades para desarrollar proyectos en distintos mbitos. Sin embargo, en creciente uso actualmente se encuentra el software Simulink, herramienta especializada en la simulacin de alto nivel que simplifica la dificultad de la programacin en Matlab y permite desarrollar modelos de forma ms rpida. Simulink presenta una completa funcionalidad para el desarrollo de algoritmos de procesado digital de audio. Por ello, el objetivo de este proyecto es el estudio de las capacidades de Simulink para generar sistemas de audio funcionales. A su vez, este proyecto pretende profundizar en los mtodos de procesado digital de la seal de audio, logrando al final un paquete de sistemas de audio compatible con los programas de edicin de audio actuales. ABSTRACT. Modern computer technology has dramatically changed the technological research in multiple areas. The overall process previously used consisted of the development of analog prototypes, creating multiple versions to reach the proper result. This is an expensive process in terms of an economically level and workload. For this reason actual investigation process take advantage of the new technologies to achieve the final objective through simulation. Thanks to the software development for simulation in different areas the growth rate of technological progress has been increased and the cost of research and development projects has been decreased. Hence, simulation allows previously the development of simulated protoypes with a much lower cost to obtain a final product, which will be held in its respective field. This process is not only applied in the case of circuitry products, but is also used in programmed products. Many current programs work with specific algorithms whose performance should be tested beforehand, which allows focusing on the codification of the program. This is the main point of this project, to simulate digital signal processing algorithms before the codification of the final program. Audio systems are entirely based on signal processing, both analog and digital systems, being the digital systems which are replacing the analog world thanks to the processors and computers. This algorithms are the most complex part of every system, and the creation of new algorithms is the most important step to achieve innovative and functional new audio systems. It should be noted that development groups of audio systems have a large number of members with different roles, separating them into programmers and audio signal engineers. For this reason, the simulation of this algorithms is essential when developing new and more powerful audio systems. Matlab is one of the most important tools for computer simulation, which has utilities to develop projects in different areas. However, the use of the Simulink software is constantly growing. It is a simulation tool specialized in high-level simulations which simplifies the difficulty of programming in Matlab and allows the developing of models faster. Simulink presents a full functionality for the development of algorithms for digital audio processing. Therefore, the objective of this project is to study the posibilities of Simulink to generate funcional audio systems. In turn, this projects aims to get deeper into the methods of digital audio signal processing, making at the end a software package of audio systems compatible with the current audio editing software.
Resumo:
To our knowledge, no current software development methodology explicitly describes how to transit from the analysis model to the software architecture of the application. This paper presents a method to derive the software architecture of a system from its analysis model. To do this, we are going to use MDA. Both the analysis model and the architectural model are PIMs described with UML 2. The model type mapping designed consists of several rules (expressed using OCL and natural language) that, when applied to the analysis artifacts, generate the software architecture of the application. Specifically the rules act on elements of the UML 2 metamodel (metamodel mapping). We have developed a tool (using Smalltalk) that permits the automatic application of these rules to an analysis model defined in RoseTM to generate the application architecture expressed in the architectural style C2.
Resumo:
En la actualidad existe una gran expectacin ante la introduccin de nuevas herramientas y mtodos para el desarrollo de productos software, que permitirn en un futuro prximo un planteamiento de ingeniera del proceso de produccin software. Las nuevas metodologas que empiezan a esbozarse suponen un enfoque integral del problema abarcando todas las fases del esquema productivo. Sin embargo el grado de automatizacin conseguido en el proceso de construccin de sistemas es muy bajo y ste est centrado en las ltimas fases del ciclo de vida del software, consiguindose as una reduccin poco significativa de sus costes y, lo que es an ms importante, sin garantizar la calidad de los productos software obtenidos. Esta tesis define una metodologa de desarrollo software estructurada que se puede automatizar, es decir una metodologa CASE. La metodologa que se presenta se ajusta al modelo de ciclo de desarrollo CASE, que consta de las fases de anlisis, diseo y pruebas; siendo su mbito de aplicacin los sistemas de informacin. Se establecen inicialmente los principios bsicos sobre los que la metodologa CASE se asienta. Posteriormente, y puesto que la metodologa se inicia con la fijacin de los objetivos de la empresa que demanda un sistema informtico, se emplean tcnicas que sirvan de recogida y validacin de la informacin, que proporcionan a la vez un lenguaje de comunicacin fcil entre usuarios finales e informticos. Adems, estas mismas tcnicas detallarn de una manera completa, consistente y sin ambigedad todos los requisitos del sistema. Asimismo, se presentan un conjunto de tcnicas y algoritmos para conseguir que desde la especificacin de requisitos del sistema se logre una automatizacin tanto del diseo lgico del Modelo de Procesos como del Modelo de Datos, validados ambos conforme a la especificacin de requisitos previa. Por ltimo se definen unos procedimientos formales que indican el conjunto de actividades a realizar en el proceso de construccin y cmo llevarlas a cabo, consiguiendo de esta manera una integridad en las distintas etapas del proceso de desarrollo.---ABSTRACT---Nowdays there is a great expectation with regard to the introduction of new tools and methods for the software products development that, in the very near future will allow, an engineering approach in the software development process. New methodologies, just emerging, imply an integral approach to the problem, including all the productive scheme stages. However, the automatization degree obtained in the systems construction process is very low and focused on the last phases of the software lifecycle, which means that the costs reduction obtained is irrelevant and, which is more important, the quality of the software products is not guaranteed. This thesis defines an structured software development methodology that can be automated, that is a CASE methodology. Such a methodology is adapted to the CASE development cycle-model, which consists in analysis, design and testing phases, being the information systems its field of application. Firstly, we present the basic principies on which CASE methodology is based. Secondly, since the methodology starts from fixing the objectives of the company demanding the automatization system, we use some techniques that are useful for gathering and validating the information, being at the same time an easy communication language between end-users and developers. Indeed, these same techniques will detail completely, consistently and non ambiguously all the system requirements. Likewise, a set of techniques and algorithms are shown in order to obtain, from the system requirements specification, an automatization of the Process Model logical design, and of the Data Model logical design. Those two models are validated according to the previous requirement specification. Finally, we define several formal procedures that suggest which set of activities to be accomplished in the construction process, and how to carry them out, getting in this way integrity and completness for the different stages of the development process.
Resumo:
The development of a web platform is a complex and interdisciplinary task, where people with different roles such as project manager, designer or developer participate. Different usability and User Experience evaluation methods can be used in each stage of the development life cycle, but not all of them have the same influence in the software development and in the final product or system. This article presents the study of the impact of these methods applied in the context of an e-Learning platform development. The results show that the impact has been strong from a developer's perspective. Developer team members considered that usability and User Experience evaluation allowed them mainly to identify design mistakes, improve the platform's usability and understand the end users and their needs in a better way. Interviews with potential users, clickmaps and scrollmaps were rated as the most useful methods. Finally, these methods were considered unanimously very useful in the context of the entire software development, only comparable to SCRUM meetings and overcoming the rest of involved factors.
Resumo:
Automated Teller Machines (ATMs) are sensitive self-service systems that require important investments in security and testing. ATM certifications are testing processes for machines that integrate software components from different vendors and are performed before their deployment for public use. This project was originated from the need of optimization of the certification process in an ATM manufacturing company. The process identifies compatibility problems between software components through testing. It is composed by a huge number of manual user tasks that makes the process very expensive and error-prone. Moreover, it is not possible to fully automate the process as it requires human intervention for manipulating ATM peripherals. This project presented important challenges for the development team. First, this is a critical process, as all the ATM operations rely on the software under test. Second, the context of use of ATMs applications is vastly different from ordinary software. Third, ATMs useful lifetime is beyond 15 years and both new and old models need to be supported. Fourth, the know-how for efficient testing depends on each specialist and it is not explicitly documented. Fifth, the huge number of tests and their importance implies the need for user efficiency and accuracy. All these factors led us conclude that besides the technical challenges, the usability of the intended software solution was critical for the project success. This business context is the motivation of this Master Thesis project. Our proposal focused in the development process applied. By combining user-centered design (UCD) with agile development we ensured both the high priority of usability and the early mitigation of software development risks caused by all the technology constraints. We performed 23 development iterations and finally we were able to provide a working solution on time according to users expectations. The evaluation of the project was carried out through usability tests, where 4 real users participated in different tests in the real context of use. The results were positive, according to different metrics: error rate, efficiency, effectiveness, and user satisfaction. We discuss the problems found, the benefits and the lessons learned in the process. Finally, we measured the expected project benefits by comparing the effort required by the current and the new process (once the new software tool is adopted). The savings corresponded to 40% less effort (man-hours) per certification. Future work includes additional evaluation of product usability in a real scenario (with customers) and the measuring of benefits in terms of quality improvement.
Resumo:
Research into software engineering teams focuses on human and social team factors. Social psychology deals with the study of team formation and has found that personality factors and group processes such as team climate are related to team effectiveness. However, there are only a handful of empirical studies dealing with personality and team climate and their relationship to software development team effectiveness. Objective We present aggregate results of a twice replicated quasi-experiment that evaluates the relationships between personality, team climate, product quality and satisfaction in software development teams. Method Our experimental study measures the personalities of team members based on the Big Five personality traits (openness, conscientiousness, extraversion, agreeableness, neuroticism) and team climate factors (participative safety, support for innovation, team vision and task orientation) preferences and perceptions. We aggregate the results of the three studies through a meta-analysis of correlations. The study was conducted with students. Results The aggregation of results from the baseline experiment and two replications corroborates the following findings. There is a positive relationship between all four climate factors and satisfaction in software development teams. Teams whose members score highest for the agreeableness personality factor have the highest satisfaction levels. The results unveil a significant positive correlation between the extraversion personality factor and software product quality. High participative safety and task orientation climate perceptions are significantly related to quality. Conclusions First, more efficient software development teams can be formed heeding personality factors like agreeableness and extraversion. Second, the team climate generated in software development teams should be monitored for team member satisfaction. Finally, aspects like people feeling safe giving their opinions or encouraging team members to work hard at their job can have an impact on software quality. Software project managers can take advantage of these factors to promote developer satisfaction and improve the resulting product.
Resumo:
El software se ha convertido en el eje central del mundo actual, una compleja creacin humana que influye en la vida, negocios y comunicacin de todas las personas pertenecientes a la Sociedad de la Informacin. El rpido crecimiento experimentado en el mbito del desarrollo software ha permitido la creacin de avanzadas estructuras tecnolgicas, denominadas Sistemas Intensivos Software, capaces de comunicarse con otros sistemas, dispositivos, sensores y personas. A lo largo de los prximos aos los sistemas se enfrentarn a una mayor complejidad, surgida de la necesidad de operar en entornos de grandes dimensiones y de comportamientos no deterministas. Los mtodos y herramientas actuales no son lo suficientemente potentes para disear, construir,implementar y mantener sistemas intensivos software con estas caractersticas, y detener la construccin 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 compaas software que suelen estar en ubicaciones geogrficas distintas y constituidas por grandes equipos de desarrollo, multidisciplinares e incluso multilinges. 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 integracin de todos los elementos del sistema completo. El objetivo de este proyecto es la creacin de una herramienta software para dar soporte a la gestin y monitorizacin de la construccin e integracin de sistemas intensivos software, siendo extensible tambin a proyectos de otra ndole. La herramienta resultante se denomina Positioning System, una aplicacin web del tipo SPA (Single Page Application) creada con tecnologa de ltima generacin como el framework JavaScript AngularJS y tecnologa de back-end como SlimPHP. Positioning System provee la funcionalidad necesaria para la creacin de proyectos, familias y subfamilias de productos que constituyen los productos software de los proyectos creados, as como la gestin de socios comerciales y gestin de contactos de dichos proyectos. Todas estas funcionalidades son fcilmente monitorizadas y controladas por grficos estadsticos generados para cada proyecto. ABSTRACT Software has become the backbone of todays 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:
Las compaas de desarrollo de software buscan reducir costes a travs del desarrollo de diseos que permitan: a) facilidad en la distribucin del trabajo de desarrollo, con la menor comunicacin de las partes; b) modificabilidad, permitiendo realizar cambios sobre un mdulo sin alterar las otras partes y; c) comprensibilidad, permitiendo estudiar un mdulo del sistema a la vez. Estas caractersticas elementales en el diseo de software se logran a travs del diseo de sistemas cuasi-descomponibles, cuyo modelo terico fue introducido por Simon en su bsqueda de una teora general de los sistemas. En el campo del diseo de software, Parnas propone un camino prctico para lograr sistemas cuasi-descomponibles llamado el Principio de Ocultacin de Informacin. El Principio de Ocultacin de Informacin es un criterio diferente de descomposicin en mdulos, cuya implementacin logra las caractersticas deseables de un diseo eficiente a nivel del proceso de desarrollo y mantenimiento. El Principio y el enfoque orientado a objetos se relacionan debido a que el enfoque orientado a objetos facilita la implementacin del Principio, es por esto que cuando los objetos empiezan a tomar fuerza, tambin aparecen paralelamente las dificultades en el aprendizaje de diseo de software orientado a objetos, las cuales se mantienen hasta la actualidad, tal como se reporta en la literatura. Las dificultades en el aprendizaje de diseo de software orientado a objetos tiene un gran impacto tanto en las aulas como en la profesin. La deteccin de estas dificultades permitir a los docentes corregirlas o encaminarlas antes que stas se trasladen a la industria. Por otro lado, la industria puede estar advertida de los potenciales problemas en el proceso de desarrollo de software. Esta tesis tiene como objetivo investigar sobre las dificultades en el diseo de software orientado a objetos, a travs de un estudio emprico. El estudio fue realizado a travs de un estudio de caso cualitativo, que estuvo conformado por tres partes. La primera, un estudio inicial que tuvo como objetivo conocer el entendimiento de los estudiantes alrededor del Principio de Ocultacin de Informacin antes de que iniciasen la instruccin. La segunda parte, un estudio llevado a cabo a lo largo del perodo de instruccin con la finalidad de obtener las dificultades de diseo de software y su nivel de persistencia. Finalmente, una tercera parte, cuya finalidad fue el estudio de las dificultades esenciales de aprendizaje y sus posibles orgenes. Los participantes de este estudio pertenecieron a la materia de Software Design del European Master in Software Engineering de la Escuela Tcnica Superior de Ingenieros Informticos de la Universidad Politcnica de Madrid. Los datos cualitativos usados para el anlisis procedieron de las observaciones en las horas de clase y exposiciones, entrevistas realizadas a los estudiantes y ejercicios enviados a lo largo del perodo de instruccin. Las dificultades presentadas en esta tesis en sus diferentes perspectivas, aportaron conocimiento concreto de un estudio de caso en particular, realizando contribuciones relevantes en el rea de diseo de software, docencia, industria y a nivel metodolgico. ABSTRACT The software development companies look to reduce costs through the development of designs that will: a) ease the distribution of development work with the least communication between the parties; b) changeability, allowing to change a module without disturbing the other parties and; c) understandability, allowing to study a system module at a time. These basic software design features are achieved through the design of quasidecomposable systems, whose theoretical model was introduced by Simon in his search for a general theory of systems. In the field of software design, Parnas offers a practical way to achieve quasi-decomposable systems, called The Information Hiding Principle. The Information Hiding Principle is different criterion for decomposition into modules, whose implementation achieves the desirable characteristics of an efficient design at the development and maintenance level. The Principle and the object-oriented approach are related because the object-oriented approach facilitates the implementation of The Principle, which is why when objects begin to take hold, also appear alongside the difficulties in learning an object-oriented software design, which remain to this day, as reported in the literature. Difficulties in learning object-oriented software design has a great impact both in the classroom and in the profession. The detection of these difficulties will allow teachers to correct or route them before they move to the industry. On the other hand, the industry can be warned of potential problems related to the software development process. This thesis aims to investigate the difficulties in learning the object-oriented design, through an empirical study. The study was conducted through a qualitative case study, which consisted of three parts. The first, an initial study was aimed to understand the knowledge of the students around The Information Hiding Principle before they start the instruction. The second part, a study was conducted during the entire period of instruction in order to obtain the difficulties of software design and their level of persistence. Finally, a third party, whose purpose was to study the essential difficulties of learning and their possible sources. Participants in this study belonged to the field of Software Design of the European Master in Software Engineering at the Escuela Tcnica Superior de Ingenieros Informticos of Universidad Politcnica de Madrid. The qualitative data used for the analysis came from the observations in class time and exhibitions, performed interviews with students and exercises sent over the period of instruction. The difficulties presented in this thesis, in their different perspectives, provided concrete knowledge of a particular case study, making significant contributions in the area of software design, teaching, industry and methodological level.
Resumo:
La tesis est focalizada en la resolucin de problemas de optimizacin combinatoria, haciendo uso de las opciones tecnolgicas actuales que ofrecen las tecnologas de la informacin y las comunicaciones, y la investigacin operativa. Los problemas de optimizacin combinatoria se resuelven en general mediante programacin lineal y metaheursticas. La aplicacin de las tcnicas de resolucin de los problemas de optimizacin combinatoria requiere de una elevada carga computacional, y los algoritmos deben disearse, por un lado pensando en la efectividad para encontrar buenas soluciones del problema, y por otro lado, pensando en un uso adecuado de los recursos informticos disponibles. La programacin lineal y las metaheursticas son tcnicas de resolucin genricas, que se pueden aplicar a diferentes problemas, partiendo de una base comn que se particulariza para cada problema concreto. En el campo del desarrollo de software, los frameworks cumplen esa funcin de comenzar un proyecto con el trabajo general ya disponible, con la opcin de cambiar o extender ese comportamiento base o genrico, para construir el sistema concreto, lo que permite reducir el tiempo de desarrollo, y ampla las posibilidades de xito del proyecto. En esta tesis se han desarrollado dos frameworks de desarrollo. El framework ILP permite modelar y resolver problemas de programacin lineal, de forma independiente al software de resolucin de programacin lineal que se utilice. El framework LME permite resolver problemas de optimizacin combinatoria mediante metaheursticas. Tradicionalmente, las aplicaciones de resolucin de problemas de optimizacin combinatoria son aplicaciones de escritorio que permiten gestionar toda la informacin de entrada del problema y resuelven el problema en local, con los recursos hardware disponibles. Recientemente ha aparecido un nuevo paradigma de despliegue y uso de aplicaciones que permite compartir recursos informticos especializados por Internet. Esta nueva forma de uso de recursos informticos es la computacin en la nube, que presenta el modelo de software como servicio (SaaS). En esta tesis se ha construido una plataforma SaaS, para la resolucin de problemas de optimizacin combinatoria, que se despliega sobre arquitecturas compuestas por procesadores multi-ncleo y tarjetas grficas, y dispone de algoritmos de resolucin basados en frameworks de programacin lineal y metaheursticas. Toda la infraestructura es independiente del problema de optimizacin combinatoria a resolver, y se han desarrollado tres problemas que estn totalmente integrados en la plataforma SaaS. Estos problemas se han seleccionado por su importancia prctica. Uno de los problemas tratados en la tesis, es el problema de rutas de vehculos (VRP), que consiste en calcular las rutas de menor coste de una flota de vehculos, que reparte mercancas a todos los clientes. Se ha partido de la versin ms clsica del problema y se han hecho estudios en dos direcciones. Por un lado se ha cuantificado el aumento en la velocidad de ejecucin de la resolucin del problema en tarjetas grficas. Por otro lado, se ha estudiado el impacto en la velocidad de ejecucin y en la calidad de soluciones, en la resolucin por la metaheurstica de colonias de hormigas (ACO), cuando se introduce la programacin lineal para optimizar las rutas individuales de cada vehculo. Este problema se ha desarrollado con los frameworks ILP y LME, y est disponible en la plataforma SaaS. Otro de los problemas tratados en la tesis, es el problema de asignacin de flotas (FAP), que consiste en crear las rutas de menor coste para la flota de vehculos de una empresa de transporte de viajeros. Se ha definido un nuevo modelo de problema, que engloba caractersticas de problemas presentados en la literatura, y aade nuevas caractersticas, lo que permite modelar los requerimientos de las empresas de transporte de viajeros actuales. Este nuevo modelo resuelve de forma integrada el problema de definir los horarios de los trayectos, el problema de asignacin del tipo de vehculo, y el problema de crear las rotaciones de los vehculos. Se ha creado un modelo de programacin lineal para el problema, y se ha resuelto por programacin lineal y por colonias de hormigas (ACO). Este problema se ha desarrollado con los frameworks ILP y LME, y est disponible en la plataforma SaaS. El ltimo problema tratado en la tesis es el problema de planificacin tctica de personal (TWFP), que consiste en definir la configuracin de una plantilla de trabajadores de menor coste, para cubrir una demanda de carga de trabajo variable. Se ha definido un modelo de problema muy flexible en la definicin de contratos, que permite el uso del modelo en diversos sectores productivos. Se ha definido un modelo matemtico de programacin lineal para representar el problema. Se han definido una serie de casos de uso, que muestran la versatilidad del modelo de problema, y permiten simular el proceso de toma de decisiones de la configuracin de una plantilla de trabajadores, cuantificando econmicamente cada decisin que se toma. Este problema se ha desarrollado con el framework ILP, y est disponible en la plataforma SaaS. ABSTRACT The thesis is focused on solving combinatorial optimization problems, using current technology options offered by information technology and communications, and operations research. Combinatorial optimization problems are solved in general by linear programming and metaheuristics. The application of these techniques for solving combinatorial optimization problems requires a high computational load, and algorithms are designed, on the one hand thinking to find good solutions to the problem, and on the other hand, thinking about proper use of the available computing resources. Linear programming and metaheuristic are generic resolution techniques, which can be applied to different problems, beginning with a common base that is particularized for each specific problem. In the field of software development, frameworks fulfill this function that allows you to start a project with the overall work already available, with the option to change or extend the behavior or generic basis, to build the concrete system, thus reducing the time development, and expanding the possibilities of success of the project. In this thesis, two development frameworks have been designed and developed. The ILP framework allows to modeling and solving linear programming problems, regardless of the linear programming solver used. The LME framework is designed for solving combinatorial optimization problems using metaheuristics. Traditionally, applications for solving combinatorial optimization problems are desktop applications that allow the user to manage all the information input of the problem and solve the problem locally, using the available hardware resources. Recently, a new deployment paradigm has appeared, that lets to share hardware and software resources by the Internet. This new use of computer resources is cloud computing, which presents the model of software as a service (SaaS). In this thesis, a SaaS platform has been built for solving combinatorial optimization problems, which is deployed on architectures, composed of multi-core processors and graphics cards, and has algorithms based on metaheuristics and linear programming frameworks. The SaaS infrastructure is independent of the combinatorial optimization problem to solve, and three problems are fully integrated into the SaaS platform. These problems have been selected for their practical importance. One of the problems discussed in the thesis, is the vehicle routing problem (VRP), which goal is to calculate the least cost of a fleet of vehicles, which distributes goods to all customers. The VRP has been studied in two directions. On one hand, it has been quantified the increase in execution speed when the problem is solved on graphics cards. On the other hand, it has been studied the impact on execution speed and quality of solutions, when the problem is solved by ant colony optimization (ACO) metaheuristic, and linear programming is introduced to optimize the individual routes of each vehicle. This problem has been developed with the ILP and LME frameworks, and is available in the SaaS platform. Another problem addressed in the thesis, is the fleet assignment problem (FAP), which goal is to create lower cost routes for a fleet of a passenger transport company. It has been defined a new model of problem, which includes features of problems presented in the literature, and adds new features, allowing modeling the business requirements of today's transport companies. This new integrated model solves the problem of defining the flights timetable, the problem of assigning the type of vehicle, and the problem of creating aircraft rotations. The problem has been solved by linear programming and ACO. This problem has been developed with the ILP and LME frameworks, and is available in the SaaS platform. The last problem discussed in the thesis is the tactical planning staff problem (TWFP), which is to define the staff of lower cost, to cover a given work load. It has been defined a very rich problem model in the definition of contracts, allowing the use of the model in various productive sectors. It has been defined a linear programming mathematical model to represent the problem. Some use cases has been defined, to show the versatility of the model problem, and to simulate the decision making process of setting up a staff, economically quantifying every decision that is made. This problem has been developed with the ILP framework, and is available in the SaaS platform.