O que é granularidade?

Vejo esse termos constantemente citado em livros de Engenharia de Software…

Alguém poderia me explicar o que significa um software altamente granulado???

Quanto mais granular um software, mais quebrado em “partes menores” ele é. Um banco de dados altamente granular, estaria completamente normalizado, sem haver duplicação de dados em absolutamente nenhum campo.

Note que isso nem sempre é vantajoso. Imagine por exemplo uma tabela cliente, em que até mesmo o nome da rua e do bairro fosse encontrado numa tabela associativa. Ou mesmo, houvesse uma tabela dessas para o primeiro nome do sujeito…