desenvolver programas de porte mdio a grande. Atravs do particionamento judicioso do programa em mdulos.
Objetivos
Possibilitar o trabalho em equipe
Facilitar a gerncia do desenvolvimento Facilitar o controle e a garantia de qualidade Possibilitar o reuso de mdulos Possibilitar a criao de bibliotecas de componentes Possibilitar a reduo do tempo necessrio para dispor do programa
Mdulo
um artefato de programao que pode ser
desenvolvido e compilado independente dos demais artefatos que compem um determinado programa. Uma vez desenvolvidos, devem poder ser compostos uns com os outros. As especificaes das interfaces e da funcionalidade de cada um dos mdulos devem ser precisas e completas.
Vantagens
Permite vencer barreiras de complexidade.
Permite distribuir trabalho. Permite reutilizar mdulos. Permite investir-se na criao de um acervo de ativos de software. Torna gerencivel o processo de desenvolvimento. Permite o desenvolvimento incremental. Permite deixar o aprimoramento do desempenho para uma poca mais oportuna. Reduz o tempo de compilao.
Problemas
Quais so as diversas formas com que se
apresentam mdulos? Como particionar um programa em mdulos? Como particionar um programa em mdulos de modo que uma parcela significativa dos mdulos possa ser efetiva e eficazmente reutilizada sob a forma de componentes em vrios programas? Como desenvolver mdulos reutilizveis visando o estabelecimento de um conjunto de ativos que possam ser incorporados a um grande nmero de projetos, constituindo assim, a uma vantagem?
Problemas
Como explicitar e especificar a interface de cada
um dos mdulos? Como minimizar e simplificar interfaces de mdulos? Como especificar cada um dos mdulos? Como assegurar a qualidade de cada um dos mdulos? Como assegurar a qualidade dos construtos? Como viabilizar o desenvolvimento independente de cada mdulo? Como coordenar o trabalho de desenvolvimento?
Problemas
Como organizar mdulos de modo que sejam
facilmente alterados, mesmo por pessoas que no tenham participado de seu desenvolvimento? Como manter a coerncia entre os mdulos medida que forem ocorrendo alteraes? Como manter a coerncia de construtos, levando em conta a verso dos mdulos que os compem? Como manter a coerncia dos mdulos durante toda a sua vida til, quando esta for longa.