• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 87
  • 36
  • 8
  • 6
  • 6
  • 5
  • 3
  • 2
  • 2
  • 2
  • 1
  • 1
  • 1
  • 1
  • 1
  • Tagged with
  • 187
  • 99
  • 43
  • 38
  • 35
  • 35
  • 34
  • 32
  • 29
  • 27
  • 18
  • 17
  • 17
  • 16
  • 16
  • 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.
131

Uma abordagem para criação, reúso e aplicação de refatorações no contexto da modernização dirigida a arquitetura / An approach to create, reuse and apply refactoring in the context of architecture driven modernization

Durelli, Rafael Serapilha 12 April 2016 (has links)
A Modernização Dirigida a Arquitetura (do inglês - Architecture-Driven Modernization (ADM)) é uma iniciativa do Object Management Group (OMG) no sentido de padronizar os tradicionais processos de reengenharia de software utilizando metamodelos. O metamodelo mais importante da ADM é o Knowledge Discovery Metamodel (KDM), cujo objetivo é representar todos artefatos de um determinado sistema, de forma independente de linguagem e plataforma. Um passo primordial durante processos de modernização de software é a aplicação de refatorações. No entanto, até o presente momento, há carência de abordagens que tratam das questões referentes a refatorações no contexto da ADM, desde a criação até a aplicação das mesmas. Além disso, atualmente, não existe uma forma sistemática e controlada de facilitar o reúso de refatorações que são específicas do KDM. Diante disso, são apresentados uma abordagem para criação e disponibilização de refatorações para o metamodelo KDM e um apoio ferramental que permite aplicá-las em diagramas de classe da UML. A abordagem possui dois passos: (i) o primeiro envolve passos que apoiam o engenheiro de modernização durante a criação de refatorações para o KDM; (ii) o segundo resume-se na especificação das refatorações por meio da criação de instâncias do metamodelo Structured Refactoring Metamodel (SRM) e posterior disponibilização delas em um repositório. O apoio ferramental, denominado KDM-RE, é composto por três plug-ins do Eclipse: (i) o primeiro consiste em um conjunto de Wizards que apoia o engenheiro de software na aplicação das refatorações em diagramas de classe UML; (ii) o segundo consiste em um módulo de propagação de mudanças, permitindo manter modelos internos do KDM sincronizados; (iii) o terceiro fornece apoio à importação e reúso de refatorações disponíveis no repositório. Além disso, o terceiro módulo também contém uma linguagem específica de domínio, a qual é utilizada para auxiliar o engenheiro de software a instanciar o metamodelo SRM. Foi realizado um experimento, buscando reproduzir os cenários em que engenheiros de software realizam refatorações em instâncias do metamodelo KDM. Os resultados mostraram que a abordagem, bem como o apoio ferramental podem trazer benefícios para o engenheiro de software durante a atividade de aplicação de refatorações em sistemas, representados pelo metamodelo KDM. / Architecture Driven Modernization (ADM) is an initiative of the Object Management Group (OMG) whose main purpose is to provide standard metamodels that enable the conduction of modernization activities as reverse engineering and software transformation. In this context, the most important metamodel is the Knowledge Discovery Metamodel (KDM), whose objective is to represent software artifacts in a language- and platform-agnostic fashion. A fundamental step during software modernization is refactoring. However, there is a lack of approaches that address how refactoring can be applied in conjunction with ADM. In addition, few efforts have investigated how refactorings can be reused and systematically applied within the context of KDM representations. We propose an approach for creating and cataloging refactorings tailored to KDM. Our approach is twofold: (i) the first part comprises steps that help the software modernization engineer create KDM-compliant refactorings; (ii) the second part has to do with turning these refactoring descriptions into Structured Refactoring Metamodel (SRM) and making them available to be reused. To automate these activities, we developed a tool that makes it possible to apply refactorings to Unified Modeling Language (UML) class diagrams. Our tool, named KDM-RE, comprises three Eclipse plug-ins, which can be briefly described as follows: (i) a set of Wizards aimed at supporting the software modernization engineer during refactoring activities; (ii) a change propagation module that keeps the internal metamodels synchronized; and (iii) a plug-in that supports the selection and reuse of the refactorings available in the repository. Moreover, we developed a domain specific language to minimize the effort required to instantiate SRMs. We carried out an evaluation that simulates how software modernization engineers would go about refactoring KDM instances. Our results would seem to suggest that our approach, when automated by our tool, provides several advantages to software modernization engineers refactoring systems represented by KDMs.
132

