In all my experience decomposing functional requirements from the top down through a hierarchy and successfully using that hierarchy as the basis for building and implementing some pretty cool systems from the bottom up, it shames me to admit that I do not have a guaranteed method for ensuring that all the levels in the functional decomposition hierarchy are at that perfect place to decompose no further.The question is:  What are the tangible flags or indicators or signals to use that confirm that functional decomposition to a given leaf is both complete and correct so that algorithm design can commence. 
When to stop functional decomposition and commence algorithm design
requirements;systems analysis