• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 5
  • Tagged with
  • 5
  • 5
  • 5
  • 5
  • 4
  • 4
  • 4
  • 3
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 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

GRENJ: um framework obtido por um processo iterativo de reengenharia aplicando TDD

Durelli, Vinícius Humberto Serapilha 21 May 2008 (has links)
Made available in DSpace on 2016-06-02T19:05:36Z (GMT). No. of bitstreams: 1 1977.pdf: 7827443 bytes, checksum: b7d5ce8bc5bb133ce610c499fdd47f85 (MD5) Previous issue date: 2008-05-21 / Financiadora de Estudos e Projetos / Software systems must satisfy the users requeriments and use current technologies. Thus, these systems are in constant evolution and several software maintenance tasks are carried out in order to adapt them to the user s requirements as well as to the current technologies. When there is a change in the technology used by these systems, an approach to their revitalization is reengineering, which is classified as a preventive maintenance. This research project presents the iterative process applied during the reengineering of the GREN framework, which is built based on the GRN pattern language. The GREN framework was originally implemented in Smalltalk, a very spread programming language, mainly within the academic community. In the proposed reengineering process the JavaTMlanguage and AspectJ, which is an aspect-oriented JavaTMextension, were used during the framework implementation resulting from the reengineering process. This new framework is called GRENJ. The proposed process can be used to reengineer systems developed with OO paradigm, in order to change its implementation language to another OO language. That process is iterative, incremental, and applies reverse engineering patterns, test-driven development and refactoring. The GRENJ framework has approximately twenty-eight thousand source code lines, of which approximately ten thousand are related to tests created during the development. The GRENJ framework documentation was generated using the javadoc tool. A hypothetical system that satisfies the basics requirements of a rental video store was instantiated using the GRENJ framework. / Os sistemas de software devem atender aos requisitos dos usuários utilizar as tecnologias atuais. Dessa forma, esses sistemas permanecem em constante evolução e passam por várias atividades de manutenção a fim de se adequar tanto às necessidades dos usuários quanto às tecnologias. Quando há mudança de tecnologia, uma das formas de revitalizar esses sistemas é com a aplicação de reengenharia, classificada como manutenção preventiva. Este projeto de pesquisa apresenta o processo iterativo usado durante a realização da reengenharia do framework caixa-branca GREN (Gerenciamento de REcursos de Negócios), construído com base na linguagem de padrões GRN (Gerenciamento de Recursos de Negócios). O framework GREN foi implementado originalmente em Smalltalk, linguagem de programação muito difundida, principalmente, na comunidade acadêmica. No processo de reengenharia proposto, as linguagem JavaTMe AspectJ, extensão da linguagem JavaTMpara programação orientada a aspectos, foram utilizadas para implementação da nova versão do framework, denominada GRENJ (Gerenciamento de REcursos de Negócios em JavaTM). O processo de reengenharia proposto pode ser utilizado na reengenharia de outros sistemas desenvolvidos com o paradigma OO, em que a mudança de linguagem de programação é desejada, pois é iterativo, incremental, utiliza padrões de engenharia reversa, desenvolvimento guiado por testes (Test-Driven Development, TDD) e refatoração. O framework GRENJ tem aproximadamente vinte e oito mil linhas de código fonte, das quais pouco mais de dez mil estão relacionadas aos testes criados durante o desenvolvimento. A documentação desse framework foi produzida utilizando a ferramenta javadoc. Um sistema hipotético que atende aos requisitos básicos de uma locadora de DVDs foi instanciado usando o GRENJ.
2

Rehearsal: Um arcabouço para teste automatizado de coreografias de serviços web / Rehearsal: A framework for automated testing of web service choreographies