Um novo processo para refatoração de bancos de dados. / A new process to database refactoring.

Domingues, Márcia Beatriz Pereira 15 May 2014 (has links)
O projeto e manutenção de bancos de dados é um importante desafio, tendo em vista as frequentes mudanças de requisitos solicitados pelos usuários. Para acompanhar essas mudanças o esquema do banco de dados deve passar por alterações estruturais que muitas vezes prejudicam o desempenho e o projeto das consultas, tais como: relacionamentos desnecessários, chaves primárias ou estrangeiras criadas fortemente acopladas ao domínio, atributos obsoletos e tipos de atributos inadequados. A literatura sobre Métodos Ágeis para desenvolvimento de software propõe o uso de refatorações para evolução do esquema do banco de dados quando há mudanças de requisitos. Uma refatoração é uma alteração simples que melhora o design, mas não altera a semântica do modelo de dados, nem adiciona novas funcionalidades. Esta Tese apresenta um novo processo para aplicar refatorações ao esquema do banco de dados. Este processo é definido por um conjunto de tarefas com o objetivo de executar as refatorações de uma forma controlada e segura, permitindo saber o impacto no desempenho do banco de dados para cada refatoração executada. A notação BPMN foi utilizada para representar e executar as tarefas do processo. Como estudo de caso foi utilizado um banco de dados relacional, o qual é usado por um sistema de informação para agricultura de precisão. Esse sistema, baseado na Web, necessita fazer grandes consultas para plotagem de gráficos com informações georreferenciadas. / The development and maintenance of a database is an important challenge, due to frequent changes and requirements from users. To follow these changes, the database schema suffers structural modifications that, many times, negatively affect its performance and the result of the queries, such as: unnecessary relationships, primary and foreign keys, created strongly attached to the domain, with obsolete attributes or inadequate types of attributes. The literature about Agile Methods for software development suggests the use of refactoring for the evolution of database schemas when there are requirement changes. A refactoring is a simple change that improves the design, but it does not alter the semantics of the data model neither adds new functionalities. This thesis aims at proposing a new process to apply many refactoring to the database schema. This process is defined by a set of refactoring tasks, which is executed in a controlled, secure and automatized form, aiming at improving the design of the schema and allowing the DBA to know exactly the impact on the performance of the database for each refactoring performed. A notation BPMN has been used to represent and execute the tasks of the workflow. As a case study, a relational database, which is used by an information system for precision agriculture was used. This system is web based, and needs to perform large consultations to transfer graphics with geo-referential information.
133

Qualidade de Produto de Software: uma abordagem baseada no controle da complexidade / Software product quality: an approach based on complexity control

Criscuolo, Marcelo 01 April 2008 (has links)
É rara a preocupação com a qualidade de implementação de software. Pode-se observar que as estruturas internas dos softwares são freqüentemente complexas e desorganizadas, especialmente no caso dos softwares que são ditos orientados a objetos. Essa complexidade afeta diretamente a manutenibilidade e a susceptibilidade a erros, dificultando a alteração e a adição de novas funcionalidades aos softwares. As próprias alterações, inerentes aos softwares, os tornam mais complexos, o que agrava o problema. Neste contexto, acredita-se que o controle da complexidade pode levar a produtos de software de melhor qualidade. Assim, trata-se neste trabalho da manutenção preventiva, implementada por meio de inspeções, refatorações e análise de métricas. São estudadas falhas de manutenibilidade em uma amostra de programas orientados a objetos e, a partir dos resultados, são propostos artefatos de apoio para um processo de inspeção de software e modelos para os produtos de trabalho gerados nesse processo. Propõe-se o uso da técnica de leitura PBR (Leitura Baseada em Perspectivas) como uma maneira de se melhorar a detecção de falhas de manutenibilidade. Finalmente, a proposta deste trabalho foi validada por meio de um estudo de caso / The commitment with the quality of software implemetation is rare. It\'s possible to observe that the software internal structures are frequently complex and disorganized, especially when talking about software that is said to be object-oriented. This complexity directly affects maintainability and error proneness, making it difficult to change and to add new functionalities to software. Changes themselves, that are inherent in software, make it more complex, and that makes the problem more serious. In this context, it\'s believed that the control of complexity can lead to better quality software products. Thus, the subject of this work is the preventive maintenance, implemented by means of inspections, refactoring and metric analysis. Maintenance flaws were studied in a sample of object-oriented programs and, based on the results, support artifacts for an inspection process were proposed, along with models of work products for this process. The use of PBR (Perspective-Based Reading) technique is proposed as a means of improving the detection of maintenance flaws. Finally, the proposal of this work is validated through a case study
134

