Olá pessoal,
Estou com a oportunidade de começar um novo projeto e gostaria de usar as melhores práticas possíveis em termos de desenvolvimento orientado a objetos. Isso durante todo o ciclo de vida, não apenas do ponto de vista de programação. Já uso de forma desconectada ferramentas como:
- ArgoUML ou Jude (documentação UML - principalmente diagrama de classes)
- Hibernate ou JDO ou EJB Entity Beans para mapeamento objeto-relacional, pois todos os bancos que uso são relacionais.
- Java para programação Swing/Web/Celular/etc.
Agora, a minha idéia no novo projeto seria (se possível apenas com ferramentas freeware e/ou opensource):
- Usar uma ferramenta CASE que pudesse documentar o Diagrama de Classes, marcar as classes persistentes, gerar automaticamente o script SQL do BD relacional destas classes e também gerar os arquivos de mapeamento objeto-relacional (por ex., para o Hibernate ou EJB).
Se pudesse fazer engenharia reversa de um BD relacional já existente para classes persistentes no diagrama também seria legal, devido a poder existir alguns BDs legados. - Nesta mesma CASE, gerar os esqueletos das classes Java transientes.
- Pudesse criar estereótipos para as classes transientes que ficarão, por exemplo, na Web, as que ficarão no celular e as que serão EJBs Session ou Message-Driven.
Eu não achei nas ferramentas existentes, nem no pago Rational, algo abrangente assim. Será que realmente não existe? Neste caso, muitas das coisas que eu citei acima nós temos que fazer “na unha” mesmo???
Se eu achasse pelo menos um CASE que modelasse o Diagrama de Classe mas ficasse bem integrado com BDs relacionais (tanto geração de SQL quanto engenharia reversa), já seria bem útil.
Agradeço desde já a atenção,