Pano:
Great questions! In function/process modeling, the "parts" are typically called functions on data flow diagrams, processes on buisness process maps, and use cases on a use case diagrams. (Key point: There is no logical reason to refer to the same thing by different names; don't be mystified by the mechanism (i.e., whether or not the process/function is automated or not))
If you are a data flow diagrammer, there definitely is a formalized approach to partitioning a system. Key elements to that approach are:
* A logical, natural partitioning of the system. (For further details on what a logical, natural partitioning is and how to do one, please refer to my previous posts on such.)
* Further refinement of the natural, logical partitioning based upon evaluation of each discovered function's interface complexity (i.e., if a function has too many inputs and outputs, it is a clear sign that further partitioning of it is needed).
Use cases do not employ a formal approach to partitioning. The default approach to formal partitioning is called brute-force partitioning, or forced, artificial partitioning (which I have also discussed in previous postings). Business process mapping techniques espouse partitioning largely based upon sequencing and flow of control considerations. Such an approach is mainly appropriate for more smallish efforts. ( I have discussed why in previous postings.)
Pano, as I stated, you ask some great questions! Reason: As analysis is literally defined as partitioning, unless we primarily position analysis techniques relative to each other in terms of their approach to partitioning (or lack thereof), we will get mixed-up notions as what technique to use when.
Tony