Partitioning:- Problems are often too large and difficult to be understood as a whole. For this reason, we tend to partition such difficulties into parts that can be easily understood and establish interfaces among the parts so that overall function can be accomplished.