From cbc23ab62bab3d296352d99fd99dbd4c11fa32ef Mon Sep 17 00:00:00 2001 From: yashpola Date: Sun, 3 Mar 2024 00:40:30 +0800 Subject: [PATCH 1/2] Update DG for v1.1 --- docs/DeveloperGuide.md | 91 ++++++++++++++++++++++++++++++++++++++---- 1 file changed, 84 insertions(+), 7 deletions(-) diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index 519c64ef564..f66363bfe00 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -300,16 +300,91 @@ Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unli ### Use cases -(For all use cases below, the **System** is the `AddressBook` and the **Actor** is the `user`, unless specified otherwise) +(For all use cases below, the **System** is the `TalentTracker` and the **Actor** is the `Hiring Manager`, unless specified otherwise) -**Use case: Delete a person** +**Use case: UC01 - Add a person** **MSS** 1. User requests to list persons -2. AddressBook shows a list of persons +2. System shows a list of persons +3. User requests to add a new person to the list +4. System adds the person and updates the displayed list + + Use case ends. + +**Extensions** + +* 3a. Any of the given name, email, phone number are invalid. + + * 3a1. System shows an error message indicating invalid name/email/phone number. + + Use case resumes at step 2. + +**Use case: UC02 - Delete a person by phone number** + +**MSS** + +1. User requests to list persons +2. System shows a list of persons 3. User requests to delete a specific person in the list -4. AddressBook deletes the person +4. System deletes the person + + Use case ends. + +**Extensions** + +* 2a. The list is empty. + + * 2a1. System shows an error message indicating no person in list. + + Use case resumes at step 2. + +* 3a. The given phone number is invalid. + + * 3a1. System shows an error message indicating person not found. + + Use case resumes at step 2. + +**Use case: UC03 - Tag an applicant** + +**MSS** + +1. User requests to list persons +2. System shows a list of persons +3. User requests to tag a specific applicant, using their name/email, with an application status +4. System tags the requested applicant with the given application status + + Use case ends. + +**Extensions** + +* 2a. The list is empty. + + * 2a1. System shows an error message indicating no applicant in list. + + Use case resumes at step 2. + +* 3a. The given name/email is invalid. + + * 3a1. System shows an error message indicating applicant not found. + + Use case resumes at step 2. + +* 4a. The tag is already added for the applicant. + + * 4a1. System shows an error message indicating tag is already added. + + Use case resumes at step 2. + +**Use case: UC04 - Find a person by name/email** + +**MSS** + +1. User requests to list persons +2. System shows a list of persons +3. User requests to find a specific person in the list by their name or email +4. System updates the list to only display the requested person Use case ends. @@ -317,11 +392,13 @@ Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unli * 2a. The list is empty. - Use case ends. + * 2a1. TalentTracker shows an error message indicating no person in list. + + Use case resumes at step 2. -* 3a. The given index is invalid. +* 3a. The given name/email is invalid. - * 3a1. AddressBook shows an error message. + * 3a1. TalentTracker shows an error message indicating person not found. Use case resumes at step 2. From b82dbab180c04d320b3059fdfc27419d787fec26 Mon Sep 17 00:00:00 2001 From: yashpola Date: Sun, 3 Mar 2024 00:58:55 +0800 Subject: [PATCH 2/2] Update DG for v1.1 --- docs/DeveloperGuide.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index f66363bfe00..cbfb2e22b06 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -408,7 +408,12 @@ Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unli 1. Should work on any _mainstream OS_ as long as it has Java `11` or above installed. 2. Should be able to hold up to 1000 persons without a noticeable sluggishness in performance for typical usage. -3. A user with above average typing speed for regular English text (i.e. not code, not system admin commands) should be able to accomplish most of the tasks faster using commands than using the mouse. +3. Should be able to display multiple lists of applicants/interviews/interviewers without a noticeable sluggishness in performance for typical usage. +4. Should be responsive in all functionality, especially updating and displaying the list after each request. +5. Should be able to reliably preserve application data across multiple sessions without risk of data loss/corruption. +6. Should not leak applicant details, especially email and phone number, outside the application. +7. Should provide specific error messages to guide users on intended usage of features. +8. A user with above average typing speed for regular English text (i.e. not code, not system admin commands) should be able to accomplish most of the tasks faster using commands than using the mouse. *{More to be added}*