Ustory-Refactory: ferramenta de refatoração de requisitos aplicada em cartões user stories (CRC Cards)

Minuzzi, Tiago da Silva 26 February 2007 (has links)
Made available in DSpace on 2015-03-05T13:58:27Z (GMT). No. of bitstreams: 0 Previous issue date: 26 / Nenhuma / O surgimento de novas metodologias ágeis para apoiar o desenvolvimento de sistemas, como a Extreme Programming (XP), vem causando impacto nas empresas de desenvolvimento de software, especialmente por sua flexibilidade nas mudanças de requisitos no decorrer do projeto. Assim, um melhor entendimento e representação estrutural dos requisitos tornam-se fundamental. Logo, esta pesquisa aplica o conceito das técnicas de refatoração de código dentro da Engenharia de Requisitos, que é focado na metodologia XP, por meios das User Stories. O trabalho aplica um conjunto de padrões e regras que permite aos requisitos expressos em cartões CRC serem refatorados através de pré e pós-condições, sendo que esses requisitos são descritos por mapas conceituais (MC) em formato OWL. Por sua vez, os MCs são convertidos em diagramas de classes da UML por meio da UML-MC que formaliza esta transformação. Dessa forma, o ambiente UStory-Refactory automatiza parcialmente o processo de refatoração e permite que os requisitos refatorados / The emergence of new agile methodologies to support systems development, as the Extreme Programming (XP), has been causing impact on software development companies, specially for its flexibility in the requirements changes during the project. Thus, a better understanding and structural representation of the requirements become basic. Then, this research applies the concept of the code refactoring techniques, inside of the Requirements Engineering, which is focused at XP methodology, through the User Stories. The work applies a set of standards and rules that allows the requirements expressed in CRC cards to be refactored through pre and post-conditions, and the requirements are described for conceptual maps (CMaps) in OWL format. In their turn, the CMaps are converted into UML classes diagrams by the UML-MC that formalizes this transformation. This way, the UStory-Refactory environment partially automatizes the refactoring process and allows the refactored requirements to be exported in OWL format, promoting
135

Um novo processo para refatoração de bancos de dados. / A new process to database refactoring.

Márcia Beatriz Pereira Domingues 15 May 2014 (has links)
O projeto e manutenção de bancos de dados é um importante desafio, tendo em vista as frequentes mudanças de requisitos solicitados pelos usuários. Para acompanhar essas mudanças o esquema do banco de dados deve passar por alterações estruturais que muitas vezes prejudicam o desempenho e o projeto das consultas, tais como: relacionamentos desnecessários, chaves primárias ou estrangeiras criadas fortemente acopladas ao domínio, atributos obsoletos e tipos de atributos inadequados. A literatura sobre Métodos Ágeis para desenvolvimento de software propõe o uso de refatorações para evolução do esquema do banco de dados quando há mudanças de requisitos. Uma refatoração é uma alteração simples que melhora o design, mas não altera a semântica do modelo de dados, nem adiciona novas funcionalidades. Esta Tese apresenta um novo processo para aplicar refatorações ao esquema do banco de dados. Este processo é definido por um conjunto de tarefas com o objetivo de executar as refatorações de uma forma controlada e segura, permitindo saber o impacto no desempenho do banco de dados para cada refatoração executada. A notação BPMN foi utilizada para representar e executar as tarefas do processo. Como estudo de caso foi utilizado um banco de dados relacional, o qual é usado por um sistema de informação para agricultura de precisão. Esse sistema, baseado na Web, necessita fazer grandes consultas para plotagem de gráficos com informações georreferenciadas. / The development and maintenance of a database is an important challenge, due to frequent changes and requirements from users. To follow these changes, the database schema suffers structural modifications that, many times, negatively affect its performance and the result of the queries, such as: unnecessary relationships, primary and foreign keys, created strongly attached to the domain, with obsolete attributes or inadequate types of attributes. The literature about Agile Methods for software development suggests the use of refactoring for the evolution of database schemas when there are requirement changes. A refactoring is a simple change that improves the design, but it does not alter the semantics of the data model neither adds new functionalities. This thesis aims at proposing a new process to apply many refactoring to the database schema. This process is defined by a set of refactoring tasks, which is executed in a controlled, secure and automatized form, aiming at improving the design of the schema and allowing the DBA to know exactly the impact on the performance of the database for each refactoring performed. A notation BPMN has been used to represent and execute the tasks of the workflow. As a case study, a relational database, which is used by an information system for precision agriculture was used. This system is web based, and needs to perform large consultations to transfer graphics with geo-referential information.
136

