Submitted by Alison Vanceto (alison-vanceto@hotmail.com) on 2016-09-30T12:23:06Z
No. of bitstreams: 1
DissECSS.pdf: 2536269 bytes, checksum: a856f5027d19c2aaadf2834a69af7ff4 (MD5) / Approved for entry into archive by Ronildo Prado (ronisp@ufscar.br) on 2016-09-30T17:56:23Z (GMT) No. of bitstreams: 1
DissECSS.pdf: 2536269 bytes, checksum: a856f5027d19c2aaadf2834a69af7ff4 (MD5) / Approved for entry into archive by Ronildo Prado (ronisp@ufscar.br) on 2016-09-30T17:56:32Z (GMT) No. of bitstreams: 1
DissECSS.pdf: 2536269 bytes, checksum: a856f5027d19c2aaadf2834a69af7ff4 (MD5) / Made available in DSpace on 2016-09-30T18:05:54Z (GMT). No. of bitstreams: 1
DissECSS.pdf: 2536269 bytes, checksum: a856f5027d19c2aaadf2834a69af7ff4 (MD5)
Previous issue date: 2015-06-01 / Conselho Nacional de Desenvolvimento Científico e Tecnológico (CNPq) / The agile methods of software development have emerged as an alternative to
traditional approaches, to spend less time on documentation and more time with solving
problems interactively and iteratively. In this context, the development approach Domain
Driven Design (DDD) is a way of developing software in which the application design
process is guided by a domain model. In conjunction with the DDD development
approach, the existence of tests during the implementation of an application is required to
ensure quality. Objective: This work aims to study the agile development approach
Domain-Driven Design (DDD) and the software test techniques Test-Driven Development
(TDD) and Behaviour-Driven Development (BDD). A case study was built to exemplify the
integration of each test technique with DDD. The case study was developed with the
support of the Apache Isis framework, from a well-defined domain model. Methodology:
Based on the literature, the concepts of the DDD development approach and of the TDD
and BDD test techniques, that provided the comparison between the techniques, and
later, the implementation to illustrate this research, were extracted. The Apache Isis
framework was used in this work because it allows develop DDD applications quickly.
During the development of the sample system of this work, the possibility of creating an
automatic generator tests and scenarios for BDD was noted. Results: A case study was
created using the concepts of DDD and tests, with TDD and BDD. Furthermore, a
prototype of tests and scenarios generator for software projects that use DDD, through
the Apache Isis framework and tests using BDD, was developed. Conclusions: The
combination of test techniques mentioned with DDD aim to boosting the development of
applications, since DDD is not associate with any test technique. Writing scenarios with
ubiquitous language is a great advantage to integrate DDD and BDD, because it allows a
clear understanding for all involved in the project. Moreover, the creation of automatic
generator speeds up the testing phase, and can detect errors that might go unnoticed or
only be found as the project evolved. / Os métodos ágeis de desenvolvimento de software surgiram como uma
alternativa às abordagens tradicionais, com o intuito de despender menos tempo com
documentação e mais com a resolução de problemas de forma interativa e iterativa.
Neste contexto, a abordagem de desenvolvimento Domain-Driven Design (DDD)
representa uma forma de desenvolver software em que o processo de design de uma
aplicação é guiado pelo modelo de domínio. Em conjunto com a abordagem de
desenvolvimento DDD, a existência de testes durante a implementação de uma
aplicação é necessária para garantir a qualidade. Objetivo: Este trabalho teve como
objetivo o estudo da abordagem ágil de desenvolvimento Domain-Driven Design (DDD) e
as técnicas de teste de software Test-Driven Development (TDD) e Behaviour-Driven
Development (BDD). Um estudo de caso foi construído para exemplificar a integração de
cada técnica de teste com o DDD. O estudo de caso foi desenvolvido por meio do
framework Apache Isis, a partir de um modelo de domínio bem definido. Metodologia:
Com base na literatura foram extraídos os conceitos da abordagem de desenvolvimento
DDD e das técnicas de testes TDD e BDD que proporcionaram a comparação entre as
técnicas e posterior implementação para exemplificar a pesquisa. O framework Apache
Isis foi utilizado neste trabalho porque permite desenvolver aplicações com DDD de
forma rápida. No decorrer do desenvolvimento do sistema exemplo deste trabalho,
notou-se a possibilidade da criação de um gerador automático de testes e cenários para
BDD. Resultados: Foi criado um estudo de caso empregando os conceitos de DDD e
testes com o TDD e com o BDD. Além disso, foi desenvolvido um protótipo de gerador
de testes e cenários para projetos de software que empregam DDD, por meio do
framework Apache Isis e testes utilizando BDD. Conclusões: A junção das técnicas de
testes citadas com o DDD visa potencializar o desenvolvimento de aplicações, uma vez
que o DDD não aborda nenhuma técnica de teste. A escrita de cenários em linguagem
ubíqua é um grande diferencial ao integrar DDD e BDD, pois permite um claro
entendimento a todos os envolvidos do projeto. Ademais, a criação do gerador
automático agiliza a fase de testes, sendo possível detectar erros que poderiam não ser
notados ou apenas serem encontrados com a evolução do projeto.
Identifer | oai:union.ndltd.org:IBICT/oai:repositorio.ufscar.br:ufscar/7588 |
Date | 01 June 2015 |
Creators | Santos, Eloisa Cristina Silva |
Contributors | Beder, Delano Medeiros |
Publisher | Universidade Federal de São Carlos, Câmpus São Carlos, Programa de Pós-graduação em Ciência da Computação, UFSCar |
Source Sets | IBICT Brazilian ETDs |
Language | Portuguese |
Detected Language | English |
Type | info:eu-repo/semantics/publishedVersion, info:eu-repo/semantics/masterThesis |
Source | reponame:Repositório Institucional da UFSCAR, instname:Universidade Federal de São Carlos, instacron:UFSCAR |
Rights | info:eu-repo/semantics/openAccess |
Page generated in 0.0021 seconds