Functional
Decomposition
This was a widely-suggested approach for a number of years. It also had a respectable academic pedigree. But it is perhaps not so much in favour, thanks to the arrival of OO methods.
Problems with top-down
Functional decomposition is a top-down method. A good
critique of top down approaches is made in
1 Top-down assumes that the designer already has a high degree of understanding of the architectural structure before they begin. In other words, people probably create a structure by some method or other and then re-cast it into a hierarchical structure.
2 Top-down forces the designer to make the most important decisions at the beginning of the design process. But this is the time at which the design is least understood. Early decisions - the top-most structure dictate the remainder of the structure. But if the early (top-most) structure turns out to be wrong, then nothing can be done to fix the problem - except for starting again.
3 Top-down methods assume that a hierarchical structure is possible. Further that a hierarchical structure is always the best structure for a software system. These are pretty big and questionable assumptions.