• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 4
  • Tagged with
  • 4
  • 4
  • 3
  • 3
  • 3
  • 3
  • 2
  • 2
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • About
  • The Global ETD Search service is a free service for researchers to find electronic theses and dissertations. This service is provided by the Networked Digital Library of Theses and Dissertations.
    Our metadata is collected from universities around the world. If you manage a university/consortium/country archive and want to be added, details can be found on the NDLTD website.
1

[pt] COMPLETUDE DE REFATORAÇÕES COMPOSTAS DE CÓDIGO-FONTE PARA A REMOÇÃO BENÉFICA DE ANOMALIAS DE CÓDIGO / [en] ON THE COMPLETENESS OF COMPOSITE CODE REFACTORINGS FOR BENEFICIAL SMELL REMOVA

ANA CARLA GOMES BIBIANO 22 June 2023 (has links)
[pt] A refatoração de código é uma transformação de código que visa aprimorar a estrutura interna do código. Uma refatoração isolada raramente é suficiente para remover completamente uma estrutura de código ruim, como uma anomalia de código. Os desenvolvedores então aplicam refatorações compostas para remover totalmente uma anomalia de código. Uma refatoração composta consiste em duas ou mais refatorações inter-relacionadas. Um refatoração composta é considerada completa quando elimina totalmente a anomalia de código alvo. Estudos relatam que os desenvolvedores geralmente falham em remover completamente as anomalias de código alvo por meio de refatorações compostas. Refatorações compostas concluídas podem não ser totalmente benéficas para a estrutura do código. Pois, estas podem induzir efeitos colaterais, como a introdução de anomalias de código ou a propagação de anomalias existentes. Há uma compreensão limitada sobre a completude das refatorações compostas e seus possíveis efeitos colaterais. Esta tese investiga como as refatorações compostas removem totalmente as anomalias de código sem induzir efeitos colaterais. Descobrimos que 64 por cento das refatorações compostas completas são formadas por tipos de refatoração não recomendados anteriormente. Dessa forma, derivamos um catálogo de recomendações para apoiar os desenvolvedores na aplicação de refatorações compostas. Na avaliação do catálogo, 85 por cento de 21 desenvolvedores relataram que usariam as recomendações do catálogo e que suas próprias soluções de refatoração teriam induzido efeitos colaterais. Também avaliamos qualitativamente três abordagens existentes para recomendar automaticamente refatorações compostas. Nesse estudo, a maioria (80 por cento) dos 10 desenvolvedores relatou que as abordagens existentes frequentemente induzem efeitos colaterais. No geral, as descobertas e o catálogo proposto podem ajudar os desenvolvedores a realizar refatorações compostas completas. / [en] Code refactoring is a code transformation that aims to enhance the internal code structure. A single refactoring is rarely sufficient to achieve the full removal of a poor code structure, such as a code smell. Developers then apply composite refactorings to fully remove a code smell. A composite refactoring (or, simply, composite) consists of two or more interrelated single refactorings. A composite is considered complete when it fully eliminates the target smell. However, studies report that developers often fail in completely removing target code smells through composites. Even when composite refactorings are complete they may still not be entirely beneficial to the code structure. They may induce side effects, such as the introduction of new smells or the propagation of existing ones. There is a limited understanding of the completeness of composite refactorings and their possible effects on structural quality. This thesis investigates whether and how composite refactorings fully remove smells without inducing side effects. We found that 64 per cent of complete composites in several software projects are formed of refactoring types not previously recommended in the literature. Based on this study, we derived a catalog of recommendations for supporting developers in applying composite refactorings. Out of twenty one developers evaluating our catalog, 85 per cent reported that they would use the catalog recommendations and that their own refactoring solutions would have induced side effects. We also qualitatively evaluated three existing approaches to automatically recommend composite refactorings. In our study with ten developers, most (80 per cent) developers reported that existing approaches frequently induce side effects. Overall, the findings and the proposed catalog can help developers to perform complete composite refactorings with better awareness of possible side effects.
2

