SeeYangZhi / pe

0 stars 0 forks source link

Feature Flaw: TAs able to mark students attendance with future dates without warning/alert #4

Open SeeYangZhi opened 1 week ago

SeeYangZhi commented 1 week ago

Steps to Reproduce:

  1. mark 1 d/30/12/2024 12:00 m/attended

Expected

  1. warning/alert to be thrown since the date is in the future and such behaviour should not be allowed or at least a warning to be thrown.

Actual

  1. No warning, user can add attendance for students' future classes.

Screenshots

Screenshot 2024-11-15 at 4.36.32 PM.png

nus-pe-script commented 1 week ago

Team's Response

No details provided by team.

The 'Original' Bug

[The team marked this bug as a duplicate of the following bug]

Able to mark attendance of Future dates

image.png In this demonstration, I could mark the attendance of students of future classes. running the command mark 1 d/31/01/2080 12:00 m/absent


[original: nus-cs2103-AY2425S1/pe-interim#3387] [original labels: type.FeatureFlaw severity.Low]

Their Response to the 'Original' Bug

[This is the team's response to the above 'original' bug]

Hi,

Thanks for your report. However, marking of future dates is the intended behaviour. An example where this functionality would be useful is when a student informs their TA ahead of time that they will be absent for a tutorial and has gotten an excuse for it. In this case, the TA would want indicate their attendance as soon as they are informed, instead of having to wait until the lesson day itself.

Items for the Tester to Verify

:question: Issue duplicate status

Team chose to mark this issue as a duplicate of another issue (as explained in the Team's response above)

Reason for disagreement: [replace this with your explanation]


## :question: Issue response Team chose [`response.Rejected`] - [x] I disagree **Reason for disagreement:** The expected behaviour filed in my issue for this feature flaw was "warning/alert to be thrown since the date is in the future and such behaviour should not be allowed **or at least a warning to be thrown**." 1. **User Expectation for Warnings**: - The expected behavior is for the application to at least throw a **warning or alert** when attendance is marked for a future date. Such behavior ensures users are aware of potential errors, especially when marking attendance beyond reasonable future dates. - Allowing future dates without any notification can lead to unintended data entry errors, which can compromise the reliability of the data. 2. **Impact on Workflow**: - While marking attendance for a reasonable future date (e.g., next week's tutorial) can be useful, there should be **validation logic** to prevent unreasonable dates (e.g., years into the future) without alerting the user. - The lack of feedback introduces risks where mistakes go unnoticed, especially in scenarios involving large student datasets. 3. **Alignment with Feature Flaw Definition**: - This is a **feature flaw** because the feature works as intended, but it **should have been designed differently** from the end-user's perspective. A validation or warning mechanism is a reasonable expectation for such scenarios to avoid accidental data inconsistencies. 4. **Alternative Use Cases**: - The team's rationale about marking attendance for future dates (e.g., informed absences) is valid but does not negate the need for a **warning system**. The system can allow marking future attendance with a prompt or confirmation to ensure user intent. #### Conclusion: The bug should not be rejected outright. Instead, it should be acknowledged as a **feature flaw** requiring a mechanism to: - Validate and restrict unreasonable future dates. - Provide a warning or alert to the user for intentional future attendance marking. This improvement enhances data integrity while supporting the flexibility needed for TAs and is hence very much a feature flaw that should not be rejected outright.