A aplicação foi desenvolvida em Java 8.
Para representar datas e calcular períodos, foi utilizada a nova API de datas da linguagem.
Os tipos de transferência estão em um enum, que recebe em seu construtor a regra de cálculo. Assim, cada vez que um novo tipo for criado, a respectiva regra também deverá ser criada.
Foram criados testes de unidade para cada tipo de transferência. Para os testes foram utilizados os frameworks Mockito e JUnit.