Swing ok. JSF cuidado. Ainda é muito imatura e pode impedir vc de fazer certas coisas. Opte por um framework action based leve ou por spring.
Hibernate é melhor solução se vc não quer ter trabalho. implementar algo semelhante do zero é trabalhoso.
Use repositorios e esqueça o DAO. O repositorio é um para cada bean porque cada bean tem logicas de pesquisa proprias.
Na realidade é um para cada agregado (entidade sem pais).
Esta camada é importantissima para independencia de banco de dados. Mesmo usando Hibernate.
Não existe pacote controller nem camada model.
Regras de negocio ficam nos objetos de negocio : entidades, serviços e validadores.
Todos estes ficam no andar de negocio , mas a nomenclatura dos pacotes não tem nada a haver com isto.
Nomeie os pacotes pela responsabilidade das classes dentro deles.
Vc não entendeu corretamente. Estude melhor esse assunto. XP pregra a criação de testes unitários que devem ser escritos antes de escrever o miolo das classes a testar. Não se existe o teste unitário do métodos (aliás isso não existe) mas sim da classe. Mas importante que testes unitários são os testes de integração.
não é verdade que em ágil não existe documentação. Cuidado com isso. Acontece que a documentação é diferente. Lá porque não se usa muito o word, não significa que não se documenta. codigo bem escrito, javadoc bem escrito e até os testes são documentação.
Analise de requisitos não é um documento é uma ação. Vc precisa levantar , analizar e entender os requisitos dos sistema.
UML , MER, analise, Casos de Uso, é tudo válido se vc precisar. Mas apenas se , e quando, vc precisar.
A sequencia agil é: faça uma lista com as features que vc quer no sistema. estime o esforço de cada uma. priorize a lista (mais importantes primeiro). Implemente um conjunto de features por periodo. Apenas essas features nesse periodo. remova-as da lista uma vez completas. re-priorize a lista. repita.
Em cada periodo de implementação vc executa todos os passos comuns : analise, implementação , teste. Vc cria as classes que precisa e apenas essas. A cada periodo essas classes vão sendo alteradas, novas vão aparecer e algumas vão desaparecer.