Functional decomposition is the technique of breaking a complex concept down into its component parts.
We typically try to keep the parts to a relatively small number, say three to five.
We then take each of these and further break each down into the next level.
The levels are called tiers, with Tier 0 being the highest level.
This process allows one to very quickly encompass all the elements and options of a problem and find solutions one step at a time. It also offers a very accurate estimate of costs and schedules if taken to an acceptable level of granularity.
Five tiers are generally sufficient to accurately characterize most problems in our experience.
Very accurate cost and schedule estimates are achieved by assessing both at the lowest tier and then simply calculating the sums of any particular element at the next higher tier.
There are a host of computer programs that do this. An ordinary spreadsheet is the simplest manual method.