System Evolution and Driving Forces
-
**Analyze the system’s historical growth
- Plot the total number of lines over time
- Identify periods of significant increase
-
Investigate causes and implications
- Determine what triggered rapid growth (e.g., major feature releases, refactoring efforts)
- Assess the impact on maintainability and performance
-
Tool : Repository Mining
- Repository mining library : PyDriller
-
Purpose
- To use analysis for reengineering legacy system
-
Probably 600 words
-
Things to consider
- How have the system’s size and complexity changed over time?
- How have the system’s architecture, design, and functionality changed over time?
- What factors have influenced the system’s changes?