Which statement best describes top-down programming design?
A. It creates complicated design techniques.
B. It breaks down the problem the software is trying to solve into pieces or goals.
C. It is best for programs with complicated calculations.
D. It is best for programs with complicated steps.