Algorismo e linguagem de programação
E
LINGUAGEM
DE
PROGRAMAÇÃO II
MODULARIZAÇÃO
Modularização:
Funções e Procedimentos
Introdução à modularização
Exemplos de modularização, i.e., sistemas que são compostos por módulos com funções bem definidas e tão independentes quanto possível, são bem conhecidos. Por exemplo, a maior parte dos sistemas de alta fidelidade para audiófilos são compostos por módulos: o amplificador, o equalizador, o leitor de CD, o sintonizador, o leitor de cassetes, etc.
A divisão dum sistema em módulos tem várias vantagens. Para o fabricante, por um lado, a modularização tem a vantagem de reduzir a complexidade do problema, dividindo-o em subproblemas mais simples, que podem inclusivamente ser resolvidos por equipas independentes. Até sob o ponto de vista do fabrico é mais simples alterar a composição de um módulo, por exemplo, porque se desenvolveram melhores circuitos para o amplificador, do que alterar a composição de um sistema integrado. Por outro lado, é mais fácil detectar problemas e resolvê-los, pois os módulos são, em princípio, razoavelmente independentes. Claro que os módulos muitas vezes não são totalmente independentes. Por exemplo, o sistema de controlo à distância duma aparelhagem implica interação com todos os módulos simultaneamente. A arte da modularização está em identificar claramente que módulos devem existir no sistema, de modo a garantir que as ligações entre os módulos são minimizadas e que a sua coesão interna é máxima. Isto significa que, no caso dum bom sistema de alta fidelidade, os cabos entre os módulos são simplificados ao máximo e que os módulos contêm apenas os circuitos que garantem que o módulo faz a sua função. A coesão tem, portanto a ver com as ligações internas a um módulo, que idealmente devem ser maximizadas. Normalmente, um módulo é coeso se tiver uma única função, bem definida.
Para um utilizador, por outro lado, a modularização tem como vantagem principal permitir a alteração de um único