A number of interesting phenomena can be observed when lifelong processes of object-oriented software are analyzed from the viewpoint of software evolution. This paper proposes a framework of software evolution studies and reports the results of empirical case studies and evolution patterns discovered through the analysis.