• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 36
  • 11
  • Tagged with
  • 47
  • 47
  • 47
  • 45
  • 13
  • 13
  • 12
  • 10
  • 10
  • 9
  • 7
  • 7
  • 7
  • 6
  • 6
  • 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.
41

[en] TO COLLABORATE OR NOT TO COLLABORATE?: IMPROVING THE IDENTIFICATION OF CODE SMELLS / [pt] COLABORAR OU NÃO COLABORAR?: MELHORANDO A IDENTIFICAÇÃO DE ANOMALIAS DE CÓDIGO

ROBERTO FELICIO DE OLIVEIRA 17 January 2018 (has links)
[pt] Anomalias de código são estruturas anômalas de código que podem indicar problemas de manutenção. A identificação de anomalias é necessária para revelar elementos de código mal estruturados, tais como classes e métodos. Porém, a identificação individual de anomalias, realizada por um único desenvolvedor, pode ser ineficaz. Estudos reportam limitações da identificação individual de anomalias. Por exemplo, a identificação de anomalias requer uma compreensão profunda de múltiplos elementos de um programa, e cada elemento é melhor entendido por um desenvolvedor diferente. Logo, um desenvolvedor isolado frequentemente tem dificuldades para encontrar, confirmar e refutar uma suspeita de anomalia. Identificação colaborativa de anomalias, que é realizada em conjunto por dois ou mais colaboradores, tem o potencial para resolver esse problema. Porém, há pouca evidência empírica sobre a eficácia da identificação colaborativa de anomalias. Nesta tese, nós conduzimos estudos empíricos para entender a eficácia da identificação individual e colaborativa de anomalias. Computamos e comparamos a eficácia de colaboradores e desenvolvedores isolados com base no número de anomalias identificadas corretamente. Conduzimos tais estudos em empresas e laboratórios de pesquisa, totalizando 67 desenvolvedores, incluindo desenvolvedores novatos e experientes. Também definimos alguns fatores de influência sobre a eficácia da identificação colaborativa de anomalias, tais como a granularidade da anomalia. Revelamos e caracterizamos algumas atividades colaborativas que melhoram a eficácia dos desenvolvedores na identificação de anomalias. Finalmente, identificamos oportunidades para melhorar certas atividades colaborativas. Nossos resultados sugerem que colaboradores são significativamente mais eficazes que desenvolvedores isolados, tanto desevolvedores novatos quanto experientes. Concluímos que colaborar é vantajoso para melhorar a identificação de uma vasta gama de tipos de anomalia. / [en] Code smells are anomalous code structures which often indicate maintenance problems in software systems. The identification of code smells is required to reveal code elements, such as classes and methods, that are poorly structured. Some examples of code smell types perceived as critical by developers include God Classes and Feature Envy. However, the individual smell identification, which is performed by a single developer, may be ineffective. Several studies have reported limitations of individual smell identification. For instance, the smell identification usually requires an indepth understanding of multiple elements scattered in a program, and each of these elements is better understood by a different developer. As a consequence, a single developer often struggles and to find to confirm or refute a code smell suspect. Collaborative smell identification, which is performed together by two or more collaborators, has the potential to address this problem. However, there is little empirical evidence on the effectiveness of collaborative smell identification. In this thesis, we addressed the aforementioned limitations as follows. First, we conducted empirical studies aimed at understanding the effectiveness of both collaborative and individual smell identification. We computed and compared the effectiveness of collaborators and single developers based on the number of correctly identified code smells. We conducted these studies in both industry’s companies and research laboratories with 67 developers, including novice and professional developers. Second, we defined some influential factors on the effectiveness of collaborative smell identification, such as the smell granularity. Third, we revealed and characterized some collaborative activities which improve the developers effectiveness for identifying code smells. Fourth, we also characterized opportunities for further improving the effectiveness of certain collaborative activities. Our results suggest that collaborators are more effective than single developers in: (i) both professional and academic settings, and (ii) identifying a wide range of code smell types.
42

