Skip to content

Instantly share code, notes, and snippets.

@rcarneiro
Created June 10, 2010 14:50
Show Gist options
  • Save rcarneiro/433106 to your computer and use it in GitHub Desktop.
Save rcarneiro/433106 to your computer and use it in GitHub Desktop.
Discussão sobre os motivos de não iniciar a modelagem de domínio
de um sistema pelo banco de dados.
@rodrigoy
Copy link

Lucca, BDUF é "BIG design up-front"... Design up front não é um problema. Todos os projetos que trabalho existe alguma modelagem, seja em cards, quadro-branco ou papel A4. O BDUF é querer modelar o sistema em detalhe logo no início.

Uma questão que tenho visto nesses quase 10 anos que eu estudo sobre modelagem é que algumas pessoas são mais visuais do que outras, e por isso a opinião sobre modelagem pode variar bastante. Eu gosto de modelar visualmente e acho que modelos visuais (mais uma vez, em papel, lousa-mágica, quadro-branco e etc...) fornecem uma visão excelente, principalmente em reuniões de planejamento de release ou iteração.

@lucabastos
Copy link

Rodrigo

Plenamente de acordo. Para mim, a modelagem visual só tem vantagens. Ajuda superar minhas dificuldades de enxergar o conjunto e principalmente ajuda explicar para o cara de negócio, seja ele um PO, seu chefe ou alguém de um cliente externo.

É que muitos desenvolvedores se prendem a siglas e se bloqueiam com medo delas. Não há mal nenhum em modificar o que inicialmente se imaginou como necessário. Os xiitas dizem que quando se corta coisas feitas no início aconteceu BDUF. Para mim isto é normal.

E voltando a pergunta inicial, acho que é o que mais acontece no dia a dia. Mesmo em um sistema em evoução, iterações posteriores dependem de bancos de dados definidos em iterações iniciais e eventualmente que já foram liberadas para produção. Aí é aquela história de só poder mexer de madrugada, com beneplácito de DBAs que já se apossaram do sistema e tudo o mais. É do dia a dia do desenvolvedor.

Resumindo: modelar com BD pronto talvez seja mais comum do que partir do zero.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment