sábado, 14 de junho de 2008

A importância de uma boa análise de volumetria no planejamento de desenvolvimento

Quando estamos na fase de levantamento dos requisitos para o desenvolvimento de um sistema, vários fatores devem ser levados em conta: pessoas, ambiente, tecnologia, comunicação etc ... Um ponto muito importante nessa fase, mas que algumas vezes é deixado de lado é a volumetria, e sem, você pode passar por grandes problemas no futuro do sistema.
Muitas vezes quando vou falar de volumetria com o pessoal de TI eu escuto frases do tipo: “Por que devo me preocupar com a quantidade de dados que o cliente vai gerar? O banco de dados será Oracle ou SQL Server, o banco aguenta.”. Mas acredite, quando se fala em volume de dados, a sua única preocupação não deve ser em como guardar a informação mas também em como essas informações serão transmitidas ou apresentadas. Primeiramente vamos verificar como podemos obter o volume de dados gerados pelo cliente.


Quando se questiona o cliente em relação a quantidades de dados, deve se ter como foco as principais entidades e termos de negócio, utilizando uma unidade de medida na qual o cliente tem familiaridade, exemplo:
Quantas notas fiscais são emitidas por dia?
Quantos atendimentos são realizados por hora?


Logo após esse levantamento, deve se classificar as entidades conforme a sua relevância para o sistema, ou seja, as entidades que serão manipuladas com maior regularidade pelo sistema. Neste caso, podemos criar uma tabela que tem as seguintes colunas:
· Nome da entidade de negócio
· Volume de dados
· Peso (Alto, Médio e baixo)


Pronto, agora você terá informações que poderão influenciar nas suas decisões sobre a arquitetura e desing da aplicação, como exemplo:

Imagine uma empresa que tenha 1500 produtos.
Consigo transmitir 1500 produtos de uma única vez pela minha rede interna? E se for através de web service?
Na minha tela de pedidos será viável que o usuário selecione o produto através de um combo? Isso não atrapalha a usabilidade do sistema?
Será que tenho que criar views para as minhas consultas? E índices?


Perceba que, conforme a quantidade de registros, as alternativas para as perguntas acima podem ser diferentes. Consegue perceber a importancia desse tipo de levantamento?
Agora você deve estar se perguntando: “Será que o meu cliente tem essas informações?”. Eu respondo: “Normalmente sim”. Mas caso ele não tenha, você deve demostrar a importância de se ter esse tipo de informação, ou então, verifique se o seu sistema que você esta desenvolvendo é exatamente para essa finalidade, trazer o volume de dados gerados para o cliente.


Apenas reforçando pessoal, uma boa análise de volumetria pode impactar em decisões de: design, arquitetura, modelagem, armazenamento, proteção de dados, planos de backup, latência, tráfego de rede, entre outros. Por tanto, não deixe para fazer esse tipo de análise no decorrer do desenvolvimento, ou pior, quando for implantar, assim você diminui as chances de ser surpreendido.

Um comentário:

Carlos Veber disse...

Concordo plenamente Eduardo, belo tópico. Parabéns.

Abraços