Integração da abordagem Domain-Driven Design e de técnica Behaviour-Driven Development no desenvolvimento de aplicações web
Ano de defesa: | 2015 |
---|---|
Autor(a) principal: | |
Orientador(a): | |
Banca de defesa: | |
Tipo de documento: | Dissertação |
Tipo de acesso: | Acesso aberto |
Idioma: | por |
Instituição de defesa: |
Universidade Federal de São Carlos
Câmpus São Carlos |
Programa de Pós-Graduação: |
Programa de Pós-Graduação em Ciência da Computação - PPGCC
|
Departamento: |
Não Informado pela instituição
|
País: |
Não Informado pela instituição
|
Palavras-chave em Português: | |
Palavras-chave em Inglês: | |
Área do conhecimento CNPq: | |
Link de acesso: | https://repositorio.ufscar.br/handle/ufscar/7588 |
Resumo: | 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. |
id |
SCAR_bc4d3b9df54c594a3e83a00146e1a797 |
---|---|
oai_identifier_str |
oai:repositorio.ufscar.br:ufscar/7588 |
network_acronym_str |
SCAR |
network_name_str |
Repositório Institucional da UFSCAR |
repository_id_str |
|
spelling |
Santos, Eloisa Cristina SilvaBeder, Delano Medeiroshttp://lattes.cnpq.br/5845245549777383http://lattes.cnpq.br/97082664855631597f1f9746-19a8-4a32-8ed2-f94d3786b30a2016-09-30T18:05:54Z2016-09-30T18:05:54Z2015-06-01SANTOS, Eloisa Cristina Silva. Integração da abordagem Domain-Driven Design e de técnica Behaviour-Driven Development no desenvolvimento de aplicações web. 2015. Dissertação (Mestrado em Ciência da Computação) – Universidade Federal de São Carlos, São Carlos, 2015. Disponível em: https://repositorio.ufscar.br/handle/ufscar/7588.https://repositorio.ufscar.br/handle/ufscar/7588The 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.Conselho Nacional de Desenvolvimento Científico e Tecnológico (CNPq)porUniversidade Federal de São CarlosCâmpus São CarlosPrograma de Pós-Graduação em Ciência da Computação - PPGCCUFSCarEngenharia de softwareMétodos ágeisComputação ubíquaAgile methodsDomain-Driven Design (DDD)Test-Driven Development (TDD)Behaviour-Driven Development (BDD)Domain modelUbiquitous languageCIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::SISTEMAS DE COMPUTACAOCIENCIAS EXATAS E DA TERRAIntegração da abordagem Domain-Driven Design e de técnica Behaviour-Driven Development no desenvolvimento de aplicações webinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisOnline6006000ee4f4b9-a6a8-41aa-a851-05ebcf9af051info:eu-repo/semantics/openAccessreponame:Repositório Institucional da UFSCARinstname:Universidade Federal de São Carlos (UFSCAR)instacron:UFSCARORIGINALDissECSS.pdfDissECSS.pdfapplication/pdf2536269https://repositorio.ufscar.br/bitstream/ufscar/7588/1/DissECSS.pdfa856f5027d19c2aaadf2834a69af7ff4MD51LICENSElicense.txtlicense.txttext/plain; charset=utf-81957https://repositorio.ufscar.br/bitstream/ufscar/7588/2/license.txtae0398b6f8b235e40ad82cba6c50031dMD52TEXTDissECSS.pdf.txtDissECSS.pdf.txtExtracted texttext/plain170649https://repositorio.ufscar.br/bitstream/ufscar/7588/3/DissECSS.pdf.txt3398ab79d11aaf3f1800d05d91eaa93bMD53THUMBNAILDissECSS.pdf.jpgDissECSS.pdf.jpgIM Thumbnailimage/jpeg10319https://repositorio.ufscar.br/bitstream/ufscar/7588/4/DissECSS.pdf.jpg31d42c4f4de5d78d7f1428e999c80341MD54ufscar/75882023-09-18 18:30:53.152oai:repositorio.ufscar.br:ufscar/7588TElDRU7Dh0EgREUgRElTVFJJQlVJw4fDg08gTsODTy1FWENMVVNJVkEKCkNvbSBhIGFwcmVzZW50YcOnw6NvIGRlc3RhIGxpY2Vuw6dhLCB2b2PDqiAobyBhdXRvciAoZXMpIG91IG8gdGl0dWxhciBkb3MgZGlyZWl0b3MgZGUgYXV0b3IpIGNvbmNlZGUgw6AgVW5pdmVyc2lkYWRlCkZlZGVyYWwgZGUgU8OjbyBDYXJsb3MgbyBkaXJlaXRvIG7Do28tZXhjbHVzaXZvIGRlIHJlcHJvZHV6aXIsICB0cmFkdXppciAoY29uZm9ybWUgZGVmaW5pZG8gYWJhaXhvKSwgZS9vdQpkaXN0cmlidWlyIGEgc3VhIHRlc2Ugb3UgZGlzc2VydGHDp8OjbyAoaW5jbHVpbmRvIG8gcmVzdW1vKSBwb3IgdG9kbyBvIG11bmRvIG5vIGZvcm1hdG8gaW1wcmVzc28gZSBlbGV0csO0bmljbyBlCmVtIHF1YWxxdWVyIG1laW8sIGluY2x1aW5kbyBvcyBmb3JtYXRvcyDDoXVkaW8gb3UgdsOtZGVvLgoKVm9jw6ogY29uY29yZGEgcXVlIGEgVUZTQ2FyIHBvZGUsIHNlbSBhbHRlcmFyIG8gY29udGXDumRvLCB0cmFuc3BvciBhIHN1YSB0ZXNlIG91IGRpc3NlcnRhw6fDo28KcGFyYSBxdWFscXVlciBtZWlvIG91IGZvcm1hdG8gcGFyYSBmaW5zIGRlIHByZXNlcnZhw6fDo28uCgpWb2PDqiB0YW1iw6ltIGNvbmNvcmRhIHF1ZSBhIFVGU0NhciBwb2RlIG1hbnRlciBtYWlzIGRlIHVtYSBjw7NwaWEgYSBzdWEgdGVzZSBvdQpkaXNzZXJ0YcOnw6NvIHBhcmEgZmlucyBkZSBzZWd1cmFuw6dhLCBiYWNrLXVwIGUgcHJlc2VydmHDp8Ojby4KClZvY8OqIGRlY2xhcmEgcXVlIGEgc3VhIHRlc2Ugb3UgZGlzc2VydGHDp8OjbyDDqSBvcmlnaW5hbCBlIHF1ZSB2b2PDqiB0ZW0gbyBwb2RlciBkZSBjb25jZWRlciBvcyBkaXJlaXRvcyBjb250aWRvcwpuZXN0YSBsaWNlbsOnYS4gVm9jw6ogdGFtYsOpbSBkZWNsYXJhIHF1ZSBvIGRlcMOzc2l0byBkYSBzdWEgdGVzZSBvdSBkaXNzZXJ0YcOnw6NvIG7Do28sIHF1ZSBzZWphIGRlIHNldQpjb25oZWNpbWVudG8sIGluZnJpbmdlIGRpcmVpdG9zIGF1dG9yYWlzIGRlIG5pbmd1w6ltLgoKQ2FzbyBhIHN1YSB0ZXNlIG91IGRpc3NlcnRhw6fDo28gY29udGVuaGEgbWF0ZXJpYWwgcXVlIHZvY8OqIG7Do28gcG9zc3VpIGEgdGl0dWxhcmlkYWRlIGRvcyBkaXJlaXRvcyBhdXRvcmFpcywgdm9jw6oKZGVjbGFyYSBxdWUgb2J0ZXZlIGEgcGVybWlzc8OjbyBpcnJlc3RyaXRhIGRvIGRldGVudG9yIGRvcyBkaXJlaXRvcyBhdXRvcmFpcyBwYXJhIGNvbmNlZGVyIMOgIFVGU0NhcgpvcyBkaXJlaXRvcyBhcHJlc2VudGFkb3MgbmVzdGEgbGljZW7Dp2EsIGUgcXVlIGVzc2UgbWF0ZXJpYWwgZGUgcHJvcHJpZWRhZGUgZGUgdGVyY2Vpcm9zIGVzdMOhIGNsYXJhbWVudGUKaWRlbnRpZmljYWRvIGUgcmVjb25oZWNpZG8gbm8gdGV4dG8gb3Ugbm8gY29udGXDumRvIGRhIHRlc2Ugb3UgZGlzc2VydGHDp8OjbyBvcmEgZGVwb3NpdGFkYS4KCkNBU08gQSBURVNFIE9VIERJU1NFUlRBw4fDg08gT1JBIERFUE9TSVRBREEgVEVOSEEgU0lETyBSRVNVTFRBRE8gREUgVU0gUEFUUk9Dw41OSU8gT1UKQVBPSU8gREUgVU1BIEFHw4pOQ0lBIERFIEZPTUVOVE8gT1UgT1VUUk8gT1JHQU5JU01PIFFVRSBOw4NPIFNFSkEgQSBVRlNDYXIsClZPQ8OKIERFQ0xBUkEgUVVFIFJFU1BFSVRPVSBUT0RPUyBFIFFVQUlTUVVFUiBESVJFSVRPUyBERSBSRVZJU8ODTyBDT01PClRBTULDiU0gQVMgREVNQUlTIE9CUklHQcOHw5VFUyBFWElHSURBUyBQT1IgQ09OVFJBVE8gT1UgQUNPUkRPLgoKQSBVRlNDYXIgc2UgY29tcHJvbWV0ZSBhIGlkZW50aWZpY2FyIGNsYXJhbWVudGUgbyBzZXUgbm9tZSAocykgb3UgbyhzKSBub21lKHMpIGRvKHMpCmRldGVudG9yKGVzKSBkb3MgZGlyZWl0b3MgYXV0b3JhaXMgZGEgdGVzZSBvdSBkaXNzZXJ0YcOnw6NvLCBlIG7Do28gZmFyw6EgcXVhbHF1ZXIgYWx0ZXJhw6fDo28sIGFsw6ltIGRhcXVlbGFzCmNvbmNlZGlkYXMgcG9yIGVzdGEgbGljZW7Dp2EuCg==Repositório InstitucionalPUBhttps://repositorio.ufscar.br/oai/requestopendoar:43222023-09-18T18:30:53Repositório Institucional da UFSCAR - Universidade Federal de São Carlos (UFSCAR)false |
dc.title.por.fl_str_mv |
Integração da abordagem Domain-Driven Design e de técnica Behaviour-Driven Development no desenvolvimento de aplicações web |
title |
Integração da abordagem Domain-Driven Design e de técnica Behaviour-Driven Development no desenvolvimento de aplicações web |
spellingShingle |
Integração da abordagem Domain-Driven Design e de técnica Behaviour-Driven Development no desenvolvimento de aplicações web Santos, Eloisa Cristina Silva Engenharia de software Métodos ágeis Computação ubíqua Agile methods Domain-Driven Design (DDD) Test-Driven Development (TDD) Behaviour-Driven Development (BDD) Domain model Ubiquitous language CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::SISTEMAS DE COMPUTACAO CIENCIAS EXATAS E DA TERRA |
title_short |
Integração da abordagem Domain-Driven Design e de técnica Behaviour-Driven Development no desenvolvimento de aplicações web |
title_full |
Integração da abordagem Domain-Driven Design e de técnica Behaviour-Driven Development no desenvolvimento de aplicações web |
title_fullStr |
Integração da abordagem Domain-Driven Design e de técnica Behaviour-Driven Development no desenvolvimento de aplicações web |
title_full_unstemmed |
Integração da abordagem Domain-Driven Design e de técnica Behaviour-Driven Development no desenvolvimento de aplicações web |
title_sort |
Integração da abordagem Domain-Driven Design e de técnica Behaviour-Driven Development no desenvolvimento de aplicações web |
author |
Santos, Eloisa Cristina Silva |
author_facet |
Santos, Eloisa Cristina Silva |
author_role |
author |
dc.contributor.authorlattes.por.fl_str_mv |
http://lattes.cnpq.br/9708266485563159 |
dc.contributor.author.fl_str_mv |
Santos, Eloisa Cristina Silva |
dc.contributor.advisor1.fl_str_mv |
Beder, Delano Medeiros |
dc.contributor.advisor1Lattes.fl_str_mv |
http://lattes.cnpq.br/5845245549777383 |
dc.contributor.authorID.fl_str_mv |
7f1f9746-19a8-4a32-8ed2-f94d3786b30a |
contributor_str_mv |
Beder, Delano Medeiros |
dc.subject.por.fl_str_mv |
Engenharia de software Métodos ágeis Computação ubíqua |
topic |
Engenharia de software Métodos ágeis Computação ubíqua Agile methods Domain-Driven Design (DDD) Test-Driven Development (TDD) Behaviour-Driven Development (BDD) Domain model Ubiquitous language CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::SISTEMAS DE COMPUTACAO CIENCIAS EXATAS E DA TERRA |
dc.subject.eng.fl_str_mv |
Agile methods Domain-Driven Design (DDD) Test-Driven Development (TDD) Behaviour-Driven Development (BDD) Domain model Ubiquitous language |
dc.subject.cnpq.fl_str_mv |
CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::SISTEMAS DE COMPUTACAO CIENCIAS EXATAS E DA TERRA |
description |
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. |
publishDate |
2015 |
dc.date.issued.fl_str_mv |
2015-06-01 |
dc.date.accessioned.fl_str_mv |
2016-09-30T18:05:54Z |
dc.date.available.fl_str_mv |
2016-09-30T18:05:54Z |
dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
dc.type.driver.fl_str_mv |
info:eu-repo/semantics/masterThesis |
format |
masterThesis |
status_str |
publishedVersion |
dc.identifier.citation.fl_str_mv |
SANTOS, Eloisa Cristina Silva. Integração da abordagem Domain-Driven Design e de técnica Behaviour-Driven Development no desenvolvimento de aplicações web. 2015. Dissertação (Mestrado em Ciência da Computação) – Universidade Federal de São Carlos, São Carlos, 2015. Disponível em: https://repositorio.ufscar.br/handle/ufscar/7588. |
dc.identifier.uri.fl_str_mv |
https://repositorio.ufscar.br/handle/ufscar/7588 |
identifier_str_mv |
SANTOS, Eloisa Cristina Silva. Integração da abordagem Domain-Driven Design e de técnica Behaviour-Driven Development no desenvolvimento de aplicações web. 2015. Dissertação (Mestrado em Ciência da Computação) – Universidade Federal de São Carlos, São Carlos, 2015. Disponível em: https://repositorio.ufscar.br/handle/ufscar/7588. |
url |
https://repositorio.ufscar.br/handle/ufscar/7588 |
dc.language.iso.fl_str_mv |
por |
language |
por |
dc.relation.confidence.fl_str_mv |
600 600 |
dc.relation.authority.fl_str_mv |
0ee4f4b9-a6a8-41aa-a851-05ebcf9af051 |
dc.rights.driver.fl_str_mv |
info:eu-repo/semantics/openAccess |
eu_rights_str_mv |
openAccess |
dc.publisher.none.fl_str_mv |
Universidade Federal de São Carlos Câmpus São Carlos |
dc.publisher.program.fl_str_mv |
Programa de Pós-Graduação em Ciência da Computação - PPGCC |
dc.publisher.initials.fl_str_mv |
UFSCar |
publisher.none.fl_str_mv |
Universidade Federal de São Carlos Câmpus São Carlos |
dc.source.none.fl_str_mv |
reponame:Repositório Institucional da UFSCAR instname:Universidade Federal de São Carlos (UFSCAR) instacron:UFSCAR |
instname_str |
Universidade Federal de São Carlos (UFSCAR) |
instacron_str |
UFSCAR |
institution |
UFSCAR |
reponame_str |
Repositório Institucional da UFSCAR |
collection |
Repositório Institucional da UFSCAR |
bitstream.url.fl_str_mv |
https://repositorio.ufscar.br/bitstream/ufscar/7588/1/DissECSS.pdf https://repositorio.ufscar.br/bitstream/ufscar/7588/2/license.txt https://repositorio.ufscar.br/bitstream/ufscar/7588/3/DissECSS.pdf.txt https://repositorio.ufscar.br/bitstream/ufscar/7588/4/DissECSS.pdf.jpg |
bitstream.checksum.fl_str_mv |
a856f5027d19c2aaadf2834a69af7ff4 ae0398b6f8b235e40ad82cba6c50031d 3398ab79d11aaf3f1800d05d91eaa93b 31d42c4f4de5d78d7f1428e999c80341 |
bitstream.checksumAlgorithm.fl_str_mv |
MD5 MD5 MD5 MD5 |
repository.name.fl_str_mv |
Repositório Institucional da UFSCAR - Universidade Federal de São Carlos (UFSCAR) |
repository.mail.fl_str_mv |
|
_version_ |
1813715894370566144 |