HIBERNATE ,JDBC, Metodologia Agil

3 respostas
sfidencio

Olá pessoal, estou com a seguinte dúvida.

1. Estou planejando o desenvolvimento de um sistema comercial que será composto inicialmente de controle de estoques, compra venda no balcão e no PDV.  A aplicação principal será baseado na WEB, usando JSF 1.2 com extensão para RichFaces da JBOSS. e o PDV em Swing..por questão de portabilidade..para rodar no linux e windows..,e tambem pq o PDV em WEB não homologa mais pelo PAF..deve ser desktop.

   2. Estou pretendendo usar Hibernate mas, algumas pessoas dizem que hibernate cabe mais em projeto pequeno.que não possui querys muito complexas..., ou querys recursivas.., eu pensei não  esse lado, mas pensei também a questão de portar o banco de dados.. alguem teria um exemplo de uma aplicação multi banco usando somente T-SQL, ou melhor, a API JDBC..? 


  3. Usar DAO Generico não complica mais ainda....a granularizando todos metódos CRUD..., e dentre outros que dependem de transações...em uma  classe? ou os Srs. acoselhariam criar um DAO para cada Bean?

  4. Seria correto inserir a regra de negocio..dentro do pacote controller..ou o certo seria coloca- dentro da camada MODEL..em um sub-pacote COMMAND..por exemplo..?

 5. To pretendendo usar a metodologia AGIL..XP., que prega a criação de Unit TEst's para cada Método..criado, não seria muito trabalho...fazer tudo isso? ou seria a maneira correta tentar manter um padrão de qualidade a cada release liberado para Cliente dentro do Ciclo de vida..?

6. Qual seria a sequência ideal para iniciar um projeto ágil., onde não existe tanta documentação.   Analise de requisitos, Criar um diagrama de caso de uso das principais requisitos funcionais, ou um DFD.., dai vem MER.., em seguida..a construção do Dominio das classes de negocio?

Atenciosamente,
Sebastião Fidêncio da S. Pereira.
Estudante :roll:

3 Respostas

sfidencio

poxa alguem pode me ajudar?

sergiotaborda

sfidencio:
Olá pessoal, estou com a seguinte dúvida.

1. Estou planejando o desenvolvimento de um sistema comercial que será composto inicialmente de controle de estoques, compra venda no balcão e no PDV.  A aplicação principal será baseado na WEB, usando JSF 1.2 com extensão para RichFaces da JBOSS. e o PDV em Swing..por questão de portabilidade..para rodar no linux e windows..,e tambem pq o PDV em WEB não homologa mais pelo PAF..deve ser desktop.

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.

sfidencio

Brigadão…VLW

Criado 20 de novembro de 2009
Ultima resposta 23 de nov. de 2009
Respostas 3
Participantes 2