Besson, Felipe Meneses 14 September 2012 (has links)
Servicos web sao componentes de software fracamente acoplados projetados para promover a comunicacao interoperavel entre aplicacoes na Internet. O acesso a servicos web da-se de maneira padronizada (via protocolos definidos pelo W3C), independente da linguagem de programacao, sistema operacional ou plataforma em que sao desenvolvidos. Devido a essas caracteristicas, servicos simples podem ser combinados em servicos mais completos. Coreografia consiste em uma abordagem descentralizada para a composicao de servicos. Diferentemente de orquestracoes, abordagem na qual servicos distribuidos sao coordenados de modo centralizado, a interacao entre os servicos de uma coreografia e colaborativa e a coordenacao descentralizada. Apesar das vantagens, o desenvolvimento de coreografias, incluindo as atividades de testes, nao e algo consolidado. O objetivo desta dissertacao foi desenvolver uma arcabouco de teste que facilite o uso de Desenvolvimento Guiado por Testes (Test-Driven Development, TDD) em coreografias de servicos web. Rehearsal, o arcabouco proposto, fornece funcionalidades para o teste automatizado de (i) servicos web atomicos (teste de unidade); (ii) composicao de servicos (teste de integracao) e (iii) uma parte ou toda a coreografia (teste de aceitacao). Esses testes podem ser implementados utilizando funcionalidades do arcabouco, tais como a criacao dinamica de clientes para servicos web, o interceptador de mensagens e a abstracao da coreografia em objetos Java. Alem disso, Rehearsal facilita a criacao e uso de Mocks de servicos web, uma importante pratica de TDD. Além de avaliar o arcabouco desenvolvido, um estudo ex- ploratorio qualitativo foi conduzido com estudantes de Ciencia da Computacao. De acordo com os resultados obtidos, as funcionalidades do Rehearsal mostraram-se adequadas para a utilizacao de TDD em coreografias de servicos web. / Web services are loosely-coupled software components designed to support interoperable machine- to-machine interaction over the Internet. To achieve such interoperability, web services are accesible through W3C web standards, independently of which language, operating system, or hardware platform they are developed. Due to these characteristics, simple web services can be combined in more complex ones. Choreographies are a distributed approach for composing web services. Compared to orchestrations, which have a centralized approach to distributed service management, the interaction among the choreographed services is collaborative with decentralized coordination. Despite the advantages, choreography development, including the testing activities, is not consolidated. The goal of this research is to develop a testing framework to support Test-Driven Development (TDD) of choreographies. Rehearsal, the proposed framework, provides features for automating the testing of (i) atomic web services (unit testing); (ii) their integration in the choreography (integration testing); and (iii) part of or the entire choreography (acceptance testing). These several levels of testing are implemented by using framework features such as the dynamic generation of web service clients, message interception, and the abstraction of the choreography into Java objects. In addition, Rehearsal supports important practices of TDD such as service mocking. To assess the developed framework, we conducted a qualitative exploratory study with Computer Science students. According to the results obtained, the features of Rehearsal were adequate for applying TDD to web service choreography development successfully.
3

Como a prática de TDD influencia o projeto de classes em sistemas orientados a objetos / How the practice of TDD influences the class design on object-oriented systems

