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