[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).
43

[en] SEMANTIC WEB INTEROPERABILITY: ONE STRATEGY FOR THE TAXONOMIC ONTOLOGY ALIGNMENT / [pt] INTEROPERABILIDADE SEMÂNTICA NA WEB: UMA ESTRATÉGIA PARA O ALINHAMENTO TAXONÔMICO DE ONTOLOGIAS

CAROLINA HOWARD FELICISSIMO 07 January 2005 (has links)
[pt] Com a evolução da Web atual para a Web Semântica, acredita- se que as informações disponíveis estarão estruturadas de forma a permitir o processamento automático de seu conteúdo por máquinas. Além do processamento individual, deseja-se uma melhor troca de informações entre aplicações Web. Para estes propósitos, são necessários mecanismos que garantam a interoperabilidade semântica, i.e., identificação e compatibilidade de informações. Neste sentido, ontologias são utilizadas como um recurso para disponibilizar um vocabulário estruturado e livre de ambigüidades. Ontologias fornecem um padrão bem definido para a estruturação da informação e promovem um formalismo passível de processamento automático. Neste trabalho, propomos uma estratégia para interoperabilidade de ontologias. O Componente para Alinhamento Taxonômico de Ontologias - CATO, resultado da implementação desta estratégia proposta, alinha automaticamente as taxonomias de ontologias comparadas. O alinhamento realizado é obtido em três etapas executadas seqüencialmente. A primeira etapa compara lexicalmente os conceitos das ontologias entradas e usa um mecanismo de poda estrutural dos conceitos associados como condição de parada. A segunda etapa compara estruturalmente as hierarquias das ontologias identificando as similaridades entre suas sub-árvores comuns. A terceira etapa refina os resultados da etapa anterior classificando os conceitos identificados como similares em bem similares ou pouco similares, de acordo com um percentual de similaridade prédefinido. / [en] With the Web evolving towards a Semantic Web, it is believed that the available information will be presented in a meaningful way to allow machines to automatically process its content. Besides the individual processing, a better information exchange among Web applications is desired. For this purpose, mechanisms are called for guarantee the semantic interoperability, that is, the identification and compatibility of information. In this direction, ontologies are used as one resource to make available a structured vocabulary, free of ambiguities. Ontologies provide a well-defined standard to structure the information and to promote formalism for automatic processing. In this work, we propose one strategy for ontology interoperability. The Ontology Taxonomic Alignment Component - CATO, which is the result of the implementation of this proposed strategy, provides an automatic taxonomic ontologies alignment. In this way, the alignment is obtained by a three-step process. The first step is the lexical comparison between the concepts from the entries ontologies. It uses a trimming mechanism of the related associated concepts as a stop condition. The second step is the structural comparison of the ontologies structures used to identify the similarities between common sub-trees. The third step refines the results of the previous step, classifying the similar identified concepts as very similar or little similar, according to a pre-defined similarity measurement.
44

[en] A FRAMEWORK FOR SOFTWARE ENGINEERING PROCESS REPRESENTATION AND ANALYSIS / [pt] UM FRAMEWORK PARA A REPRESENTAÇÃO E ANÁLISE DE PROCESSOS DE SOFTWARE