[en] GAMIFICATION GUIDELINES TO PREVENT NEGATIVE EFFECTS IN DIGITAL EDUCATION/LEARNING SYSTEMS / [pt] GUIDELINES DE GAMIFICAÇÃO PARA PREVENIR EFEITOS NEGATIVOS EM SISTEMAS DIGITAIS DE EDUCAÇÃO/APRENDIZAGEM

CLAUVIN ERLAN J DA C C DE ALMEIDA 13 July 2021 (has links)
[pt] Enquanto a maioria da pesquisa relata efeitos positivos de gamificação, o foco em seus efeitos adversos é consideravelmente menor. Tendo isso em mente, conduzimos um mapeamento sistemático dos efeitos negativos de elementos de game design em sistemas de aprendizado/educação. O estudo revelou 77 papers reportando efeitos não desejados de game design. Descobrimos que badges, competição, leaderboards e pontos são os elementos de game design mais encontrados sendo declarados como causadores de efeitos adversos. Os efeitos mais citados foram falta de efeito, falta de entendimento, irrelevância, problemas motivacionais e performance piorada. Então usamos os dados recolhidos para criar 7 diretrizes sobre alguns dos efeitos negativos encontrados e como lidar com eles. A dissertação pode ajudar designers de gamificação a tomarem decisões mais bem informadas quando selecionando elementos de game design a serem encontrados em sistemas de educação/aprendizado, criando percepção de efeitos adversos. / [en] While most research shows positive effects of gamification, the focus on its adverse effects is considerably smaller. Having this in mind, we conducted a systematic mapping study of the negative effects of game design elements on education/learning systems. The study revealed 77 papers reporting undesired effects of game design elements. We found that badges, competitions, leaderboards, and points are the game design elements most often reported as causing negative effects. The most cited negative effects were lack of effect, lack of understanding, irrelevance, motivational issues, and worsened performance. The ethical issue of cheating was also often reported. Then we used the data gathered to create 7 guidelines about some of the negative effects found and how to deal with those. This dissertation can help gamification designers make more informed decisions when selecting game design elements to be included in education/learning systems, raising awareness on potential negative effects.
3

[en] A SYSTEMATIC MAPPING STUDY AND PRACTITIONER INSIGHTS ON THE USE OF SOFTWARE ENGINEERING PRACTICES TO DEVELOP MVPS / [pt] UM MAPEAMENTO SISTEMÁTICO E PERCEPÇÕES DE PRATICANTES SOBRE O USO DE PRÁTICAS DE ENGENHARIA DE SOFTWARE PARA DESENVOLVER MVPS

