Concept:
Once software is deployed, it enters the Maintenance phase. There are four universally recognized types of maintenance:
• Corrective: Fixing bugs and errors reported by users.
• Perfective: Adding new features or improving performance based on user requests.
• Adaptive: Modifying the system to work in a new environment (e.g., a new OS).
• Preventive: Modifying the code to prevent future errors (e.g., refactoring).
Step 1: Analyzing the "Bug" report.
The question states: "some features are not working as expected, and there are minor bugs that need fixing." This falls squarely into the category of Corrective Maintenance, as the goal is to correct existing defects.
Step 2: Analyzing the "New Feature" request.
The question also states: "The development team also wants to add a new reporting feature based on recent user requests." Adding new functionality that was not in the original requirements to satisfy user needs is the definition of Perfective Maintenance.
Step 3: Conclusion.
Since both bug fixing (Corrective) and new feature addition (Perfective) are happening in this scenario, Option (C) is the correct choice.