From 5fa478cbeb617548383c49bdd08a004ed9848f70 Mon Sep 17 00:00:00 2001 From: bryanyee33 Date: Tue, 5 Mar 2024 13:51:57 +0800 Subject: [PATCH 1/2] Update product scope and user stories --- docs/DeveloperGuide.md | 38 +++++++++++++++++++++++++++----------- 1 file changed, 27 insertions(+), 11 deletions(-) diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index 0e7511354f5..f30c177b851 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -274,29 +274,45 @@ _{Explain here how the data archiving feature will be implemented}_ **Target user profile**: -* has a need to manage a significant number of contacts +* logistic managers +* has a need to manage a significant number of POCs & assets * prefer desktop apps over other types * can type fast * prefers typing to mouse interactions * is reasonably comfortable using CLI apps -**Value proposition**: manage contacts faster than a typical mouse/GUI driven app +**Value proposition**: + +* manage contacts & assets faster than a typical mouse/GUI driven app +* easily search for information by any category +* easily copy contact information to clipboard ### User stories Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unlikely to have) - `*` -| Priority | As a …​ | I want to …​ | So that I can…​ | -|----------|--------------------------------------------|------------------------------|------------------------------------------------------------------------| -| `* * *` | new user | see usage instructions | refer to instructions when I forget how to use the App | -| `* * *` | user | add a new person | | -| `* * *` | user | delete a person | remove entries that I no longer need | -| `* * *` | user | find a person by name | locate details of persons without having to go through the entire list | -| `* *` | user | hide private contact details | minimize chance of someone else seeing them by accident | -| `*` | user with many persons in the address book | sort persons by name | locate a person easily | +| Priority | As a …​ | I want to …​ | So that I can…​ | +|---|---|---|---| +| `* * *` | user | add new contacts and assets | keep track of these details | +| `* * *` | user | add tags to contacts | categorize them according to my preferences and workflow | +| `* * *` | user | delete contacts | update the list if a PoC’s details are no longer needed | +| `* * *` | user | edit contacts/tags | change details without recreating contacts, as there are too many details to re-add | +| `* * *` | user | easily view my existing contacts from the GUI | visually find the contacts I'm looking for | +| `* * *` | user | easily navigate between sponsors, assets, and PoCs | access relevant information quickly | +| `* * *` | user | search contacts by name, asset, or tag | easily find the relevant PoC | +| `* *` | new user | view a drop-down suggestion of commands | efficiently navigate and utilize the app without extensive prior knowledge | +| `* *` | user | see no advertisements | not be distracted from my tasks | +| `* *` | user | add secondary personnel associated with an asset | have a backup contact if the main person is unreachable | +| `* *` | user | toggle between light/dark theme | customize the app to my preferences | +| `* *` | user | resize the app’s window | easily use multiple apps at once | +| `* *` | user | change the profile picture of each contact | easily identify them | +| `* *` | user | easily search within the system even if I mistype a few words | more easily locate relevant information | +| `* *` | hurried user | type commands even with extra whitespaces | won’t have to waste time retyping commands | +| `* *` | advanced user | type shorter commands | type commands faster | +| `* *` | advanced user | use keyboard shortcuts | use the app more efficiently | +| `*` | advanced user | add custom fields | add more information to contacts | -*{More to be added}* ### Use cases From 68fa075373d0349e191aa008afc65bb1fc0da14a Mon Sep 17 00:00:00 2001 From: bryanyee33 Date: Wed, 6 Mar 2024 10:43:47 +0800 Subject: [PATCH 2/2] Add use cases --- docs/DeveloperGuide.md | 44 ++++++++++++++++++++++++++++-------------- 1 file changed, 29 insertions(+), 15 deletions(-) diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index f30c177b851..a9b9102a13c 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -316,32 +316,46 @@ 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) - -**Use case: Delete a person** +(For all use cases below, the **System** is `AssetBook-3 (AB3)` and the **Actor** is the `user`, unless specified otherwise) +**Use case: UC1 - Add a contact** **MSS** +1. User requests to add a contact. +2. User specifies details of the contact. +3. AB3 adds the contact. -1. User requests to list persons -2. AddressBook shows a list of persons -3. User requests to delete a specific person in the list -4. AddressBook deletes the person +Use case ends. - Use case ends. -**Extensions** +**Use case: UC2 - Add an asset** +**MSS** +1. User requests to add an asset. +2. User specifies details of the asset. +3. AB3 adds the asset. -* 2a. The list is empty. +Use case ends. - Use case ends. -* 3a. The given index is invalid. +**Use case: UC3 - Assign assets to a contact** +**MSS** +1. User requests to assign an asset to the contact. +2. User specifies the contact. +3. User specifies the asset. +4. AB3 assigns the asset to the contact. - * 3a1. AddressBook shows an error message. +Steps 1-4 are repeated until all the assets are assigned to the contact. +Use case ends. - Use case resumes at step 2. +**Extensions** +* 2a. Contact was not created. + * 2a1. User exits assign request. + * 2a2. User creates the contact (UC1). + Use case resumes from step 1. +* 3a. Asset was not created. + * 3a1. User exits assign request. + * 3a2. User creates the asset (UC2). + Use case resumes from step 1. -*{More to be added}* ### Non-Functional Requirements