SILVIO ALONSO MARQUES 24 May 2022 (has links)
[pt] Muitas startups e até mesmo empresas de software tradicionais adotaram o uso de MVPs (sigla em inglês para Produto Mínimo Viável) para permitir experimentar rapidamente possibilidades de solução. O conceito de MVP tem influenciado a forma como as equipes de desenvolvimento aplicam as práticas de Engenharia de Software (ES). Entretanto, o entendimento geral desta influência dos MVPs sobre as práticas de ES ainda é pobre. Nosso objetivo é caracterizar o panorama de publicações sobre práticas que têm sido utilizadas no contexto dos MVPs de software e reunir insights dos profissionais sobre as práticas identificadas. Conduzimos um estudo de mapeamento sistemático usando uma estratégia de busca híbrida que consiste em uma busca em banco de dados e um snowballing das referências, para frente e para trás, de forma paralela. Posteriormente, discutimos os resultados do mapeamento em duas sessões de grupos de foco envolvendo doze profissionais da indústria que utilizam amplamente os MVPs em seus projetos para capturar suas percepções sobre os resultados do mapeamento. Identificamos 33 artigos publicados entre 2013 e 2020. Observamos algumas tendências relacionadas às práticas de ideação e avaliação de MVPs. Por exemplo, com relação à ideação, encontramos seis abordagens diferentes (e.g., Design Thinking, Lean Inception) e principalmente práticas informais de envolvimento do usuário final (e.g., workshops, entrevistas). Com relação à avaliação, há uma ênfase nas validações do usuário final baseadas em práticas como testes de usabilidade, testes A/B, e análise dos dados de uso. Entretanto, ainda há pesquisas limitadas relacionadas à avaliação de viabilidade técnica do MVP e estimativa de esforço. Os praticantes das sessões do grupo de foco reforçaram a confiança em nossos resultados no que diz respeito às práticas de ideação e avaliação, estando cientes da maioria das práticas identificadas. Eles também relataram como lidam com as avaliações de viabilidade técnica (envolvendo desenvolvedores durante a ideação e conduzindo experimentos informais) e estimativa de esforço na prática (com base na opinião de especialistas e usando práticas comuns a metodologias ágeis, como o Planning Poker). Nossa análise sugere que há oportunidades para propostas de soluções e estudos de avaliação para tratar de lacunas na literatura relativas à avaliação de viabilidade técnica e estimativa de esforço. Em geral, é necessário investir mais esforço na avaliação empírica das práticas existentes relacionadas ao MVP. / [en] Many startup environments and even traditional software companies have embraced the use of MVPs (Minimum Viable Products) to allow quickly experimenting solution options. The MVP concept has influenced the way in which development teams apply Software Engineering (SE) practices. However, the overall understanding of this influence of MVPs on SE practices is still poor. Our goal is to characterize the publication landscape on practices that have been used in the context of software MVPs and to gather practitioner insights on the identified practices. We conducted a systematic mapping study using a hybrid search strategy that consists of a database search and parallel forward and backward snowballing. Thereafter, we discussed the mapping study results in two focus groups sessions involving twelve industry practitioners that extensively use MVPs in their projects to capture their perceptions on the findings of the mapping study. We identified 33 papers published between 2013 and 2020. We observed some trends related to MVP ideation and evaluation practices. For instance, regarding ideation, we found six different approaches (e.g., Design Thinking, Lean Inception) and mainly informal end-user involvement practices (e.g., workshops, interviews). Regarding evaluation, there is an emphasis on enduser validations based on practices such as usability tests, A/B testing, and usage data analysis. However, there is still limited research related to MVP technical feasibility assessment and effort estimation. Practitioners of the focus group sessions reinforced the confidence in our results regarding ideation and evaluation practices, being aware of most of the identified practices. They also reported how they deal with the technical feasibility assessments (involving developers during the ideation and conducting informal experiments) and effort estimation in practice (based on expert opinion and using practices common to agile methodologies, such as Planning Poker). Our analysis suggests that there are opportunities for solution proposals and evaluation studies to address literature gaps concerning technical feasibility assessment and effort estimation. Overall, more effort needs to be invested into empirically evaluating the existing MVP-related practices.
4

[en] REUSE-ORIENTED APPROACH FOR INCREMENTAL AND SYSTEMATIC DEVELOPMENT OF INTENTIONAL UBIQUITOUS APPLICATIONS / [pt] ABORDAGEM ORIENTADA À REUTILIZAÇÃO DE SOFTWARE PARA DESENVOLVIMENTO INCREMENTAL E SISTEMÁTICO DE APLICAÇÕES UBÍQUAS INTENCIONAIS

