Skip to content
rodrigoy edited this page Sep 13, 2010 · 4 revisions

Treinamento Domain-Driven Design da Aspercom!

Se você chegou até aqui é porque já conseguiu uma barra verde na sua IDE rodando a CadastrarQuartosTest.java. Parabéns!

Nesta página você terá alguns detalhes de como funciona a arquitetura do projeto, lembrando que esta arquitetura é bastante simples. Usamos JPA, JUnit4 e Guice. Os exercícios serão orientados a testes (TDD), porém, serão na sua maioria testes de integração para facilitar aos alunos que não conhecem essa técnica (teremos o nosso treinamento TDD ainda neste ano de 2010, não se desespere!)

Sobre o Guice, uma classe fundamental é o TestModule.java que é responsável por injetar Façades, Repositórios e etc… Como a maioria dos testes são de integração, um outro artefato importante, e que vocês vão usar bastante é o script de carga do banco (import.sql).

Para o bom entendimento dessa arquitetura e ter fluência para o bom andamento do treinamento você deverá cumprir uma pequena atividade prática em casa. Cumpra os procedimentos de instalação do README e veja o exercício a seguir.

A idéia dessa atividade inicial é você implementar uma funcionalidade simples como o exemplo dado no CadastrarQuartosTest.java. Para isso siga o caso de uso abaixo e implemente baseado no CadastrarHospedeTest.java. Faça os testes passarem um a um até ter uma barra verde do JUnit. Para cumprir essa tarefa, veja que estou te dando de brinde o repositório TodosQuartosImpl.java. Preste atenção nas asserções do teste e altere a carga do import.sql quando necessário.

Caso de Uso: Cadastrar Hóspede (Ator: Recepcionista)

Fluxo Básico

  • O Ator inicia o caso de uso informando parte do nome do hóspede
  • O Sistema exibe uma lista de hóspedes que atendem a busca
  • O Ator seleciona um hóspede [A1]
  • O Sistema exibe os dados do hóspede para edição (crie somente estes Nome completo, Data de Nascimento, Nacionalidade)
  • O Ator altera o hóspede e manda salvar
  • O Sistema salva o hospede, caso de uso encerrado

A1 – Inclusão

  • O Ator informa que deseja incluir um novo hóspede
  • O Sistema solicita os dados do novo hospede
  • O Ator informa os dados do novo hóspede e manda salvar
  • O Sistema salva, caso de uso encerrado.