No mundo de hoje, Modularidade ganhou uma relevância sem precedentes. Desde o seu surgimento, Modularidade impactou significativamente vários aspectos da sociedade, cultura e economia. Neste artigo, exploraremos detalhadamente o impacto de Modularidade e sua influência em diferentes áreas da vida diária. Analisaremos a sua evolução ao longo do tempo, as suas implicações em termos de mudanças sociais e políticas, bem como as oportunidades e desafios que coloca para o futuro. Através de uma análise detalhada, examinaremos a importância de compreender e refletir sobre Modularidade para estarmos mais bem preparados para os desafios do mundo contemporâneo.
Este artigo ou secção contém uma lista de referências no fim do texto, mas as suas fontes não são claras porque não são citadas no corpo do artigo, o que compromete a confiabilidade das informações. (Dezembro de 2022) |
A estratégia modular pode ser a diversos processos produtivos (ex: móveis, automóveis, aviões, etc..) Ou seja, a ideia principal é de utilizar os mesmos componentes em diversos produtos diferentes o que reduz o custo de produção. A modularidade aplicada ao desenvolvimento de novos produtos, acompanhada da terceirização das atividades de produção, tem sido uma estratégia adotada pelas montadoras automotivas. O desenvolvimento de produto no contexto da estratégia modular implica em uma redistribuição das atividades inerentes a este processo, baseando-se na decomposição e na divisão das tarefas entre as montadoras e seus fornecedores.
As montadoras ficam com o domínio do conhecimento dos principais itens do automóvel (ex: motor) e repassa outras atividades a empresas especializadas como a Pirelli que fornece pneus, ou chinesa Yapp, fabricante de tanque de combustível, e a Reydel, que faz cockpit (antes era a Continental).
A ideia de dividir os programas em módulos surgiu no final da década de 1960. Os países desenvolvidos estavam então passando por uma “crise de software”. Essa crise se deu ao rápido desenvolvimento do hardware ao passo que as técnicas aplicadas ao desenvolvimento de software avançavam lentamente. O Desenvolvimento de sistemas sem uma metodologia para a construção de programas, geralmente resulta em um software com vários erros e com alto custo de desenvolvimento que, consequentemente exige um custo elevado para sua correcção e manutenção futuras. A modularização de programas juntamente com outras técnicas de programação integram o ferramental para a elaboração de programas visando, principalmente, os aspectos de confiabilidade, legibilidade, manutenção e flexibilidade.
Um modulo pode ser definido como um grupo de comandos, constituindo um trecho de algoritmo, com uma função bem definida e o mais independente possível em relação ao resto do algoritmo. A maneira mais intuitiva de proceder à modularização é definir um modulo principal de controle e modulo especifico para as funções do algoritmo. O ideal é que os módulos não sejam grandes demais, pois senão acabam sendo multifuncionais e de difícil compreensão, de modo que o modulo deve ser implementado apenas as estruturas de dados necessários para atingir ao objectivo do modulo.
As ferramentas são as sub-rotinas e as funções.
Porção de código para realizar uma tarefa especifica. Diferente de uma função ela não retorna nenhum valor. Uma sub-rotina é declarada da seguinte forma:
subrotina NOME(lista-de-parâmetros-formais)
declarações dos objectos locais à sub-rotinas
comandos das sub-rotinas
fimsubrotina
A lista de parâmetros formais é opcional. Todavia, caso seja usada elas podem ser de três formas.
void Tocarsom(){
int contador;
for(contador = 100; contador < 1000; contador += 50){
sound(contador);
delay(100);
}
nosound();
}
No exemplo acima, temos uma sub-rotina que toca um som. Como podemos perceber não foi passado nenhum parâmetro, embora seja possível usar parâmetros.
É uma porção de código para realizar uma tarefa especifica. Embora seja muito parecido com uma sub-rotina ela possui uma caracteristica especial, que consiste em retornar um valor associado ao seu nome.
Exemplo de função em linguagem C:
#include <stdio.h>
#include <stdlib.h>
//Calcula o fatorial de um número passado como argumento para a função Fatorial()
int Fatorial(int numero)
{
int resultado=1;
for (; numero > 1; numero--)
{
resultado = resultado * numero;
}
return resultado;
}
int main ()
{
printf("Resultado: %d\n", Fatorial(5)); //Chama a função Fatorial() e imprime o resultado
return 0;
}
Existem grandes vantagens no uso de módulos e algumas desvantagens são alguns deles: