Utilitários

O ambiente de desenvolvimento utilizado por padrão (IDE) deverá ter suporte ao Maven, podendo ser principalmente Eclipse ou o Netbeans na sua última versão com no mínimo os plugins para o Maven e o Subversion - SVN.

Gerenciamento da Configuração

O código e a documentação produzida deverá ser armazenado no controle de versão Subversion - SVN.

Para cada versão liberada (release) do projeto deverá ser criada uma tag no Subversion - SVN no formato X.Y.Z onde X, Y, Z são números que indicam detalhes de cada versão conforme abaixo:
  • X é o número da versão principal e não evolui a não ser que a funcionalidade do sistema seja profundamente alterada ou comporte uma parte totalmente nova
  • Y é o número da versão menor que corresponde às evoluções menos importantes ou menores
  • Z é facultativo e designado para uma pequena evolução de ordem meramente técnica (geralmente correção de bugs).

Testes unitários



Os testes unitários serão desenvolvidos para cada método de serviço nas camadas de serviço e enterprise.
Para facilitar a implementação dos testes da camada de serviço deverá ser utilizado os Mock Tests e contextos de testes do Spring.
 

Os testes unitários deverão ser desenvolvidos para cada método de serviço de persistência na camada de persistência.
Para facilitar a implementação dos testes da camada de persistência deverá ser utilizado os Mock Tests e contextos de testes do Spring.
 

O desenvolvimento dos testes unitários deverá utilizar o framework JUnit. Para facilitar a implementação dos testes da camada cliente deverá ser utilizado os Mock Tests do Struts.
 

O conjunto de dados associado aos testes unitários deverá ser fornecido com um procedimento de instalação base. Nesta especificação, os parâmetros de conexão à base deverão ser facilmente modificáveis.

Todo teste unitário que realizar modificações sobre os dados deverá retornar os dados ao estado inicial ao final do teste. Para isto deverá ser utilizado o contexto transacional de testes (AbstractTransactionalSpringContextTests) do Spring.

public class ExampleDAOTest extends AbstractTransactionalSpringContextTests {

Um procedimento para lançar todos os testes unitários em cadeia (TestSuite) poderá ser fornecido para facilitar a execução dos testes.
 

Exemplo conjunto de testes

Exemplo testes da camada de persistência

Exemplo testes da camada de serviço

Exemplo testes da camada cliente