Descomposición modular es decir la modularidad se refiere al software cuando se divide en componentes nombrados y abordados por separado, llamados, se integran para satisfacer los requisitos del problema.
Se ha afirmado que la modularidad es el único atributo del software que permite gestionar un programa intelectualmente. El software monolítico que es un programa grande formado por un único módulo.
Cinco criterios que nos permitirán evaluar un método de diseño en relación con la habilidad de definir un sistema modular efectivo:
Capacidad de descomposición modular. Si un método de diseño proporciona un mecanismo sistemático para descomponer el problema en subproblemas, reducirá la complejidad de todo el problema, consiguiendo de esta manera una solución modular efectiva.
Capacidad de empleo de componentes modulares. Si un método de diseño permite ensamblar los componentes de diseño existentes en un sistema nuevo, producirá una solución modular que no inventa nada ya inventado.
Capacidad de comprensión modular. Si un módulo se puede comprender como una unidad autónoma será más fácil de construir y de cambiar.
Continuidad modular. Si pequeños cambios en los requisitos del sistema provocan cambios en los módulos individuales, en vez de cambios generalizados en el sistema, se minimizará el impacto de los efectos secundarios de los cambios.
Protección modular. Si dentro de un módulo se produce una condición aberrante y sus efectos se limitan a ese módulo, se minimizará el impacto de los efectos secundarios inducidos por los errores.