Decomposizione in “moduli”
necessaria quando si devono sviluppare programmi abbastanza grandi
- decomporre il problema in sotto-problemi
- i moduli che risolvono i sotto-problemi devono riuscire a cooperare nella soluzione del problema originale
persone diverse possono/devono essere coinvolte
- si deve poter lavorare in modo indipendente (ma coerente) nello sviluppo dei diversi moduli
- deve essere possibile eseguire “facilmente” (da parte di persone diverse da quelle coinvolte nello sviluppo) modifiche e aggiornamenti (manutenzione)
- a livello dei singoli moduli, senza influenzare il comportamento degli altri
i programmi devono essere decomposti in moduli, in modo che sia facile capirne le interazioni