MILENE SERRANO 26 January 2017 (has links)
[pt] Aplicações ubíquas estão inseridas em ambientes inteligentes integrados ao mundo físico e compostos de usuários com diferentes preferências, dispositivos heterogêneos e vários provedores de serviço e conteúdo. Além disso, essas aplicações são especializadas em oferecer serviços e conteúdos em qualquer lugar e momento, auxiliando os usuários em suas atividades diárias sem incomodá-los. Baseado nesse mundo idealizado, o paradigma em qualquer lugar e momento impõe alguns desafios para a comunidade de Engenharia de Software, tais como: heterogeneidade de dispositivos, ambientes distribuídos, mobilidade, satisfação de usuário, adaptação de conteúdo, sensibilidade de contexto, privacidade, personalização, transparência, invisibilidade e constante evolução das tendências tecnológicas. Visando lidar com esses novos desafios tecnológicos, é proposta uma abordagem orientada à reutilização de software para desenvolvimento incremental e sistemático de aplicações ubíquas intencionais. Foram escolhidos dois principais objetivos para conduzir a pesquisa dessa tese: (i) a construção de conjuntos de apoio, orientados à reutilização de software, com base em uma investigação detalhada de aplicações ubíquas e do paradigma de Sistemas Multi-Agentes Intencionais – ou seja, Desenvolvimento para Reutilização; e (ii) o desenvolvimento incremental e sistemático de aplicações ubíquas, dirigidas por Sistemas Multi-Agentes Intencionais, com base na abordagem orientada à reutilização de software – ou seja, Desenvolvimento com Reutilização. Algumas contribuições do nosso trabalho são: (i) uma arquitetura orientada à reutilização de software e baseada nos conjuntos de apoio – i.e. blocos de construção principalmente compostos de modelos conceituais, frameworks, padrões e bibliotecas – obtidos a partir da Engenharia de Domínio das Aplicações Ubíquas; (ii) uma Engenharia de Aplicações Ubíquas orientada à reutilização de software visando o desenvolvimento incremental e sistemático de aplicações ubíquas com base nos blocos de construção propostos; (iii) um modelo de raciocínio focado em regras condicionais de lógica nebulosa e no modelo Crença-Desejo-Intenção para melhorar a capacidade cognitiva dos agentes; (iv) um mecanismo específico, baseado em agentes intencionais, para lidar com questões de privacidade, balanceando privacidade e personalização bem como transparência e invisibilidade; (v) um catálogo que graficamente apresenta os principais requisitos não-funcionais ubíquos, as interdependências entre eles e formas de se operacionalizá-los com base na combinação de tecnologias tradicionais e emergentes; (vi) ontologias para permitir a construção dinâmica de interfaces e melhorar a comunicação e inter-operabilidade dos agentes de software; e (vii) um modelo de banco de dados dinâmico para carregar e recuperar os perfis ubíquos (ex. perfis de usuário, dispositivo, rede e contrato), melhorando o gerenciamento de dados em tempo de execução. A abordagem proposta foi avaliada desenvolvendo diferentes aplicações ubíquas (ex. aplicações ubíquas de comércio eletrônico e de clínica odontológica). / [en] Ubiquitous applications are embedded in intelligent environments integrated into the physical world and composed of users with different preferences, heterogeneous devices and several content and service providers. Moreover, they focus on offering services and contents anywhere and at any time by assisting the users in their daily activities without disturbing them. Based on this idealized world, the anywhere and at any time paradigm poses some challenges for the Software Engineering community, such as: device heterogeneity, distributed environments, mobility, user satisfaction, content adaptability, context awareness, privacy, personalization, transparency, invisibility and constant evolution of technological trends. In order to deal with these new technological challenges, we propose a Reuse-Oriented Approach for Incremental and Systematic Development of Intentional Ubiquitous Applications. We have chosen two main goals that drive our research in this thesis: (i) the construction of reuse-oriented support sets based on an extensive investigation of ubiquitous applications and the Intentional-Multi-Agent Systems paradigm – i.e. Development for Reuse; and (ii) the incremental and systematic development of Intentional-Multi-Agent-Systems-driven ubiquitous applications based on the reuse-oriented approach – i.e. Development with Reuse. Some contributions of our work are: (i) a reuse-oriented architecture centered on support sets – i.e. building blocks mainly composed of conceptual models, frameworks, patterns and libraries – obtained from the Domain Engineering of Ubiquitous Applications; (ii) a reuse-oriented Ubiquitous Application Engineering for incremental and systematic development of intentional ubiquitous applications centered on the proposed building blocks; (iii) a reasoning engine focused on fuzzy conditional rules and the Belief-Desire-Intention model to improve the agents cognitive capacity; (iv) a specific mechanism based on intentional agents to deal with privacy issues by balancing privacy and personalization as well as transparency and invisibility; (v) a catalogue that graphically presents the main ubiquitous non-functionalrequirements, their interdependencies and ways to operationalize them based on the combination of traditional and emergent technologies; (vi) ontologies to allow the dynamic construction of interfaces and to improve the communication and inter-operability of software agents; and (vii) a dynamic database model to store and retrieve the ubiquitous profiles (e.g. user, device, network and contract profiles) by improving the data management on the fly. The proposed approach was evaluated by developing different ubiquitous applications (e.g. e-commerce and dental clinic ubiquitous applications).

Page generated in 0.0881 seconds