Aniche, Mauricio Finavaro 25 April 2012 (has links)
Desenvolvimento Guiado por Testes (TDD) e uma das praticas sugeridas na Programacao Extrema. A mecanica da pratica e simples: o programador escreve o teste antes de escrever o codigo. E, portanto, possivel inferir que a pratica de TDD e uma pratica de testes de software. Entretanto, muitos autores de livros conhecidos pela industria e academia afirmam que os efeitos da pratica vao alem. Segundo eles, TDD ajuda o desenvolvedor durante o processo de criacao do projeto classes, fazendo-os criar classes menos acopladas e mais coesas. Entretanto, grande parte dos trabalhos da literatura sao voltados a descobrir se a pratica faz diferenca na qualidade do codigo gerado, mas poucos sao os autores que discutem como a pratica realmente auxilia. Mesmo os proprios praticantes nao entendem ou conseguem expressar bem como a pratica os guia. Este trabalho tem por objetivo compreender melhor os efeitos de TDD e como sua pratica influencia o desenvolvedor durante o processo de projeto de sistemas orientados a objetos. Para entende-las, neste trabalho optamos por um estudo exploratorio essencialmente qualitativo, no qual participantes foram convidados a resolver exercicios pre-preparados utilizando TDD e, a partir dos dados colhidos nessa primeira parte, nos levantamos detalhes sobre como a pratica influenciou as decisoes de projeto de classes dos participantes por meio de entrevistas. Ao final, observamos que a pratica de TDD pode guiar o desenvolvedor durante o processo de criacao do projeto de classes por meio de constantes feedbacks sobre a qualidade do projeto. Esses feedbacks alertam desenvolvedores sobre possiveis problemas, como alto acoplamento ou baixa coesao. Os desenvolvedores, por sua vez, devem interpretar e melhorar o projeto de classes. Este trabalho catalogou e nomeou os padroes de feedback percebidos pelos participantes. / Test-Driven Development (TDD) is one of the suggested practices in Extreme Programming (XP). The mechanical is simple: the developer writes a test before writing the implementation. Thus, TDD is often seen as a software testing technique. However, many famous book authors suggest that TDD can help developers during the class design creation process, enabling developers to create less coupled highly cohesive classes. Most of the academic studies are interested on finding the difference between a TDDd and a non-TDDd code. Only a few of them discuss how the practice really supports class design. Even practitioners do not understand how the practice guides them. This work aims to understand better the effects of TDD and how the practice influences the practitioner during the class design process in object-oriented systems. To better understand them, we did a essencially qualitative explorative study, in which participants were invited to solve a set of pre-prepared exercises using TDD and, based on the gathered data, we retrieved details of how the practice influenced the developers class design decisions through interviews. At the end, we observed that the practice of TDD can guide developers during the class design creation process through constant feedback about its quality. These feedbacks alert developers about possible problems, such as high coupling or low cohesion. Developers then should interpret and improve the class design accordingly. This study also catalogues the TDD feedback patterns perceived by the participants.
4

Rehearsal: Um arcabouço para teste automatizado de coreografias de serviços web / Rehearsal: A framework for automated testing of web service choreographies

Felipe Meneses Besson 14 September 2012 (has links)
Servicos web sao componentes de software fracamente acoplados projetados para promover a comunicacao interoperavel entre aplicacoes na Internet. O acesso a servicos web da-se de maneira padronizada (via protocolos definidos pelo W3C), independente da linguagem de programacao, sistema operacional ou plataforma em que sao desenvolvidos. Devido a essas caracteristicas, servicos simples podem ser combinados em servicos mais completos. Coreografia consiste em uma abordagem descentralizada para a composicao de servicos. Diferentemente de orquestracoes, abordagem na qual servicos distribuidos sao coordenados de modo centralizado, a interacao entre os servicos de uma coreografia e colaborativa e a coordenacao descentralizada. Apesar das vantagens, o desenvolvimento de coreografias, incluindo as atividades de testes, nao e algo consolidado. O objetivo desta dissertacao foi desenvolver uma arcabouco de teste que facilite o uso de Desenvolvimento Guiado por Testes (Test-Driven Development, TDD) em coreografias de servicos web. Rehearsal, o arcabouco proposto, fornece funcionalidades para o teste automatizado de (i) servicos web atomicos (teste de unidade); (ii) composicao de servicos (teste de integracao) e (iii) uma parte ou toda a coreografia (teste de aceitacao). Esses testes podem ser implementados utilizando funcionalidades do arcabouco, tais como a criacao dinamica de clientes para servicos web, o interceptador de mensagens e a abstracao da coreografia em objetos Java. Alem disso, Rehearsal facilita a criacao e uso de Mocks de servicos web, uma importante pratica de TDD. Além de avaliar o arcabouco desenvolvido, um estudo ex- ploratorio qualitativo foi conduzido com estudantes de Ciencia da Computacao. De acordo com os resultados obtidos, as funcionalidades do Rehearsal mostraram-se adequadas para a utilizacao de TDD em coreografias de servicos web. / Web services are loosely-coupled software components designed to support interoperable machine- to-machine interaction over the Internet. To achieve such interoperability, web services are accesible through W3C web standards, independently of which language, operating system, or hardware platform they are developed. Due to these characteristics, simple web services can be combined in more complex ones. Choreographies are a distributed approach for composing web services. Compared to orchestrations, which have a centralized approach to distributed service management, the interaction among the choreographed services is collaborative with decentralized coordination. Despite the advantages, choreography development, including the testing activities, is not consolidated. The goal of this research is to develop a testing framework to support Test-Driven Development (TDD) of choreographies. Rehearsal, the proposed framework, provides features for automating the testing of (i) atomic web services (unit testing); (ii) their integration in the choreography (integration testing); and (iii) part of or the entire choreography (acceptance testing). These several levels of testing are implemented by using framework features such as the dynamic generation of web service clients, message interception, and the abstraction of the choreography into Java objects. In addition, Rehearsal supports important practices of TDD such as service mocking. To assess the developed framework, we conducted a qualitative exploratory study with Computer Science students. According to the results obtained, the features of Rehearsal were adequate for applying TDD to web service choreography development successfully.
5

