Getting the big picture of the structure or behaviour of a large software system is a non-trivial task, particularly since there is no unique such picture and the qualities that make such a picture useful depend on the task at hand and can shift from moment to moment.  This kind of analysis may be needed to modify the large-scale structure of a system, to plan what-if scenarios about such changes, or to understand what is there now.