From 2a84f8ec7a6b0aec400a5644eeaa485bb3324eb2 Mon Sep 17 00:00:00 2001 From: ReganChoy Date: Mon, 15 Apr 2024 01:32:00 +0800 Subject: [PATCH 1/2] Add alternate for schedule and mark --- docs/AboutUs.md | 4 +--- docs/DeveloperGuide.md | 27 +++++++++++++++++++++++++++ 2 files changed, 28 insertions(+), 3 deletions(-) diff --git a/docs/AboutUs.md b/docs/AboutUs.md index cfe364edddc..05dbdcfadc8 100644 --- a/docs/AboutUs.md +++ b/docs/AboutUs.md @@ -28,11 +28,9 @@ You can reach us at the email `seer[at]comp.nus.edu.sg` [[github](http://github.com/getsquared)] [[portfolio](team/shuqing.md)] -* Role: Integration + Documentation +* Role: Integration * Responsibilities: UI -* Role: Project Advisor - ### Regan Choy diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index f687c8a36ce..35142472ccf 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -313,6 +313,19 @@ The `ScheduleCommand` object then communicates with the `Model` component to upd - `Model#setDisplayClient(Person)` - Updates the displayed client in the UI to the client that has been edited with the new Schedule. The method `ScheduleCommand#execute()` returns a CommandResult object which contains the success message to be displayed to the user. + +#### Design Considerations + +**Aspect: Letting users set multiple appointments per client.** + +* Current: Only one appointment is allowed per client. + * The user can schedule an appointment for each client. + * This is to prevent the schedule display from having too many schedules which can overcrowd the display. + * This also keeps the command for scheduling and completing appointments simple as there are fewer commands available for the user. + +* Alternative (not taken): Multiple appointments per client. + * Too many appointments in a single schedule display can make it hard to see for the user. + * A much more complex GUI is also needed to support such a feature which will be too much work for the project.
### Marking schedule feature @@ -333,6 +346,20 @@ The `MarkCommand` object then communicates with the `Model` component to update - `Model#setDisplayClient(Person)` - Updates the displayed client in the UI to the client that has been edited with the new Schedule. The method `MarkCommand#execute()` returns a CommandResult object which contains the success message to be displayed to the user. + +#### Design Considerations + +**Aspect: Marking an appointment updates the last met for the client.** + +* Current: Marking an appointment only marks the appointment as closed, last met for the client remains unchanged. + * The user can mark a schedule as completed, then use `met` to update the last met of the client separately. + * This is to streamline the completion and closing of open appointments to a single command. + * Postponing an appointment is also in-built into the `schedule` command. + +* Alternative (not taken): Marking an appointment updates the last met for the client automatically. + * Users may wish to complete or close an open appointment where they did not meet the client. + * As Last Met cannot be updated to a future date that has yet to pass, this can introduce problems where users may want to close future appointments. + * To resolve this, we can introduce more commands where completing and closing appointments are different. However, this may increase the complexity of app usage and commands for the user.
### Add policy feature From 8e36e0e30c5d62d57c6693f8b3a973d4d43d712a Mon Sep 17 00:00:00 2001 From: ReganChoy Date: Mon, 15 Apr 2024 01:35:36 +0800 Subject: [PATCH 2/2] Add one page break at addpolicy testing --- docs/DeveloperGuide.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index 35142472ccf..ceb33bafa3b 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -1244,7 +1244,8 @@ testers are expected to do more *exploratory* testing. 7. Test Case (Value Above Integer Limit): `set 1234567890098765432112345564354345324343124134211232132131231`
Expected: Similar to previous. - +
+ ### Adding a policy 1. Adding a policy to a client while all clients are being shown