Refactoring-based Requirements Refinement Towards Design

Liu, WenQian 18 February 2010 (has links)
Building systems that satisfy the given requirements is a main goal of software engineering. The success of this process relies largely on the presence of an adequate architectural design. Traditional paradigms deal with requirements separately from design. Our empirical studies show that crossing the boundary between requirements and design is difficult, existing tools and methods for bridging the gap inadequate, and that software architects rely heavily on experience, prior solutions, and creativity. Current approaches in moving from requirements to design follow two schools. One is architecture-centric, focused on providing assistance to architects in reuse. The other is requirements-centric, and tends to extend established development frameworks and employ mappings to transition from requirements to architecture. Jackson indicates that clear understanding of requirements (the problem) is crucial to building useful systems, and that to evolve successfully, their design must reflect problem structure. Taylor et al. argue that design is the central activity in connecting requirements and architecture. Nonetheless, existing approaches either overlook underlying structure of requirements or design considerations. This dissertation presents a novel theory enabling requirements structuring and design analysis through requirements refinement and refactoring. The theory introduces a refinement process model operating on four abstraction levels, and a set of refactoring operators and algorithms. The method works in small, well-guided steps with visible progress. The theory provides a basis for designers to analyze and simplify requirement descriptions, remove redundancy, uncover dependencies, extract lower-level requirements, incorporate design concerns, and produce a system decomposition reflecting the underlying problem structure. A design built on top of this decomposition is better suited for evolution than one created without explicit structural analysis. The theory is validated on an industrial-sized project, wherein a suitable system decomposition is produced and a comparison made to a conventionally-devised solution. Examples demonstrate that the theory handles changes incrementally. It is explained how the theory addresses the existing challenges in going from requirements to design and supports fundamental software engineering principles. The method is assessed against common validation criteria. The approach is compared with prominent related work.
137

Refactoring-based Requirements Refinement Towards Design

Liu, WenQian 18 February 2010 (has links)
Building systems that satisfy the given requirements is a main goal of software engineering. The success of this process relies largely on the presence of an adequate architectural design. Traditional paradigms deal with requirements separately from design. Our empirical studies show that crossing the boundary between requirements and design is difficult, existing tools and methods for bridging the gap inadequate, and that software architects rely heavily on experience, prior solutions, and creativity. Current approaches in moving from requirements to design follow two schools. One is architecture-centric, focused on providing assistance to architects in reuse. The other is requirements-centric, and tends to extend established development frameworks and employ mappings to transition from requirements to architecture. Jackson indicates that clear understanding of requirements (the problem) is crucial to building useful systems, and that to evolve successfully, their design must reflect problem structure. Taylor et al. argue that design is the central activity in connecting requirements and architecture. Nonetheless, existing approaches either overlook underlying structure of requirements or design considerations. This dissertation presents a novel theory enabling requirements structuring and design analysis through requirements refinement and refactoring. The theory introduces a refinement process model operating on four abstraction levels, and a set of refactoring operators and algorithms. The method works in small, well-guided steps with visible progress. The theory provides a basis for designers to analyze and simplify requirement descriptions, remove redundancy, uncover dependencies, extract lower-level requirements, incorporate design concerns, and produce a system decomposition reflecting the underlying problem structure. A design built on top of this decomposition is better suited for evolution than one created without explicit structural analysis. The theory is validated on an industrial-sized project, wherein a suitable system decomposition is produced and a comparison made to a conventionally-devised solution. Examples demonstrate that the theory handles changes incrementally. It is explained how the theory addresses the existing challenges in going from requirements to design and supports fundamental software engineering principles. The method is assessed against common validation criteria. The approach is compared with prominent related work.
138