Como a prática de TDD influencia o projeto de classes em sistemas orientados a objetos / How the practice of TDD influences the class design on object-oriented systems

Mauricio Finavaro Aniche 25 April 2012 (has links)
Desenvolvimento Guiado por Testes (TDD) e uma das praticas sugeridas na Programacao Extrema. A mecanica da pratica e simples: o programador escreve o teste antes de escrever o codigo. E, portanto, possivel inferir que a pratica de TDD e uma pratica de testes de software. Entretanto, muitos autores de livros conhecidos pela industria e academia afirmam que os efeitos da pratica vao alem. Segundo eles, TDD ajuda o desenvolvedor durante o processo de criacao do projeto classes, fazendo-os criar classes menos acopladas e mais coesas. Entretanto, grande parte dos trabalhos da literatura sao voltados a descobrir se a pratica faz diferenca na qualidade do codigo gerado, mas poucos sao os autores que discutem como a pratica realmente auxilia. Mesmo os proprios praticantes nao entendem ou conseguem expressar bem como a pratica os guia. Este trabalho tem por objetivo compreender melhor os efeitos de TDD e como sua pratica influencia o desenvolvedor durante o processo de projeto de sistemas orientados a objetos. Para entende-las, neste trabalho optamos por um estudo exploratorio essencialmente qualitativo, no qual participantes foram convidados a resolver exercicios pre-preparados utilizando TDD e, a partir dos dados colhidos nessa primeira parte, nos levantamos detalhes sobre como a pratica influenciou as decisoes de projeto de classes dos participantes por meio de entrevistas. Ao final, observamos que a pratica de TDD pode guiar o desenvolvedor durante o processo de criacao do projeto de classes por meio de constantes feedbacks sobre a qualidade do projeto. Esses feedbacks alertam desenvolvedores sobre possiveis problemas, como alto acoplamento ou baixa coesao. Os desenvolvedores, por sua vez, devem interpretar e melhorar o projeto de classes. Este trabalho catalogou e nomeou os padroes de feedback percebidos pelos participantes. / Test-Driven Development (TDD) is one of the suggested practices in Extreme Programming (XP). The mechanical is simple: the developer writes a test before writing the implementation. Thus, TDD is often seen as a software testing technique. However, many famous book authors suggest that TDD can help developers during the class design creation process, enabling developers to create less coupled highly cohesive classes. Most of the academic studies are interested on finding the difference between a TDDd and a non-TDDd code. Only a few of them discuss how the practice really supports class design. Even practitioners do not understand how the practice guides them. This work aims to understand better the effects of TDD and how the practice influences the practitioner during the class design process in object-oriented systems. To better understand them, we did a essencially qualitative explorative study, in which participants were invited to solve a set of pre-prepared exercises using TDD and, based on the gathered data, we retrieved details of how the practice influenced the developers class design decisions through interviews. At the end, we observed that the practice of TDD can guide developers during the class design creation process through constant feedback about its quality. These feedbacks alert developers about possible problems, such as high coupling or low cohesion. Developers then should interpret and improve the class design accordingly. This study also catalogues the TDD feedback patterns perceived by the participants.

Page generated in 0.1205 seconds