- Total 1500-2000 words
- Submit day : March 27th (hopefully )
- Team deadline : merge and improve draft
-
- (1 Person) ← Beomsu(After this is done, go pgt task)
- 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
-
Reengineering Efforts by Original Developers (2 people) (Gaziza, Xinyang )
- Examine past attempts to improve the system
- Review commit history for reengineering-related changes
- Differentiate between restructuring/refactoring and feature additions
- Evaluate success and effectiveness
- Identify whether past efforts reduced complexity or improved maintainability
- Look for repeated issues that may indicate ineffective reengineering
-
Identifying Remaining Code Smells (2 People ) (Jonathan, Deepika)
- Assess the base snapshot of the system
- Use detection techniques
- Analyze the downloaded version for structural or design issues
- Apply automated tools to highlight potential code smells
- Conduct manual reviews to identify deeper architectural problems
-
For PGT
- you should additionally utillize relevant advanced techniques introduced in the module
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?
- What reengineering efforts have been undertaken? For what reasons?
- Are the existing test cases enough for regression testing? If not, why?
- What were the outcomes of these reengineering efforts? Did they achieve their intended goals?
- What code smells persist in the current snapshot of the System?
- How significant are the identified code smells in terms of their impact on the system?