End-to-End Security of Information Flow in Web-based Applications

Singaravelu, Lenin 25 June 2007 (has links)
Web-based applications and services are increasingly being used in security-sensitive tasks. Current security protocols rely on two crucial assumptions to protect the confidentiality and integrity of information: First, they assume that end-point software used to handle security-sensitive information is free from vulnerabilities. Secondly, these protocols assume point-to-point communication between a client and a service provider. However, these assumptions do not hold true with large and complex vulnerable end point software such as the Internet browser or web services middleware or in web service compositions where there can be multiple value-adding service providers interposed between a client and the original service provider. To address the problem of large and complex end-point software, we present the AppCore approach which uses manual analysis of information flow, as opposed to purely automated approaches, to split existing software into two parts: a simplified trusted part that handles security-sensitive information and a legacy, untrusted part that handles non-sensitive information without access to sensitive information. Not only does this approach avoid many common and well-known vulnerabilities in the legacy software that compromised sensitive information, it also greatly reduces the size and complexity of the trusted code, thereby making exhaustive testing or formal analysis more feasible. We demonstrate the feasibility of the AppCore approach by constructing AppCores for two real-world applications: a client-side AppCore for https-based applications and an AppCore for web service platforms. Our evaluation shows that security improvements and complexity reductions (over a factor of five) can be attained with minimal modifications to existing software (a few tens of lines of code, and proxy settings of a browser) and an acceptable performance overhead (a few percent). To protect the communication of sensitive information between the clients and service providers in web service compositions, we present an end-to-end security framework called WS-FESec that provides end-to-end security properties even in the presence of misbehaving intermediate services. We show that WS-FESec is flexible enough to support the lattice model of secure information flow and it guarantees precise security properties for each component service at a modest cost of a few milliseconds per signature or encrypted field.
139

Reducing remodularization complexity through modular-objective decoupling

Chern, Rick 11 1900 (has links)
This dissertation defines "modular-objective coupling", and shows that programming language designs which imply reduced modular-objective coupling reduce complexity of remodularizations--behaviour-preserving restructurings for which the only intended goals are to change program source code structure. We explicitly distinguish between two points of view on program structure: modular structure--the structure of a program as a set of static text documents, and objective structure--the structure of a program as a dynamic computational model during execution. We define modular-objective coupling as the degree to which changes in modular structure imply changes to objective structure, for a given programming language. We use the term remodularization to refer to any behaviour-preserving source code restructuring, for which the only intended goal is to change modular structure. We argue that programming languages with strong modular-objective coupling introduce accidental complexity into remodularizations, by requiring complex objective structure changes to achieve intended modular structure changes. Our claim is that a programming language design which implies reduced modular-objective coupling reduces remodularization complexity in the language. To validate this claim, we first present SubjectJ, a subject-oriented programming system that extends Java. The design of Java implies strong modular-objective coupling, while SubjectJ is designed for reduced modular-objective coupling. We then perform a series of remodularization case studies comparing Java and SubjectJ. Our results suggest that remodularizations are less complex in SubjectJ.
140

Refactorings para mejorar procesos de negocio en aplicaciones web

Camelier Carvajal, Julia 16 December 2013 (has links)
El objetivo principal perseguido en esta tesis consiste en proponer un catálogo de refactorings para mejorar aspectos como usabilidad, eficiencia y eficacia de los procesos de negocio de las aplicaciones web. Mientras otras publicaciones identifican posibilidades de mejorías en los modelos de las aplicaciones web, esta tesis se focaliza en identificar problemas relacionados exclusivamente con la ejecución de los procesos de negocio y sugerir cambios para optimizar la experiencia del usuario mientras este navega por los procesos embebidos en las aplicaciones. / With time, web applications changed and evolved from simple websites to complex applications that allow users to perform a wide variety of tasks and operations online. All this progress is possible due to the fact that, nowadays, web applications support Business Processes. The integration of business processes and the associated increase in complexity of web applications generally lead to underestimate its usability which affects directly the users who have to execute these business processes daily. Focused in improve the execution and the usability of business processes, a catalog of refactorings was created with suggestions of changes classified by the affected web application model. The proposed refactorings aim to improve the user experience while executing these business processes embeded in most of web application and consequently its usability.

Page generated in 0.498 seconds