Diseño modular de Software

Dividir el problema en partes más pequeñas

Facilita el mantenimiento del software

Descomposición en subprogramas

Division en módulos independientes

Un módulo es una porción de código independiente

Realiza una tara específica

Daigrama de estructura

Divición de enfoques y responsabilidades

Módulos

Módulos de programas

Módulos internos

Módulos de definición

Módulos de implementación

Relaciones

Interfaces

Ventajas

Facilita el diseño jerárquico

Disminuye la complejidad

Reusabilidad

mantemimiento simplificado

Duarción eficaz

disminuye el tamaño del problema

Abtracción

Dividir un sistema en componentes más pequeños

Organización jerárquica

Calidad del diseño de software

Acoplamiento

Medida de lo estrechamente conectados que están los módulos

Tipos

Normal

Normal por datos

Normal por estampado

Normal por control

Común

Normal por contenido

Cohesión

Grado de relación de las responsabilidades de los módulos

Escalas

Funcional

Secuencial

Comunicacional

Procedural

Temporal

Lógica

Casual

Factorización

Sistemas balanceados