Modularidad
Un módulo es un grupo de componentes declarados para un propósito común. Estos componentes pueden ser tipos, variables, constantes, procedimientos, funciones, etc.
- Un módulo encapsula sus componentes.
- Permite una interfaz con otros módulos y hace conocidos unos pocos componentes hacia fuera del mismo (exportados).
- Otros componentes quedan ocultos; asisten a la implementación de componentes exportados.
La complejidad del software
- Tamaño del software:
- Hace dos/tres décadas: programas en lenguaje ensamblador en torno a centenares de líneas.
- Hoy: lenguajes de alto nivel con centenares de millares, o incluso millones de líneas de código.
- Ámbitos de la Complejidad:
- Complejidad del problema: la implementación se descompone en centenares y a veces miles de módulos independientes, lo que implica tener un equipo de desarrolladores.
- Complejidad