Principios básicos del diseño de software
1. Modularización: se refiere al proceso de dividir un sistema de software en varios módulos de arriba a abajo al resolver un problema complejo. Cada módulo completa una subfunción específica y todos los módulos se ensamblan en un todo de cierta manera.
2. Abstracción: Es una herramienta de pensamiento utilizada en el proceso de comprensión de fenómenos complejos, es decir, extraer las características comunes de la esencia de las cosas sin considerar temporalmente sus detalles y otros factores.
3. Ocultación de información: significa que al diseñar y determinar módulos, otros módulos que no necesitan esta información no pueden acceder a la información (proceso o datos) contenida en un módulo.