From 1a0b24476ccd8c946aa4dc73e0e503f1ad0c628d Mon Sep 17 00:00:00 2001 From: Sher Yew Date: Fri, 10 Nov 2023 21:17:52 +0800 Subject: [PATCH 1/4] Updated UG and DG. --- docs/DeveloperGuide.md | 3 +- docs/UserGuide.md | 50 ++++++++++++++++--------- docs/diagrams/ModelClassDiagram.puml | 8 +++- docs/diagrams/UndoSequenceDiagram.puml | 30 ++++++++++----- docs/images/UndoSequenceDiagram.png | Bin 27508 -> 40603 bytes 5 files changed, 61 insertions(+), 30 deletions(-) diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index aac32d44592..dbc10c139cd 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -184,6 +184,7 @@ If the current `index` is at `AddressBookList.size() - 1`, `AddressBookList` wil `AddressBookList` sits in `ModelManager` class where it will be modifed whenever `ModelManager#addPerson()`, `ModelManager#deletePerson()`, and `ModelManager#setPerson()` are called, i.e., whenever `AddressBook` is changed. `ModelManager#undo()` will call `AddressBookList#undo()` and `ModelManager#redo()` will call `AddressBookList#redo()`. +![UndoSequenceDiagram](images/UndoSequenceDiagram.png) #### Design Considerations @@ -197,8 +198,6 @@ are called, i.e., whenever `AddressBook` is changed. `ModelManager#undo()` will * Pros: Less memory. * Cons: More complications on the logic side: undoing `add` = `delete`, undoing `clear` = `add` back all employees, etc. - - ### Export Data Feature #### Implementation diff --git a/docs/UserGuide.md b/docs/UserGuide.md index c319d3910c6..272a0989362 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -129,6 +129,7 @@ Examples: - `add n/Adam p/12345678 e/adam@gmail.com a/Singapore s/10000 b/5000 d/Engineering dob/2000-01-01` - `add n/John Doe p/87654321 e/john.doe@gmail.com a/Tokyo s/5000 b/2000 d/Sales dob/1992-07-21` +- `add n/Tharman Shanmugaratnam p/98723459 e/tharman@gmail.com a/Istana, Singapore s/10000 b/10000 d/President dob/1957-02-25` Executing command: `add n/Adam p/12345678 e/adam@gmail.com a/Singapore s/10000 b/5000 d/Engineering dob/2000-01-01` @@ -144,6 +145,7 @@ Examples: - `list` Lists all employees in the employee list. - `list d/Engineering` Lists all employees in the Engineering department. +- `list d/Sales` Lists all employees in the Sales department. Executing command: `list d/Engineering` @@ -165,6 +167,7 @@ Examples: - `list` followed by `delete 2` deletes the 2nd person in the employee list. - `find Betsy` followed by `delete 1` deletes the 1st person in the results of the `find` command. +- `list d/Engineering` followed by `delete 1` deletes the 1st person in the employee list. Executing command: `delete 1` @@ -176,16 +179,20 @@ Executing command: `delete 1` Edits an existing employee in the employee list by the specified index. -Format: `edit INDEX [n/NAME] [p/PHONE] [e/EMAIL] [a/ADDRESS] [s/SALARY] [b/CLAIM_BUDGET] [d/DEPARTMENT] [dob/BIRTH_DATE (YYYY-MM-DD)]` +Format: `edit INDEX [n/NAME] [p/PHONE] [e/EMAIL] [a/ADDRESS] [s/SALARY] [d/DEPARTMENT] [dob/BIRTH_DATE (YYYY-MM-DD)]` - Edits the employee at the specified `INDEX`. The index refers to the index number shown in the displayed employee list. The index **must be a positive integer** 1, 2, 3, …​ - At least one of the optional fields must be provided. - Existing values will be updated to the input values. +- Some prefixes allow for additional descriptors to accommodate a variety of input data that fits within the context of the field provided they conform to the input requirements: + - For `[n/NAME]`, specific descriptors (S/O, D/O, etc.) are allowed. Ensure that the full input between the prefix and the next space or prefix is intended as part of the name. Examples: - `edit 1 p/23423423 e/barry@example.com` Edits the phone number and email address of the 1st person to be `23423423` and `barry@example.com` respectively. +- `edit 1 n/thomas S/O anthony a/Serangoon` Edits the name and address of the 1st person to be `thomas S/O anthony` and `Serangoon` respectively. +- `edit 2 s/1000 d/Sales dob/2000-01-01` Edits the salary, department and DOB of the 2nd person to be `$1000`, `Sales` and `1 January 2000` respectively. Executing command: `edit 1 p/23423423 e/barry@example.com` @@ -210,6 +217,7 @@ Examples: - `find John` returns `john` and `John Doe` - `find alex david` returns `Alex Yeoh`, `David Li`
+- `find Bernice` returns `bernice`. Executing command: `find Bernice` @@ -243,6 +251,7 @@ Examples: - `list` followed by `claim 1 $/-500` deducts $50 from employee 1's claim budget. - `list` followed by `claim 2 $/+60` allocates additional $60 to employee 2's claim budget. +- `list` followed by `claim 3 $-1000` deducts $1000 from employee 3's claim budget. Executing command: `claim 1 $/-500` @@ -264,6 +273,7 @@ Format: `leave INDEX m/MONTHS` Examples: - `list` followed by `leave 1 m/3,4` adds leaves in March and April for the 1st employee in the list. - `list` followed by `leave 3 m/11,-12` adds a leave in Nov and removes a leave in Dec for the 3rd employee in the list. +- `list` followed by `leave 2 m/3` adds a leave in March for the 2nd employee in the list. Executing command: `leave 1 m/1,3` @@ -336,7 +346,9 @@ Format: `view [n/INDEX] [a/INDEX] [e/INDEX] [p/INDEX] [s/INDEX] [b/INDEX] [d/IN - INDEX parameters can either be a single digit or digits separated by ",". Examples: -- `view` followed by `s/1,2` displays employees with list's index of 1 and 2 respective salaries. +- `view s/1,2` displays the 1st and 2nd employee respective salaries. +- `view a/3,4` displays the 3rd and 4th employee respective addresses. +- `view dob/1,5` displays the 1st and 5th employee respective DOB. Executing command: `view p/1,5` @@ -354,6 +366,7 @@ Format: `sort name / phone / email / address / salary / claim / dep / dob [desc] Examples: - `sort name` to sort the employee list based on name in ascending order. - `sort salary desc` to sort the employee list based on salary in descending order. +- `sort claim` to sort the employee list based on claim budget in ascending order. Executing command: `sort name desc` @@ -395,6 +408,7 @@ Format: `export [file_name]` Examples: - `list` followed by `export all_data` will download all employees' attributes into a csv file. - `list d/Engineering` then `export engineering_team` will only download employees in engineering department. +- `birthday m/1` then `export birthday_Jan` will only download employees with birthdays in January. ![ExportCSVBeforeAfter](images/export.png) @@ -409,6 +423,8 @@ Current available themes: Examples: - `theme red` Changes the application theme to the red theme. +- `theme light` Changes the application theme to light theme. +- `theme green` Changes the application theme to green theme. Executing command: `theme light` @@ -455,24 +471,24 @@ Currently, HR Insight only records employees' leave months. In v2.0, we will rec ## Command summary -| Action | Format, Examples | -|---------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| **Help** | `help` | +| Action | Format, Examples | +|---------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **Help** | `help` | | **Add** | `add n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS s/SALARY b/CLAIM_BUDGET d/DEPARTMENT dob/BIRTH_DATE (YYYY-MM-DD)​`
e.g., `add n/John Doe p/87654321 e/john.doe@gmail.com a/Tokyo s/5000 b/2000 d/Sales dob/1992-07-21` | -| **List** | `list [d/DEPARTMENT]` | -| **Delete** | `delete INDEX`
e.g., `delete 3` | -| **Edit** | `edit INDEX [n/NAME] [p/PHONE] [e/EMAIL] [a/ADDRESS] [s/SALARY] [b/CLAIM_BUDGET] [d/DEPARTMENT] [dob/BIRTH_DATE (YYYY-MM-DD)]`
e.g., `edit 1 p/23423423 e/barry@example.com` | -| **Find** | `find KEYWORD [MORE_KEYWORDS]`
e.g., `find James Jake` | -| **Clear** | `clear` | -| **Claim** | `claim INDEX $/CLAIM_AMOUNT`
e.g., `claim 1 $/-500` | -| **Add Leave** | `leave INDEX m/MONTHS`
e.g., `leave 1 m/3,-4` | -| **View Leave** | `view_leave INDEX m/Month d/DEPARTMENT`
e.g.,`view_leave m/10 d/IT` | +| **List** | `list [d/DEPARTMENT]` | +| **Delete** | `delete INDEX`
e.g., `delete 3` | +| **Edit** | `edit INDEX [n/NAME] [p/PHONE] [e/EMAIL] [a/ADDRESS] [s/SALARY] [d/DEPARTMENT] [dob/BIRTH_DATE (YYYY-MM-DD)]`
e.g., `edit 1 p/23423423 e/barry@example.com` | +| **Find** | `find KEYWORD [MORE_KEYWORDS]`
e.g., `find James Jake` | +| **Clear** | `clear` | +| **Claim** | `claim INDEX $/CLAIM_AMOUNT`
e.g., `claim 1 $/-500` | +| **Add Leave** | `leave INDEX m/MONTHS`
e.g., `leave 1 m/3,-4` | +| **View Leave** | `view_leave INDEX m/Month d/DEPARTMENT`
e.g.,`view_leave m/10 d/IT` | | **Reset Leaves** | `reset_leaves` | -| **View Birthdays** | `birthday [m/MONTH]`
e.g., `birthday 10` | -| **View Attributes** | `view [n/INDEX] [a/INDEX] [e/INDEX] [p/INDEX] [s/INDEX] [b/INDEX] [d/INDEX] [dob/INDEX]`
e.g., `view s/1,2` | +| **View Birthdays** | `birthday [m/MONTH]`
e.g., `birthday 10` | +| **View Attributes** | `view [n/INDEX] [a/INDEX] [e/INDEX] [p/INDEX] [s/INDEX] [b/INDEX] [d/INDEX] [dob/INDEX]`
e.g., `view s/1,2` | | **Sort** | `sort name / phone / email / address / salary / claim / dep / dob [desc]` | | **Undo** | `undo` | | **Redo** | `redo` | -| **Export Data** | `export [file_name]`
e.g., `export engineering_dept` | +| **Export Data** | `export [file_name]`
e.g., `export engineering_dept` | | **Change Theme** | `theme THEME_NAME`
e.g., `theme light` | -| **Exit** | `exit` | +| **Exit** | `exit` | diff --git a/docs/diagrams/ModelClassDiagram.puml b/docs/diagrams/ModelClassDiagram.puml index 0de5673070d..dded0392c65 100644 --- a/docs/diagrams/ModelClassDiagram.puml +++ b/docs/diagrams/ModelClassDiagram.puml @@ -11,6 +11,7 @@ Class "<>\nModel" as Model Class AddressBook Class ModelManager Class UserPrefs +Class AddressBookList Class UniquePersonList Class Person @@ -34,6 +35,8 @@ Model .left.> ReadOnlyAddressBook ModelManager -left-> "1" AddressBook ModelManager -right-> "1" UserPrefs UserPrefs .up.|> ReadOnlyUserPrefs +ModelManager -down-> "1" AddressBookList +AddressBookList -up-> "*" AddressBook AddressBook *--> "1" UniquePersonList UniquePersonList --> "~* all" Person @@ -41,7 +44,10 @@ Person *--> Name Person *--> Phone Person *--> Email Person *--> Address -Person *--> "*" Tag +Person *--> Money +Person *--> Birthday +Person *--> Department +Person *--> Leave Person -[hidden]up--> I UniquePersonList -[hidden]right-> I diff --git a/docs/diagrams/UndoSequenceDiagram.puml b/docs/diagrams/UndoSequenceDiagram.puml index 87ff3e9237e..050b1146a0a 100644 --- a/docs/diagrams/UndoSequenceDiagram.puml +++ b/docs/diagrams/UndoSequenceDiagram.puml @@ -10,14 +10,17 @@ end box box Model MODEL_COLOR_T1 participant ":Model" as Model MODEL_COLOR -participant ":VersionedAddressBook" as VersionedAddressBook MODEL_COLOR +participant ":AddressBookList" as AddressBookList MODEL_COLOR +participant ":AddressBook" as AddressBook MODEL_COLOR end box -[-> LogicManager : execute(undo) +[-> LogicManager : execute("undo") activate LogicManager -LogicManager -> AddressBookParser : parseCommand(undo) +LogicManager -> AddressBookParser : parseCommand("undo") activate AddressBookParser +AddressBookParser -> AddressBookParser : ensureEmptyArguments(args) + create UndoCommand AddressBookParser -> UndoCommand activate UndoCommand @@ -31,17 +34,24 @@ deactivate AddressBookParser LogicManager -> UndoCommand : execute() activate UndoCommand -UndoCommand -> Model : undoAddressBook() +UndoCommand -> Model : undo() activate Model -Model -> VersionedAddressBook : undo() -activate VersionedAddressBook +Model -> AddressBookList : undo() +activate AddressBookList + +AddressBookList --> Model : addressBook + +Model -> AddressBook : resetData(addressBook) +AddressBook --> Model : +deactivate AddressBook + +Model -> AddressBookList : undoPastCommand() -VersionedAddressBook -> VersionedAddressBook :resetData(ReadOnlyAddressBook) -VersionedAddressBook --> Model : -deactivate VersionedAddressBook +AddressBookList --> Model : pastCommand +deactivate AddressBookList -Model --> UndoCommand +Model --> UndoCommand : pastCommand deactivate Model UndoCommand --> LogicManager : result diff --git a/docs/images/UndoSequenceDiagram.png b/docs/images/UndoSequenceDiagram.png index c7a7e637266b619cb915f925ccec102552979f38..e3a72d4900e8961486a35d6ba1399272184f908c 100644 GIT binary patch literal 40603 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 literal 27508 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 eTX=g$!QsU_O_KZuWAN{ Date: Fri, 10 Nov 2023 21:23:33 +0800 Subject: [PATCH 2/4] Added Redo Sequence Diagram --- docs/DeveloperGuide.md | 2 + docs/diagrams/RedoSequenceDiagram.puml | 64 +++++++++++++++++++++++++ docs/images/RedoSequenceDiagram.png | Bin 0 -> 40845 bytes 3 files changed, 66 insertions(+) create mode 100644 docs/diagrams/RedoSequenceDiagram.puml create mode 100644 docs/images/RedoSequenceDiagram.png diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index dbc10c139cd..dd1b40f070d 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -186,6 +186,8 @@ are called, i.e., whenever `AddressBook` is changed. `ModelManager#undo()` will ![UndoSequenceDiagram](images/UndoSequenceDiagram.png) +![RedoSequenceDiagram](images/RedoSequenceDiagram.png) + #### Design Considerations **Aspect: How Undo/Redo executes:** diff --git a/docs/diagrams/RedoSequenceDiagram.puml b/docs/diagrams/RedoSequenceDiagram.puml new file mode 100644 index 00000000000..b8b40624718 --- /dev/null +++ b/docs/diagrams/RedoSequenceDiagram.puml @@ -0,0 +1,64 @@ +@startuml +!include style.puml +skinparam ArrowFontStyle plain + +box Logic LOGIC_COLOR_T1 +participant ":LogicManager" as LogicManager LOGIC_COLOR +participant ":AddressBookParser" as AddressBookParser LOGIC_COLOR +participant "r:RedoCommand" as RedoCommand LOGIC_COLOR +end box + +box Model MODEL_COLOR_T1 +participant ":Model" as Model MODEL_COLOR +participant ":AddressBookList" as AddressBookList MODEL_COLOR +participant ":AddressBook" as AddressBook MODEL_COLOR +end box +[-> LogicManager : execute("redo") +activate LogicManager + +LogicManager -> AddressBookParser : parseCommand("redo") +activate AddressBookParser + +AddressBookParser -> AddressBookParser : ensureEmptyArguments(args) + +create RedoCommand +AddressBookParser -> RedoCommand +activate RedoCommand + +RedoCommand --> AddressBookParser +deactivate RedoCommand + +AddressBookParser --> LogicManager : r +deactivate AddressBookParser + +LogicManager -> RedoCommand : execute() +activate RedoCommand + +RedoCommand -> Model : redo() +activate Model + +Model -> AddressBookList : redo() +activate AddressBookList + +AddressBookList --> Model : addressBook + +Model -> AddressBook : resetData(addressBook) +AddressBook --> Model : +deactivate AddressBook + +Model -> AddressBookList : redoPastCommand() + +AddressBookList --> Model : pastCommand +deactivate AddressBookList + +Model --> RedoCommand : pastCommand +deactivate Model + +RedoCommand --> LogicManager : result +deactivate RedoCommand +RedoCommand -[hidden]-> LogicManager : result +destroy RedoCommand + +[<--LogicManager +deactivate LogicManager +@enduml diff --git a/docs/images/RedoSequenceDiagram.png b/docs/images/RedoSequenceDiagram.png new file mode 100644 index 0000000000000000000000000000000000000000..3004f7392669b24450cac4e594bad1f069e564de GIT binary patch literal 40845 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

