Integração da abordagem Domain-Driven Design e de técnica Behaviour-Driven Development no desenvolvimento de aplicações web
Abstract
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.
Collections
Related items
Showing items related by title, author, creator and subject.
-
MME-MDD : um método para manutenção e evolução de sistemas baseados no MDD
Arndt, Bruno Felipe (Universidade Federal de São Carlos, UFSCar, Programa de Pós-Graduação em Ciência da Computação - PPGCC, Câmpus São Carlos, 08/03/2016)Model-Driven Development (MDD) is proposed to reduce the semantic gap between problem and solution/implementation domains. Some tools are used, and the code generator is commonly used in this context. These generators ... -
Checagem de conformidade arquitetural na modernização orientada a arquitetura
Chagas, Fernando Bezerra (Universidade Federal de São Carlos, UFSCar, Programa de Pós-Graduação em Ciência da Computação - PPGCC, Câmpus São Carlos, 03/03/2016)Architecture-Driven Modernization (ADM) is a model-based initiative for standardizing reengineering processes. Its most important meta-model is KDM (Knowledge Discovery Metamodel), which is a platform and language-independent ... -
Desenvolvimento de aplicações usando composição de serviços dirigida pelo usuário
Guido, Alex Roberto (Universidade Federal de São Carlos, UFSCar, Programa de Pós-Graduação em Ciência da Computação - PPGCC, Câmpus São Carlos, 14/09/2016)One of the Software Engineering challenges is the development of applications that can adapt to the heterogeneous needs of users. Technical Dynamic Composition of Services Driven by User is a solution for developing ...