xhamyo / pe

0 stars 0 forks source link

Missing use cases #12

Open xhamyo opened 1 week ago

xhamyo commented 1 week ago

I believe use cases could have been more comprehensive, as the use cases for find student, delete/list tutorial, delete/list/mark/unmark/check assignments are not included. As a developer, I would have trouble understanding the intended behaviour of more than half of the core features, making it hard to maintain the codebase.

Screenshot 2024-11-15 at 5.22.44 PM.png

nus-se-script commented 4 days ago

Team's Response

First, we believe that we provide enough use cases to illustrate the basic features supported by our application. Refer to our current DG, we have implemented all the use cases for our current (must have) user stories, please refer to the screenshot below, we even add some (nice to have) user stories for the use cases examples. Therefore, we believe that we have included sufficient use cases to explain the basic operations of our application to readers. Given you wish to raise this issue subjectively, we do respect but we suggest to have a downgrade of severity to low as this does not lead to any misunderstanding and inconvenience to the readers while we still take our stand to reject this bug.

Screenshot 2024-11-17 at 4.23.44 PM.png

Items for the Tester to Verify

:question: Issue response

Team chose [response.Rejected]

Reason for disagreement: As mentioned in the CS2103 textbook, problems in use cases includes cases where there are Important use cases missing (a use case is important if it involves a user interaction that is worthy of documenting e.g., it has multiple extensions -- this is not the same as the feature being important)

The team justified the rejection based on the quoted "we provide enough use cases to illustrate the basic features supported by our application", which should not be a reasonable argument as although the important basic features were indeed documented, it does not justify why the remaining non-basic features implemented should go largely undocumented.

The team did not prove that the missing use cases did not have multiple extensions, nor did they substantiate why they were not worthy of documenting. I thus stand by my point that this issue would likely affect incoming developers when they try to maintain the codebase in the future.


## :question: Issue severity Team chose [`severity.Low`] Originally [`severity.Medium`] - [x] I disagree **Reason for disagreement:** As mentioned in the original report, there were many possible use cases, with multiple extensions, that went undocumented. This includes documentation for the following: 1. `find` Finding a Student 2. `deleteTut` i.e. Deleting a Tutorial 3. `deleteAsg` i.e. Deleting an Assignment 4. `markAsg` i.e. Marking an Assignmnt 5. `unmarkAsg` i.e. Unmarking an Assignment 6. `checkAsg` i.e. Checking the completion status of an Assignment 7. `deleteAtt` i.e. Unmarking an Attendance I believe that the commands `list`, `listTut`, `listAsg`, `clear`, `help`, and `exit` are indeed trivial and do not require use case documentation. **However**, for the **non-trivial commands** `addStu`, `edit`, `deleteStu`, `find`, `addTut`, `deleteTut`, `addAsg`, `deleteAsg`, `markAsg`, `unmarkAsg`, `checkAsg`, `markAtt`, `deleteAtt` **should require proper corresponding use case documentation** as they all each have multiple extensions. Unfortunately, **only 6 of 13 were documented**, leaving over half undocumented. As over half the use cases were not properly documented, **incoming developers would have trouble understanding the intended behaviour** and extension of behaviour for **more than half of the use cases and their corresponding commands**, making it hard to maintain the codebase. Incoming developers would face **occasional inconvenience** when maintaining the codebase as the **onus is on them to figure out the behaviour** by either playing around with the application or scouring through the entire codebase.