LEANDRO RIBEIRO DAFLON 16 August 2004 (has links)
[pt] Diversas organizações buscam por padrões e guias de trabalho para atingir um processo de desenvolvimento maduro. Entretanto, mudanças e evoluções no negócio e na tecnologia implicam constantemente em mudanças e evoluções no processo. Esta dissertação propõe um framework que permite as organizações definirem e analisarem seus processos de desenvolvimento de software no contexto da organização ou projeto. Dessa forma, integração, alteração e evoluções do processo são facilitadas. A definição de um processo está baseada no conceito de Unidades de Processo. As Unidades de Processo representam blocos de construção utilizados na elaboração de novos modelos de processo, podendo utilizar partes de modelos de processos existentes ou não. A análise do processo é baseada em normas de qualidade ou modelos de maturidade, como SW-CMM, CMMI, ISO 12207. / [en] Many organizations search for standards and guidance to achieve a mature process. However, change and evolution of business and technology imply constant change and evolution of development processes. In this dissertation we propose a framework that offers an infrastructure allowing organizations to define and analyze software engineering process at organization level or project level. Besides that, it facilitates integration, change and process evolution. The definition of a process is based on a concept Process Units. These represent building blocks for tailoring integrated development processes, by reusing or not parts of existing process models. The process analysis is based on quality standards or maturity models, such as SW-CMM, CMMI, ISO 12207.
45

[en] PEOPLE RECOMMENDATION IN SOCIAL NETWORKS BASED IN USER CONNECTIONS / [pt] RECOMENDAÇÃO DE PESSOAS EM REDES SOCIAIS COM BASE EM CONEXÕES ENTRE USUÁRIOS

07 March 2014 (has links)
[pt] Os sites de redes sociais ganharam importância nos últimos anos. Neles, seus usuários podem se conectar com outros usuários para interagir entre si. Porém, geralmente o número de usuários cadastrados é muito grande e, por isso, encontrar outros usuários afins para se conectar não é fácil. Sistemas de recomendação são ferramentas de software que provem sugestões de diversos tipos de itens para usuários e podem ser aplicados para recomendar pessoas (outros usuários) em redes sociais. Sistemas que recomendam pessoas utilizam técnicas específicas e, devido às implicações sociais envolvidas nas relações pessoais, devem levar alguns fatores em consideração. A ausência de dados confiáveis torna a tarefa de gerar recomendações úteis mais difícil. Este trabalho discute o assunto e apresenta um sistema de recomendação de pessoas para sites de redes sociais com base em conexões entre usuários. Para testar o sistema apresentado, realizamos um experimento com o Peladeiro, um site real de uma rede social que conta com mais de 500 mil usuários, onde poucos dados estão disponíveis para serem utilizados. / [en] Social networking websites have gained importance in recent years. In them, users can connect with other users to interact with. However, generally, the number of registered users is very large. Therefore, find other users with common interests is not easy. Recommender systems are software tools which generate suggestions for various types of items to users and can be applied to recommend people (other users) on social networks. Systems that recommend people use specific techniques and, due to the social implications involved in personal relationships, must take several factors into consideration. The lack of data available makes the task of generate good recommendations more difficult. This paper discusses the theme and presents a person recommendation system for social networking websites based in user connections. To test the system presented, we conducted an experiment with Peladeiro, a real website of a social network that has over 500 000 users, where few reliable data are available.
46

[en] A CLOUD COMPUTING PLATFORM FOR STORING GEOREFERENCED MOBILITY DATA / [pt] UMA PLATAFORMA NA NUVEM PARA ARMAZENAMENTO DE DADOS GEORREFERENCIADOS DE MOBILIDADE URBANA

