Este documento describe los conceptos fundamentales del diseño de software. Explica que el diseño de software es una fase importante del ciclo de vida del software que utiliza principios y técnicas para desarrollar software de calidad. Se dividen los tipos de diseño en diseño arquitectónico, diseño de componentes y diseño de interfaces. También describe conceptos como abstracción, refinamiento, modularidad y ocultamiento.