Reading source is one of every day work of programmers.We have to understand legacy systems what server for many year, we have to understand open source software that our system depends over. Frankly, it's not a easy task to understand source code wrote by other guys, especially in rush.
The below 5 steps is one of BEST PRACTICES to understanddesign and implementation of a softwave system. It can guide you to understand the software step by step.
1. Identify main usecases
Intent: Understanding thefunctionality and actors
Artifact: Use case description indiagram or text
2. Identify essential packages and classes
Intent: Packages and classes are mostimportant elements in a OO-designed software, you should understand roles andobjectives of these packages and classes.
Artifact: Class diagram, Deploymentdiagram
3. Understand how the main usecases work
Intent: To understand how theseclasses work together to implement the features.
Artifact: Sequence diagram
4. Understanding involved algorithms
Intent: If the implementation involvedcomplex algorithms or background knowlege such as geometry and physics, youshould try to understand that.
Artifact: Pseudo code, mathematicmodel
5. Goto step1 for next iteration.
Intent: To understand more about thesystem.
Artifact: NA