RAFAEL BARBOSA NASSER 15 December 2016 (has links)
[pt] A qualidade de vida nos grandes centros urbanos tem sido motivo de preocupação para governantes, empresários e para a população residente em geral. Os serviços de transporte público coletivo exercem papel central nessa discussão, uma vez que determinam, sobretudo para aquela camada da sociedade de menor poder aquisitivo, o tempo desperdiçado diariamente em seus deslocamentos. Nas metrópoles brasileiras, os ônibus municipais são predominantes no transporte coletivo. Os usuários deste serviço – passageiros – não dispõem de informações atualizadas sobre os ônibus e linhas de ônibus em operação. Oferecer essa natureza de informação contribui para uma melhor experiência de uso diário deste modal e, consequentemente, proporciona maior qualidade de vida aos seus usuários. Em uma visão mais abrangente, os ônibus podem ser considerados sensores que viabilizam a compreensão dos padrões e identificação de anomalias no tráfego de veículos nas áreas urbanas, possibilitando galgar benefícios para toda população. O presente trabalho apresenta uma plataforma na nuvem que captura, enriquece, armazena e disponibiliza os dados dos dispositivos de GPS instalados nos ônibus, permitindo a extração de conhecimento a partir deste valioso e volumoso conjunto de informações. Experimentos são realizados com os ônibus do Município do Rio de Janeiro, com aplicações focadas no passageiro e na sociedade. As metodologias, discussões e técnicas empregadas ao longo do trabalho poderão ser reutilizados para diferentes cidades, modais e perspectivas. / [en] The quality of life in urban centers has been a concern for governments, business and the resident population in general. Public transportation services perform a central role in this discussion, since they determine, especially for that layer of lower-income society, the time wasted daily in their movements. In Brazilian cities, city buses are predominant in public transportion. Users of this service - passengers - do not have updated information of buses and lines. Offer this kind of information contributes to a better everyday experience of this modal and therefore provides greater quality of life for its users. In a broader view, the bus can be considered sensors that enable the understanding of the patterns and identify anomalies in vehicle traffic in urban areas, allowing benefits for the whole population. This work presents a platform in the cloud computing environment that captures, enriches, stores and makes available the data from GPS devices installed on buses, allowing the extraction of knowledge from this valuable and voluminous set of information. Experiments are performed with the buses of the Municipality of Rio de Janeiro, with applications focused on passenger and society. The methodologies, discussions and techniques used throughout the work can be reused for different cities, modal and perspectives.
47

[en] AUTOMATIC GENERATION OF EXAMPLES OF USE FROM THE TEXTUAL DESCRIPTION OF USE CASES / [pt] GERAÇÃO AUTOMÁTICA DE EXEMPLOS DE USO A PARTIR DA DESCRIÇÃO TEXTUAL DE CASOS DE USO

FERNANDO ALBERTO CORREIA DOS SANTOS JUNIOR 28 July 2017 (has links)
[pt] Esta dissertação apresenta uma solução que permite a geração automática de exemplos de uso a partir da descrição textual de casos de uso. Os casos de uso descrevem especificações em um nível de formalização suficiente para a geração dos exemplos. Um exemplo gerado é um texto em linguagem natural que é o resultado da paráfrase de um possível comportamento do software, extraído de um caso de uso e aplicado a um contexto real, em que atores são convertidos em personagens fictícios e os atributos são valorados de acordo com as regras de negócios especificadas no caso de uso. O formato proposto para a construção de exemplos tem como objetivo permitir que clientes possam ler, entender e julgar se o comportamento que está sendo proposto é o desejado. Com isso é esperado que o próprio cliente possa validar as especificações e que, quando defeitos forem encontrados, a especificação possa logo ser corrigida e refletida de volta nos exemplos. Ao mesmo tempo a especificação formalizada na forma de um caso de uso auxiliará desenvolvedores a criar soluções mais próximas do correto por construção, quando comparado com especificações textuais convencionais. / [en] This master s dissertation presents a solution for the automatic generation of examples of use from the textual description of use cases. Use cases describe specifications in a sufficiently formal way that is enough to automatically generate usage examples. A generated example is a text in a natural language which is the paraphrase of one possible manner to use the software, extracted from the use case and applied to a real context where actors are converted into fictitious personas and attributes are valued according to the business rules specified in the use case. The proposed format to present the example aims to allow clients to read, to understand and to judge whether the expressed behavior is in fact what he wants. With this approach, it is expected that the customer himself can approve the specifications and when defects are found, so the specification can quickly be corrected and reflected in the examples. At the same time, the formalized specification in the form of a use case will help developers create solutions that are by construction closer to the correct one when compared to conventional textual specifications.

Page generated in 0.0478 seconds