Skip to content

Commit

Permalink
Update DG and UG
Browse files Browse the repository at this point in the history
  • Loading branch information
MontyPython28 committed Apr 11, 2022
1 parent 83c3415 commit c524c00
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 17 deletions.
18 changes: 9 additions & 9 deletions docs/DeveloperGuide.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ The *Sequence Diagram* below shows how the components interact with each other f
Each of the four main components (also shown in the diagram above),

* defines its *API* in an `interface` with the same name as the Component.
* implements its functionality using a concrete `{Component Name}Manager` class (which follows the corresponding API `interface` mentioned in the previous point.
* implements its functionality using a concrete `{Component Name}Manager` class (which follows the corresponding API `interface` mentioned in the previous point).

For example, the `Logic` component defines its API in the `Logic.java` interface and implements its functionality using the `LogicManager.java` class which follows the `Logic` interface. Other components interact with a given component through its interface rather than the concrete class (reason: to prevent outside component's being coupled to the implementation of a component), as illustrated in the (partial) class diagram below.

Expand Down Expand Up @@ -98,7 +98,7 @@ How the `Logic` component works:
1. When `Logic` is called upon to execute a command, it uses the `AddressBookParser` class to parse the user command.
1. This results in a `Command` object (more precisely, an object of one of its subclasses e.g., `AddCommand`) which is executed by the `LogicManager`.
1. The command can communicate with the `Model` when it is executed (e.g. to add a person).
1. The result of the command execution is encapsulated as a `CommandResult` object which is returned back from `Logic`.
1. The result of the command execution is encapsulated as a `CommandResult` object which is returned from `Logic`.

The Sequence Diagram below illustrates the interactions within the `Logic` component for the `execute("delete 1")` API call.

Expand Down Expand Up @@ -216,7 +216,7 @@ The predicate is implemented in this way since updating the filteredPersonList i

**Aspect: How FindCommand executes:**

![FindCommandSequece](images/FindSequenceDiagram.png)
![FindCommandSequence](images/FindSequenceDiagram.png)

![ParseFindSequence](images/ParseFindSequenceDiagram.png)

Expand All @@ -228,7 +228,7 @@ The predicate is implemented in this way since updating the filteredPersonList i

* **Alternative 2:** Using just one predicate to encompass all the fields
* Pros: Code is cleaner and less redundant
* Cons: Implementation and testing might be harder as it is less modulariseds
* Cons: Implementation and testing might be harder as it is less modularised


### Adding the ability to export AddressBook to CSV and back
Expand Down Expand Up @@ -354,7 +354,7 @@ The following activity diagram summarizes what happens when a user executes a ne
**Aspect: Implementing Undo & redo for Packages:**

* **Possible implementation:** `UndoRedoStorage` stores both `AddressBook` state and `InsurancePackagesSet` state.
* Pros: Easy to implement. Change existing `UndoRedoStorage` methods to accomodate both data by using a wrapper class to encapsulate both `AddressBook` state and `InsurancePackagesSet` state.
* Pros: Easy to implement. Change existing `UndoRedoStorage` methods to accommodate both data by using a wrapper class to encapsulate both `AddressBook` state and `InsurancePackagesSet` state.
* Issues: `Undo` and `Redo` were able to work as intended for commands that alter `AddressBook` states such as `add`, `delete`, `edit` and `clear`.
however, it is able to `Undo` and `Redo` commands for commands that alter `InsurancePackagesSet` states such as `addp`, `deletep` and `editp`
but at a certain point, the previous `InsurancePackagesSet` states stored in `UndoRedoStorage` becomes mutated which gives rise to erroneous behaviours when executing 'Undo' and 'Redo'.
Expand Down Expand Up @@ -383,7 +383,7 @@ A tech savvy insurance agent who:
* has to manage a significant number of clients and their different profiles
* prefers quick commands to locate his clients in his address book
* has to meet up with clients to introduce new packages at different locations
* is on the move often, prefers an app that can be used efficiently and relabily on the go
* is on the move often, prefers an app that can be used efficiently and reliably on the go

**Value proposition**:
* Allow clients to be saved, ordered and filtered by different categories
Expand Down Expand Up @@ -706,7 +706,7 @@ Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unli

* 2b. User did not input the package description field (`/d`).

* 2a1. AddressBook shows an error message, saying that the command format is invalid.
* 2b1. AddressBook shows an error message, saying that the command format is invalid.

Use case ends.

Expand All @@ -732,7 +732,7 @@ Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unli

* 2b. User did not input the package description field (`/d`).

* 2a1. AddressBook shows an error message, saying that the command format is invalid.
* 2b1. AddressBook shows an error message, saying that the command format is invalid.

Use case ends.

Expand All @@ -758,7 +758,7 @@ Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unli

* 2b. The given package is still in use by a person.

* 2a1. AddressBook shows an error message, saying that the package is in use.
* 2b1. AddressBook shows an error message, saying that the package is in use.

Use case ends.

Expand Down
13 changes: 5 additions & 8 deletions docs/UserGuide.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ only packages that existing people in ClientConnect have.


* Items in square brackets are **optional**.<br>
e.g `n/NAME [t/TAG]` can be used as `n/John Doe t/important` or as `n/John Doe`.
e.g. `n/NAME [t/TAG]` can be used as `n/John Doe t/important` or as `n/John Doe`.


* Items with ``​ after them can be used multiple times including zero times.<br>
Expand All @@ -86,9 +86,6 @@ only packages that existing people in ClientConnect have.
* For example, `owes money` would create a tag with tag name "owes money", and no priority level.
* However, `owes money :p3` would create a tag with tag name "owes money", and priority level 3.


**Notes about the insurance packages:**<br>

### **General commands**

#### Viewing help : `help`
Expand Down Expand Up @@ -127,7 +124,7 @@ After adding:
Notes:
* Any tags are optional.
* Email domain must contain only **one period** and minimally ends with 2 letters:
e.g [email protected] is acceptable, [email protected] and jackson5@example is not acceptable
e.g. [email protected] is acceptable, [email protected] and jackson5@example is not acceptable
* For the insurance package indicated in the `i/` field, if an existing package with the same name does not
exist, a new one will be automatically created for you.

Expand Down Expand Up @@ -180,7 +177,7 @@ Fields:
* `t/`: tags

Notes:
* The search is case-insensitive. e.g `hans` will match `Hans`
* The search is case-insensitive. e.g. `hans` will match `Hans`
* The order of the keywords does not matter. e.g. `Hans Bo` will match `Bo Hans`
* The fields described above can be searched
* It is possible to search for multiple fields, and the order of the fields does not matter.
Expand Down Expand Up @@ -353,7 +350,7 @@ After adding:
Notes:
* Adds tag to the person at the specified `INDEX`.
* Only one tag can be added at a time.
* Duplicate tags (same tagname and priority level) cannot be added
* Duplicate tags (same tag name and priority level) cannot be added

------------------------------------------------------------------------------------
#### Editing a tag of a person: `editTag`
Expand All @@ -376,7 +373,7 @@ Notes:
* Edits person at the specified `INDEX`.
* Edits person's tag at the specified `TAG_NUMBER`.
* Only one tag can be edited at a time.
* The edited tag cannot have a duplicate tag (same tagname and priority level) in the existing tag list.
* The edited tag cannot have a duplicate tag (same tag name and priority level) in the existing tag list.

------------------------------------------------------------------------------------
#### Deleting a tag of a person: `deleteTag`
Expand Down

0 comments on commit c524c00

Please sign in to comment.