12 research outputs found
Reverse engineering of GUI models
Tese de mestrado integrado. Engenharia Informática e Computação. Faculdade de Engenharia. Universidade do Porto. 200
Migration d'interfaces utilisateurs textuelles de systèmes patrimoniaux vers le Web
Les interfaces utilisateurs détiennent une importance non négligeable dans tout logiciel applicatif, car elles constituent le premier contact entre les utilisateurs et le logiciel. La migration d'interfaces utilisateurs textuelles de systèmes patrimoniaux vers le Web vise à remédier les problèmes liés à l'accès limité de tels systèmes tout en améliorant l'aspect et la convivialité de ces interfaces. Fréquemment, cela implique à la fois le changement de la plate-forme d'exécution - d'une plate-forme textuelle vers une architecture Web - et la refonte complète des interfaces vers une technologie de présentation Web. Ce mémoire est une synthèse des méthodes et des techniques de migration d'interfaces utilisateurs textuelles vers le Web. Nous y abordons, dans un premier temps, les notions reliées aux systèmes patrimoniaux et au Web. Cela permet d'établir le contexte de notre étude à savoir l'environnement de départ et l'environnement cible dans une migration d'interfaces utilisateurs vers le Web. Dans un deuxième temps, nous exposons différentes techniques et approches de migration d'interfaces utilisateurs. Finalement, nous terminons notre présentation avec trois exemples de plates-formes de migration d'interfaces utilisateurs
Re-engineering strategies for legacy software systems
Re-engineering can be described as a process for updating an existing system in order to meet
new requirements. Restructuring and refactoring are activities that can be performed as a part of
the re-engineering process. Supporting new requirements like migrating to new frameworks, new
environments and architectural styles is essential for preservation of quality attributes like maintainability and evolvability. Many larger legacy systems slowly deteriorate over time in quality and
adding new functionality becomes increasingly difficult and costly as technical debt accumulates.
To modernize a legacy system and improve the cost effectiveness of implementing new features a
re-engineering process is often needed. The alternative is to develop a completely new system but
this can often lead to loss of years of accumulated functionality and be too expensive.
Re-engineering strategies can be specialized and solve specific needs like cloud migration or be more
generic in nature supporting several kinds of needs. Different approaches are suitable for different
kinds of source and target systems. The choice of a re-engineering strategy is also influenced by
organisational and business factors. The re-engineering of a highly tailored legacy system in a small
organisation is different from re-engineering a scalable system in a large organisation. Generic and
flexible solutions are well suited for especially smaller organisations with complex systems.
The re-engineering strategy Renaissance was applied in a case study at Roima Intelligence Oy in order to find out if such a strategy is realistically usable, useful and valuable for a smaller organization.
The results show that a re-engineering strategy is possible to be used with low overhead in order to
prioritize different parts of the system and determining a suitable modernization plan. Renaissance
was also shown to add value especially in the form of deeper understanding of the system and a
structured way to evaluate different options for modernization. This is achieved through assessing
the system from different views taking into account especially business and technical aspects. A
lesson learned about Renaissance is that determining an optimal scope for the system assessment is
challenging. The results are applicable for other organisations dealing with complex legacy systems
with constrained resources.
Limitations of the study are that the number of different kinds of re-engineering strategies discussed
is small and more suitable strategies than Renaissance could be discovered with a systematic mapping study. The amount of experts participating in the process itself as well as the evaluation was
also low, introducing some uncertainty to the validity of the results.
Further research is needed in order to determine how specialized and generic re-engineering strategies compare in terms of needed resources and added value
Reverseorc:Reverse engineering of resizable user interface layouts with or-constraints
Reverse engineering (RE) of user interfaces (UIs) plays an important role in
software evolution. However, the large diversity of UI technologies and the
need for UIs to be resizable make this challenging. We propose ReverseORC, a
novel RE approach able to discover diverse layout types and their dynamic
resizing behaviours independently of their implementation, and to specify them
by using OR constraints. Unlike previous RE approaches, ReverseORC infers
flexible layout constraint specifications by sampling UIs at different sizes
and analyzing the differences between them. It can create specifications that
replicate even some non-standard layout managers with complex dynamic layout
behaviours. We demonstrate that ReverseORC works across different platforms
with very different layout approaches, e.g., for GUIs as well as for the Web.
Furthermore, it can be used to detect and fix problems in legacy UIs, extend
UIs with enhanced layout behaviours, and support the creation of flexible UI
layouts.Comment: CHI2021 Full Pape
Concepts for handling heterogeneous data transformation logic and their integration with TraDE middleware
The concept of programming-in-the-Large became a substantial part of modern computerbased scientific research with an advent of web services and the concept of orchestration languages. While the notions of workflows and service choreographies help to reduce the complexity by providing means to support the communication between involved participants, the process still remains generally complex. The TraDE Middleware and underlying concepts were introduced in order to provide means for performing the modeled data exchange across choreography participants in a transparent and automated fashion. However, in order to achieve both transparency and automation, the TraDE Middleware must be capable of transforming the data along its path. The data transformation’s transparency can be difficult to achieve due to various factors including the diversity of required execution environments and complicated configuration processes as well as the heterogeneity of data transformation software which results in tedious integration processes often involving the manual wrapping of software.
Having a method of handling data transformation applications in a standardized manner can help to simplify the process of modeling and executing scientific service choreographies with the TraDE concepts applied. In this master thesis we analyze various aspects of this problem and conceptualize an extensible framework for handling the data transformation applications. The resulting prototypical implementation of the presented framework provides means to address data transformation applications in a standardized manner
A Reengineering Approach to Reconciling Requirements and Implementation for Context - Aware Web Services Systems
In modern software development, the gap between software requirements and implementation is not always conciliated. Typically, for Web services-based context-aware systems, reconciling this gap is even harder. The aim of this research is to explore how software reengineering can facilitate the reconciliation between requirements and implementation for the said systems. The underlying research in this thesis comprises the following three components.
Firstly, the requirements recovery framework underpins the requirements elicitation approach on the proposed reengineering framework. This approach consists of three stages: 1) Hypothesis generation, where a list of hypothesis source code information is generated; 2) Segmentation, where the hypothesis list is grouped into segments; 3) Concept binding, where the segments turn into a list of concept bindings linking regions of source code.
Secondly, the derived viewpoints-based context-aware service requirements model is proposed to fully discover constraints, and the requirements evolution model is developed to maintain and specify the requirements evolution process for supporting context-aware services evolution.
Finally, inspired by context-oriented programming concepts and approaches, ContXFS is implemented as a COP-inspired conceptual library in F#, which enables developers to facilitate dynamic context adaption. This library along with context-aware requirements analyses mitigate the development of the said systems to a great extent, which in turn, achieves reconciliation between requirements and implementation
Contribution to Quality-driven Evolutionary Software Development process for Service-Oriented Architectures
The quality of software is a key element for the successful of a system. Currently, with the advance of the technology, consumers demand more and better services. Models for the development process have also to be adapted to new requirements. This is particular true in the case of service oriented systems (domain of this thesis), where an unpredictable number of users can access to one or several services.
This work proposes an improvement in the models for the software development process based on the theory of the evolutionary software development. The main objective is to maintain and improve the quality of software as long as possible and with the minimum effort and cost. Usually, this process is supported on methods known in the literature as agile software development methods.
Other key element in this thesis is the service oriented software architecture. Software architecture plays an important role in the quality of any software system. The Service oriented architecture adds the service flexibility, the services are autonomous and compact assets, and they can be improved and integrated with better facility.
The proposed model in this thesis for evolutionary software development makes emphasis in the quality of services. Therefore, some principles of evolutionary development are redefined and new processes are introduced, such as: architecture assessment, architecture recovery and architecture conformance.
Every new process will be evaluated with case studies considering quality aspects. They have been selected according to the market demand, they are: the performance, security and evolutionability. Other aspects could be considered of the same way than the three previous, but we believe that these quality attributes are enough to demonstrate the viability of our proposal
Automated specification-based testing of graphical user interfaces
Tese de doutoramento. Engenharia Electrónica e de Computadores. 2006. Faculdade de Engenharia. Universidade do Porto, Departamento de Informática, Escola de Engenharia. Universidade do Minh