La programación estructurada es un enfoque que busca mejorar la claridad y la eficiencia en el desarrollo de software mediante el uso de subrutinas y estructuras lógicas como secuencias, selecciones e iteraciones.
La programación estructurada es un paradigma de programación orientado a mejorar la claridad, calidad y tiempo de desarrollo de un programa de computadora, utilizando únicamente subrutinas y tres estructuras: secuencia, selección (if y switch) e iteración (bucles for y while).
Modular
El programa se divide en un núcleo principal de instrucciones desde las que se llama a un conjunto de módulos independientes de pequeño tamaño fáciles de corregir y mantener, que serán los que realicen las diferentes funciones del programa.
Bottom Up
El diseño ascendente se refiere a la identificación de aquellos procesos que necesitan computarizarse con forme vayan apareciendo, su análisis como sistema y su codificación, o bien, la adquisición de paquetes de software para satisfacer el problema inmediato. Cuando la programación se realiza internamente y haciendo un enfoque ascendente, es difícil llegar a integrar los subsistemas al grado tal de que el desempeño global, sea fluido.
Ciclo Bottom Up
Top Down
También conocida como de arriba-abajo y consiste en establecer una serie de niveles de mayor a menor complejidad (arriba-abajo) que den solución al problema.
Ciclo de Top Down
Se diseña con frecuencia con la ayuda de "cajas negras" que hacen más fácil cumplir requisitos aunque estas cajas negras no expliquen en detalle los componentes individuales.