+fMQ6j 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 Date: Fri, 10 Nov 2023 21:53:22 +0800 Subject: [PATCH 3/4] Deleted Redo Sequence Diagrams --- docs/DeveloperGuide.md | 2 - docs/diagrams/RedoSequenceDiagram.puml | 64 ------------------------- docs/images/RedoSequenceDiagram.png | Bin 40845 -> 0 bytes 3 files changed, 66 deletions(-) delete mode 100644 docs/diagrams/RedoSequenceDiagram.puml delete mode 100644 docs/images/RedoSequenceDiagram.png diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index dd1b40f070d..dbc10c139cd 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -186,8 +186,6 @@ are called, i.e., whenever `AddressBook` is changed. `ModelManager#undo()` will ![UndoSequenceDiagram](images/UndoSequenceDiagram.png) -![RedoSequenceDiagram](images/RedoSequenceDiagram.png) - #### Design Considerations **Aspect: How Undo/Redo executes:** diff --git a/docs/diagrams/RedoSequenceDiagram.puml b/docs/diagrams/RedoSequenceDiagram.puml deleted file mode 100644 index b8b40624718..00000000000 --- a/docs/diagrams/RedoSequenceDiagram.puml +++ /dev/null @@ -1,64 +0,0 @@ -@startuml -!include style.puml -skinparam ArrowFontStyle plain - -box Logic LOGIC_COLOR_T1 -participant ":LogicManager" as LogicManager LOGIC_COLOR -participant ":AddressBookParser" as AddressBookParser LOGIC_COLOR -participant "r:RedoCommand" as RedoCommand LOGIC_COLOR -end box - -box Model MODEL_COLOR_T1 -participant ":Model" as Model MODEL_COLOR -participant ":AddressBookList" as AddressBookList MODEL_COLOR -participant ":AddressBook" as AddressBook MODEL_COLOR -end box -[-> LogicManager : execute("redo") -activate LogicManager - -LogicManager -> AddressBookParser : parseCommand("redo") -activate AddressBookParser - -AddressBookParser -> AddressBookParser : ensureEmptyArguments(args) - -create RedoCommand -AddressBookParser -> RedoCommand -activate RedoCommand - -RedoCommand --> AddressBookParser -deactivate RedoCommand - -AddressBookParser --> LogicManager : r -deactivate AddressBookParser - -LogicManager -> RedoCommand : execute() -activate RedoCommand - -RedoCommand -> Model : redo() -activate Model - -Model -> AddressBookList : redo() -activate AddressBookList - -AddressBookList --> Model : addressBook - -Model -> AddressBook : resetData(addressBook) -AddressBook --> Model : -deactivate AddressBook - -Model -> AddressBookList : redoPastCommand() - -AddressBookList --> Model : pastCommand -deactivate AddressBookList - -Model --> RedoCommand : pastCommand -deactivate Model - -RedoCommand --> LogicManager : result -deactivate RedoCommand -RedoCommand -[hidden]-> LogicManager : result -destroy RedoCommand - -[<--LogicManager -deactivate LogicManager -@enduml diff --git a/docs/images/RedoSequenceDiagram.png b/docs/images/RedoSequenceDiagram.png deleted file mode 100644 index 3004f7392669b24450cac4e594bad1f069e564de..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40845 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

+fMQ6j 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 Date: Fri, 10 Nov 2023 21:57:57 +0800 Subject: [PATCH 4/4] Added RedoSequenceDiagrams --- docs/DeveloperGuide.md | 2 ++ docs/images/RedoSequenceDiagram.png | Bin 0 -> 40845 bytes 2 files changed, 2 insertions(+) create mode 100644 docs/images/RedoSequenceDiagram.png diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index dbc10c139cd..dd1b40f070d 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -186,6 +186,8 @@ are called, i.e., whenever `AddressBook` is changed. `ModelManager#undo()` will ![UndoSequenceDiagram](images/UndoSequenceDiagram.png) +![RedoSequenceDiagram](images/RedoSequenceDiagram.png) + #### Design Considerations **Aspect: How Undo/Redo executes:** diff --git a/docs/images/RedoSequenceDiagram.png b/docs/images/RedoSequenceDiagram.png new file mode 100644 index 0000000000000000000000000000000000000000..3004f7392669b24450cac4e594bad1f069e564de GIT binary patch literal 40845 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

+fMQ6j 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