| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/01/2008 14:47:14
|
ASOBrasil
JavaEvangelist
![[Avatar]](/images/avatar/ac3870fcad1cfc367825cda0101eee62.jpg)
Membro desde: 25/06/2005 20:57:30
Mensagens: 402
Localização: São Paulo
Offline
|
Para o pessoal que trabalha com desenvolvimento ágil...
Basicamente nos modelos de desenvolvimento ágil o sistema vai sendo elaborado, desenvolvido e entregue por etapas conforme a necessidade do cliente (me corrijam se eu estiver errado). Deve haver refatoração constante no sistema para que esse não vire um remendo só (isso em qualquer sistema, é claro!). Minha dúvida é: como fica a parte do banco de dados, sendo que esse não é tão fácil ser alterado, principalmente por causa das constraints e dos próprios dados em si! Exemplo: entreguei uma parte do sistema para o cliente e depois de algumas iterações descubro que por causa de uma funcionalidade tenho que fazer uma alteração no modelo, então vou ter que criar um script para "arrumar" esses dados! Isso não acaba ocorrendo com certa freqüência, já que não planejei meu modelo da dados desde o início do projeto?
|
Java Examples || Useful links for web developer |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/01/2008 15:54:35
|
Rubem Azenha
GUJ Master
![[Avatar]](/images/avatar/cb953f6ca5923f7517125db46ed1293d.jpg)
Membro desde: 28/06/2004 00:10:43
Mensagens: 1933
Localização: São Paulo, SP
Offline
|
As mudanças no banco de dados que devem ser efetuadas são simplesmente... efetuadas
Normalmente as DMLs são versionadas e a cada "entrega" provavelmente passam uma baseline nelas.
Se por acaso uma coluna sumir ou algo assim, provavelmente a alteração vira acompanhada de um plano de migração (e um baita de um backup antes!).
|
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/01/2008 16:28:54
|
Emerson Macedo
Virtual Machine Man
![[Avatar]](/images/avatar/360c19682e81f21d55846685c1701179.jpg)
Membro desde: 01/08/2006 16:55:28
Mensagens: 689
Localização: Rio de Janeiro - RJ
Offline
|
IMO, pode ser até uma vantagem visto que erros na modelagem podem ser corrigidos o quanto antes e não apenas quando todo o schema ja estiver definido e/ou o DB já com os seus terabytes de dados. Claro que mesmo neste último cenário pode acontecer mudanças.
This message was edited 1 time. Last update was at 10/01/2008 16:29:40
|
Emerson Macedo Leite
PMP - Ping-pong Master Player
CSM - Counter-Strile Manager
http://codificando.com
"Porque, assim como o relâmpago sai do oriente e se mostra até o ocidente, assim será também a vinda do filho do homem." - Mateus 24:27 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/01/2008 17:00:09
|
paulohbmetal
GUJ Ranger
![[Avatar]](/images/avatar/a368b0de8b91cfb3f91892fbf1ebd4b2.jpg)
Membro desde: 28/08/2003 18:19:45
Mensagens: 760
Localização: Goiânia - Goiás
Offline
|
ASOBrasil wrote:Para o pessoal que trabalha com desenvolvimento ágil...
Basicamente nos modelos de desenvolvimento ágil o sistema vai sendo elaborado, desenvolvido e entregue por etapas conforme a necessidade do cliente (me corrijam se eu estiver errado). Deve haver refatoração constante no sistema para que esse não vire um remendo só (isso em qualquer sistema, é claro!). Minha dúvida é: como fica a parte do banco de dados, sendo que esse não é tão fácil ser alterado, principalmente por causa das constraints e dos próprios dados em si! Exemplo: entreguei uma parte do sistema para o cliente e depois de algumas iterações descubro que por causa de uma funcionalidade tenho que fazer uma alteração no modelo, então vou ter que criar um script para "arrumar" esses dados! Isso não acaba ocorrendo com certa freqüência, já que não planejei meu modelo da dados desde o início do projeto?
É.... Boa preocupação...
A Paz!
|
Paulo Melo
JavaMetal - GoJava - JavaFree.org - Ubuntu Linux - Rising Cross
Sun Certified Java Programmer
Bacharel em Ciência da Computação
Especialista em Análise e Projetos de Sistemas de Informação
________________________________
"Que a cruz sagrada seja minha luz!!" |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/01/2008 21:10:48
|
ASOBrasil
JavaEvangelist
![[Avatar]](/images/avatar/ac3870fcad1cfc367825cda0101eee62.jpg)
Membro desde: 25/06/2005 20:57:30
Mensagens: 402
Localização: São Paulo
Offline
|
microfilo wrote:As mudanças no banco de dados que devem ser efetuadas são simplesmente... efetuadas
Normalmente as DMLs são versionadas e a cada "entrega" provavelmente passam uma baseline nelas.
Se por acaso uma coluna sumir ou algo assim, provavelmente a alteração vira acompanhada de um plano de migração (e um baita de um backup antes!).
emerleite wrote:IMO, pode ser até uma vantagem visto que erros na modelagem podem ser corrigidos o quanto antes e não apenas quando todo o schema ja estiver definido e/ou o DB já com os seus terabytes de dados. Claro que mesmo neste último cenário pode acontecer mudanças.
O problema não é somente efetuar a mudança, isso tem que fazer mesmo. Minha preocupação é quantas vezes vou ter que efetuar essas mudanças já que não planejei a modelagem desde o começo! Não sei... ainda não consigo ver a parte de modelagem banco de dados se encaixando no processo de desenvolvimento ágil. Acho que a maioria de nós sabe como geralmente é dificil lidar com DBAs; imagine toda hora tendo que alterar o modelo de dados e fazer migrações porque o negócio não foi planejado, acho que vai ter muita treta na certa.
|
Java Examples || Useful links for web developer |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/01/2008 22:08:44
|
andre_salvati
GUJ Ranger
Membro desde: 02/06/2005 16:28:38
Mensagens: 939
Offline
|
ASOBrasil wrote:
microfilo wrote:As mudanças no banco de dados que devem ser efetuadas são simplesmente... efetuadas
Normalmente as DMLs são versionadas e a cada "entrega" provavelmente passam uma baseline nelas.
Se por acaso uma coluna sumir ou algo assim, provavelmente a alteração vira acompanhada de um plano de migração (e um baita de um backup antes!).
emerleite wrote:IMO, pode ser até uma vantagem visto que erros na modelagem podem ser corrigidos o quanto antes e não apenas quando todo o schema ja estiver definido e/ou o DB já com os seus terabytes de dados. Claro que mesmo neste último cenário pode acontecer mudanças.
O problema não é somente efetuar a mudança, isso tem que fazer mesmo. Minha preocupação é quantas vezes vou ter que efetuar essas mudanças já que não planejei a modelagem desde o começo! Não sei... ainda não consigo ver a parte de modelagem banco de dados se encaixando no processo de desenvolvimento ágil. Acho que a maioria de nós sabe como geralmente é dificil lidar com DBAs; imagine toda hora tendo que alterar o modelo de dados e fazer migrações porque o negócio não foi planejado, acho que vai ter muita treta na certa.
Obviamente, existem técnicas para se minimizar a quantidade de refatoração em banco de dados.
Scott Ambler possui livros que falam sobre esse assunto.
- Agile Database Techniques - Effective Strategies for the Agile Software
- Refactoring Databases Evolutionary Database Design
Tb tenho uma entrevista onde ele desce a lenha nos DBAs, hehehe.
|
Ajude na criação do StackOverflow em português!!!
http://area51.stackexchange.com/proposals/23539/software-development-in-portuguese?referrer=tI8Uon7RDszY236h5e0UuA2
http://www.empresadigital.inf.br
http://twitter.com/afsalvati |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/01/2008 22:12:20
|
ASOBrasil
JavaEvangelist
![[Avatar]](/images/avatar/ac3870fcad1cfc367825cda0101eee62.jpg)
Membro desde: 25/06/2005 20:57:30
Mensagens: 402
Localização: São Paulo
Offline
|
Taz wrote:
Obviamente, existem técnicas para se minimizar a quantidade de refatoração em banco de dados.
Scott Ambler possui livros que falam sobre esse assunto.
- Agile Database Techniques - Effective Strategies for the Agile Software
- Refactoring Databases Evolutionary Database Design
Tb tenho uma entrevista onde ele desce a lenha nos DBAs, hehehe.
Boa! Vou dar uma lida nas indicações!
|
Java Examples || Useful links for web developer |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/01/2008 08:22:06
|
Rubem Azenha
GUJ Master
![[Avatar]](/images/avatar/cb953f6ca5923f7517125db46ed1293d.jpg)
Membro desde: 28/06/2004 00:10:43
Mensagens: 1933
Localização: São Paulo, SP
Offline
|
ASOBrasil wrote:
O problema não é somente efetuar a mudança, isso tem que fazer mesmo. Minha preocupação é quantas vezes vou ter que efetuar essas mudanças já que não planejei a modelagem desde o começo! Não sei... ainda não consigo ver a parte de modelagem banco de dados se encaixando no processo de desenvolvimento ágil. Acho que a maioria de nós sabe como geralmente é dificil lidar com DBAs; imagine toda hora tendo que alterar o modelo de dados e fazer migrações porque o negócio não foi planejado, acho que vai ter muita treta na certa.
A modelagem do banco poderia ser feita de forma incremental a cada iteração.
Não vejo onde isso traz tanto problemas. Se você modelar tudo no inicio, corre o risco de lá na frente ter problemas com o modelo e ter que alterar do mesmo jeito.
Enfim, eu nunca desenvolvi um projeto enorme utilizando desenvolvimento ágil, alguem que já o fez teve problema com a modelagem dos dados?
|
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/01/2008 08:30:53
|
IgOr_Kz
Thread.start()
Membro desde: 02/01/2008 10:48:05
Mensagens: 37
Offline
|
Amigos, passei por uma experiência assim recentemente, desenvolvemos um sistema de "médio-grande" porte, e utilizamos o desenvolvimento ágil, no inicio parece que o modelagem dos dados esta perfeita mais sempre quando o modelo é revisado, e novos módulos são adicionados surgem modificações na base de dados a solução é ser "bem organizado" versionar o sofware e os backups para nunca se perder se não...
E ainda tivemos vários problemas com o DBA que gostava de modificar as configurações do BD semanalmente ....afff
Emfim, é uma boa prática, pos, o cliente sempre tem algo novo e vc sempre se preocupa em entregar um módulo, particionando os esforços....
t+
|
Igor |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/01/2008 09:34:11
|
paulohbmetal
GUJ Ranger
![[Avatar]](/images/avatar/a368b0de8b91cfb3f91892fbf1ebd4b2.jpg)
Membro desde: 28/08/2003 18:19:45
Mensagens: 760
Localização: Goiânia - Goiás
Offline
|
microfilo wrote:
Enfim, eu nunca desenvolvi um projeto enorme utilizando desenvolvimento ágil, alguem que já o fez teve problema com a modelagem dos dados?
Pois é, teoricamente o problema estaria na questão de ter que entregar uma versão funcional a cada iteração e se essa "bombinha" já estiver em produção.
Em desenvolvimento não vejo grandes problemas, mas levar estas alterações para o cliente pode ser traumático. Acaba que a cada iteração teremos que ter um script de migração para o DB. Então assim, o seu DBA (lado negro da força) também tem que trabalhar de forma iterativa.
A Paz!
|
Paulo Melo
JavaMetal - GoJava - JavaFree.org - Ubuntu Linux - Rising Cross
Sun Certified Java Programmer
Bacharel em Ciência da Computação
Especialista em Análise e Projetos de Sistemas de Informação
________________________________
"Que a cruz sagrada seja minha luz!!" |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/01/2008 16:54:13
|
andre_salvati
GUJ Ranger
Membro desde: 02/06/2005 16:28:38
Mensagens: 939
Offline
|
paulohbmetal wrote:
microfilo wrote:
Enfim, eu nunca desenvolvi um projeto enorme utilizando desenvolvimento ágil, alguem que já o fez teve problema com a modelagem dos dados?
Pois é, teoricamente o problema estaria na questão de ter que entregar uma versão funcional a cada iteração e se essa "bombinha" já estiver em produção.
Na prática é viável tb. Qualquer projeto "enorme" é dividido em módulos/subsistemas. Vc faz entregas parciais desses módulos/subsistemas. Numa semana vc pode ter, por exemplo:
- entrega da iteração 3 do módulo 1
- entrega da iteração 4 do módulo 2
- entrega da iteração 2 do módulo 3
|
Ajude na criação do StackOverflow em português!!!
http://area51.stackexchange.com/proposals/23539/software-development-in-portuguese?referrer=tI8Uon7RDszY236h5e0UuA2
http://www.empresadigital.inf.br
http://twitter.com/afsalvati |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/01/2008 09:52:17
|
pcalcado
Moderador
![[Avatar]](/images/avatar/110eec23201d80e40d0c4a48954e2ff5.jpg)
Membro desde: 08/03/2004 17:19:35
Mensagens: 5174
Localização: Sydney - Australia
Offline
|
Numa ambiente de desenvolvimento moderno e orientado a objetos isso não costuma ser problemátio. Os piores problemas acotnecem quando cismam em usar o banco de dados para integrar sistemas e isso sempre causa problema, seja num desenvolvimento iterativo ou não.
|
Phillip Calçado "Shoes"
http://fragmental.tw/
http://blog.fragmental.com.br/
"It is unfortunate that much of what is called 'object-oriented programming today is simply old style programming with fancier constructs." - Alan Kay |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/01/2008 11:51:27
|
ASOBrasil
JavaEvangelist
![[Avatar]](/images/avatar/ac3870fcad1cfc367825cda0101eee62.jpg)
Membro desde: 25/06/2005 20:57:30
Mensagens: 402
Localização: São Paulo
Offline
|
pcalcado wrote:Numa ambiente de desenvolvimento moderno e orientado a objetos isso não costuma ser problemátio. Os piores problemas acotnecem quando cismam em usar o banco de dados para integrar sistemas e isso sempre causa problema, seja num desenvolvimento iterativo ou não.
Shoes,
Não entendi! O que você disse ficou muito abstrato para mim, poderia citar exemlos?
|
Java Examples || Useful links for web developer |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/01/2008 11:58:57
|
pcalcado
Moderador
![[Avatar]](/images/avatar/110eec23201d80e40d0c4a48954e2ff5.jpg)
Membro desde: 08/03/2004 17:19:35
Mensagens: 5174
Localização: Sydney - Australia
Offline
|
Sobre qual parte em específico?
Com desenvolvimento OO o banco de dados perde seu papel principal. Mudanças no sistema vão afetar muito mais frequentemente o modelo de objetos do que o modelo de dados.
Bancos de dados para integraçã são um roblema porque cada mudança envolve mudar vários sistemas.
|
Phillip Calçado "Shoes"
http://fragmental.tw/
http://blog.fragmental.com.br/
"It is unfortunate that much of what is called 'object-oriented programming today is simply old style programming with fancier constructs." - Alan Kay |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/01/2008 12:03:43
|
ASOBrasil
JavaEvangelist
![[Avatar]](/images/avatar/ac3870fcad1cfc367825cda0101eee62.jpg)
Membro desde: 25/06/2005 20:57:30
Mensagens: 402
Localização: São Paulo
Offline
|
Deixa eu ver se entendi... eu devo amarrar o menos possível meu modelo de dados ao meu modelo de negócios, é isso?
|
Java Examples || Useful links for web developer |
|
|
 |
|
|