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?