Engenharia de Software - Critérios de Modularidade
Por: dfsmoreira • 8/12/2015 • Trabalho acadêmico • 1.030 Palavras (5 Páginas) • 1.137 Visualizações
UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL | |
INF01120 Técnicas de Construção de Programas (2014/1 Turma B - Prof. Pimenta) | |
Nomes: | Cartão: |
A Modularidade
Programação modular significa a construção de programas em pequenos pedaços, utilizando normalmente em sub-rotinas. Tal técnica porém não garante uma real extendabilidade e reusabilidade, a menos que nós possamos garantir que os módulos são autocontidos e organizados em uma arquitetura estável. A construção de um software é modular, se esta produz um software com elementos autônomos e conectados por uma estrutura coerente.
- Cinco Critérios
O método de desenvolvimento que mereceria ser chamado de modular deverá satisfazer cinco requisitos fundamentais descritos abaixo:
- Decomponibilidade
Um software é decomponível se torna mais fácil a tarefa de decompor um problema de software em um pequeno número de subproblemas menos complexos conectados por uma estrutura simples e independente o suficiente, que seja possível trabalharmos separadamente em cada um deles.
A principal dificuldade aqui é manter o controle das dependências dos subsistemas, por isso deve-se ter manter o software com o mínimo de dependências que for possível e estas dependências devem ser conhecidas, ou você não conseguirá juntar os subsistemas de forma a realizar a construção completa do sistema original.
- Componibilidade
Um método satisfaz o critério da componibilidade modular se, este ajuda a produção de elementos de software que podem ser livremente combinados um com o outro para produção de novos sistemas, inclusive, em ambientes muito diferentes do qual o sistema foi inicialmente desenvolvido. O objetivo aqui é entregar elementos de software que são suficientemente autônomos novamente. A componibilidade está diretamente associada com a reusabilidade.
- Compreensibilidade Modular
Um método tem compreensibilidade modular se, este ajuda a produzir um software que um leitor humano entenda cada modulo, sem a necessidade de saber dos outros, ou no máximo, tendo que examinar somente alguns. Este critério é muito importante para manutenção do software, além de ajudar na documentação dos componentes reutilizáveis.
- Continuidade Modular
Um método satisfaz Continuidade Modular se, a arquitetura permite que uma mudança nas especificações desencadeie mudanças em apenas um modulo, ou em uma quantidade pequena de módulos. Está associada a extendabilidade do software. Como os requisitos do software irão mudar inevitavelmente enquanto o projeto progride, a continuidade vem para que pequenas mudanças afetem somente módulos individuais ao invés da estrutura toda do sistema.
- Proteção
Temos o critério de proteção alcançado, quando os efeitos de situações anormais em tempo de execução de um módulo, permanecerão confinadas naquele módulo, ou no máximo, serão propagadas a poucos módulos.
- Cinco Regras
Cinco regras deverão ser observadas para garantir modularidade:
- Mapeamento direto:
Qualquer software tenta resolver as necessidade de algum domínio de problema, se você tem um bom modelo para descrever este problema você simplesmente fará um mapeamento entre a estrutura da solução e a estrutura do problema.
- Poucas interfaces
Restringe o número de canais de comunicação entre módulos na arquitetura do software. Todo módulo deverá comunicar-se o mínimo possível com os outros.
- Interfaces pequenas
Restringe o tamanho dos canais de comunicação entre módulos na arquitetura do software. Se dois módulos se comunicam eles devem trocar tão pouca informação quanto for possível.
...