From 42d1b7a21ac23d492704b778e819eb572008745b Mon Sep 17 00:00:00 2001 From: CheahYan Date: Thu, 28 Oct 2021 21:55:25 +0800 Subject: [PATCH 1/3] Updated DG for revenue --- docs/DeveloperGuide.md | 56 ++++++++++++- docs/diagrams/RevenueClassDiagram.puml | 26 ++++++ .../RevenueCommandExecuteActivityDiagram.puml | 14 ++++ .../RevenueCommandParserSequenceDiagram.puml | 74 ++++++++++++++++++ docs/images/RevenueClassDiagram.png | Bin 0 -> 10128 bytes .../RevenueCommandExecuteActivityDiagram.png | Bin 0 -> 18558 bytes .../RevenueCommandParserSequenceDiagram.png | Bin 0 -> 52100 bytes 7 files changed, 169 insertions(+), 1 deletion(-) create mode 100644 docs/diagrams/RevenueClassDiagram.puml create mode 100644 docs/diagrams/RevenueCommandExecuteActivityDiagram.puml create mode 100644 docs/diagrams/RevenueCommandParserSequenceDiagram.puml create mode 100644 docs/images/RevenueClassDiagram.png create mode 100644 docs/images/RevenueCommandExecuteActivityDiagram.png create mode 100644 docs/images/RevenueCommandParserSequenceDiagram.png diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index 0ab276319f7..6973c4024da 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -154,6 +154,60 @@ Classes used by multiple components are in the `seedu.addressbook.commons` packa This section describes some noteworthy details on how certain features are implemented. +### Revenue feature + +#### Current Implementation +{:.no_toc} + +A client's revenue is currently represented by the `revenue` field under `Person`, +which is represented by a `Revenue` object. + +The `Revenue` object contains a `Money` field called `value` which represents the amount +of money in Singapore Dollars(SGD) that the user earned from the client. This `value` can +never be null. + + + +The processing of a revenue command from the user can be split into 2 general steps: +1. Parsing the user input into a `RevenueCommand` +2. Executing the `RevenueCommand` + +Each step will be described in the sections below. + +**Step 1**: Parsing of user input + +Parsing of the user input is primarily handled by the `RevenueCommandParser` which calls other +helper classes to parse the text into the data classes `Index` and `Revenue`. + + + +`RevenueCommandParser` then creates a `RevenueCommand` using the `Index` and `Revenue` objects created. + +**Step 2**: Executing the RevenueCommand + + + +There are 2 possible outcomes from the execution of a RevenueCommand. + +1. Add a new revenue to the client +2. No changes to the client's revenue after a RevenueCommand as the total value of +the new revenue and client's original revenue is negative + +#### Design considerations +{:.no_toc} + +*Aspect*: User interface of adding and editing revenue. + +* **Alternative 1 (Current Choice):** `revenue` command adds to existing `revenue` +of client. `edit` command sets the `revenue` of client. + * Pros: Easier to implement + * Cons: User has to remember a lot of commands and to also understand the differences + between each command +* **Alternative 2:** One `revenue` command adds and edits + * Pros: Fewer commands for the user to remember + * Cons: It will be difficult to give proper error messages since we are not sure + of the user's intentions + ### Note feature #### Current Implementation @@ -164,7 +218,7 @@ which is represented by an `Note` object. The `Note` object contains a `value` field that has the type `String`, the `value` field is the description of the note given to a `Person`. - + A `Note` can be given to a `Person` through any of these 3 methods: diff --git a/docs/diagrams/RevenueClassDiagram.puml b/docs/diagrams/RevenueClassDiagram.puml new file mode 100644 index 00000000000..5602f89b2b5 --- /dev/null +++ b/docs/diagrams/RevenueClassDiagram.puml @@ -0,0 +1,26 @@ +@startuml +!include style.puml +skinparam arrowThickness 1.1 +skinparam arrowColor MODEL_COLOR +skinparam classBackgroundColor MODEL_COLOR + +package Logic { +class RevenueCommand +} + + +package Model { +class Revenue +class Index +class Revenue +} + +package Commons { +class Money +} + +RevenueCommand --> "1" Index +RevenueCommand --> "1" Revenue +Revenue --> "1" Money + +@enduml diff --git a/docs/diagrams/RevenueCommandExecuteActivityDiagram.puml b/docs/diagrams/RevenueCommandExecuteActivityDiagram.puml new file mode 100644 index 00000000000..c649d2c96c1 --- /dev/null +++ b/docs/diagrams/RevenueCommandExecuteActivityDiagram.puml @@ -0,0 +1,14 @@ +@startuml +!include style.puml +start +:Get client at index; +:Add input revenue to the client's revenue; + +if () then ([total revenue is negative]) + :Revert client's revenue back to the \nvalue before the addition; +else ([else]) + :Create new Revenue with the \nvalue of total revenue; +endif +:Return CommandResult; +stop +@enduml \ No newline at end of file diff --git a/docs/diagrams/RevenueCommandParserSequenceDiagram.puml b/docs/diagrams/RevenueCommandParserSequenceDiagram.puml new file mode 100644 index 00000000000..3e8b0ec0cd2 --- /dev/null +++ b/docs/diagrams/RevenueCommandParserSequenceDiagram.puml @@ -0,0 +1,74 @@ +@startuml +!include style.puml + +Participant ":AddressBookParser" as addressBookParser LOGIC_COLOR_T2 +Participant ":RevenueCommandParser" as revenueCommandParser LOGIC_COLOR +Participant "argMultimap:ArgumentMultimap" as argumentMultimap LOGIC_COLOR_T1 +Participant "<>\nParserUtil" as util LOGIC_COLOR_T3 +Participant "revenue:Revenue" as revenue MODEL_COLOR +Participant ":Money" as money MODEL_COLOR +Participant ":RevenueCommand" as command LOGIC_COLOR_T4 + + +addressBookParser -[LOGIC_COLOR_T2]> revenueCommandParser : parse("1 r/100.21") +activate addressBookParser LOGIC_COLOR_T2 +activate revenueCommandParser LOGIC_COLOR + +create argumentMultimap +revenueCommandParser -[LOGIC_COLOR]> argumentMultimap : ArgumentTokenizer.tokenize("1 r/100.21", PREFIX_REVENUE) +activate argumentMultimap LOGIC_COLOR_T1 + +argumentMultimap -[LOGIC_COLOR]-> revenueCommandParser +deactivate argumentMultimap + +revenueCommandParser -[LOGIC_COLOR]> util :parseIndex(argMultimap.getPreamble()) +activate util LOGIC_COLOR_T3 + +util -[LOGIC_COLOR]> argumentMultimap:getPreamble() +activate argumentMultimap LOGIC_COLOR_T1 + +argumentMultimap -[LOGIC_COLOR]-> util +deactivate argumentMultimap + +util -[LOGIC_COLOR_T3]-> revenueCommandParser :index +deactivate util + +revenueCommandParser -[LOGIC_COLOR]> util :parseRevenue(argMultimap.getValue(PREFIX_REVENUE).get()) +activate util LOGIC_COLOR_T3 + +util -[LOGIC_COLOR]> argumentMultimap:getValue(PREFIX_REVENUE).get() +activate argumentMultimap LOGIC_COLOR_T1 + +argumentMultimap -[LOGIC_COLOR]-> util +deactivate argumentMultimap + +create revenue +util -[LOGIC_COLOR_T3]-> revenue: Revenue(new Money(number)) +activate revenue MODEL_COLOR + +create money +revenue -[LOGIC_COLOR_T3]> money: Money(number) +activate money MODEL_COLOR + +money -[LOGIC_COLOR_T3]-> revenue +deactivate money + +revenue -[MODEL_COLOR]-> util +deactivate revenue + +util -[LOGIC_COLOR_T3]-> revenueCommandParser +deactivate util + +create command +revenueCommandParser -[LOGIC_COLOR]> command :RevenueCommand(index, revenue) +activate command LOGIC_COLOR_T4 + +command -[LOGIC_COLOR_T4]-> revenueCommandParser : RevenueCommand +deactivate command + +revenueCommandParser -[LOGIC_COLOR]-> addressBookParser: RevenueCommand +deactivate revenueCommandParser + +deactivate addressBookParser + +@enduml diff --git a/docs/images/RevenueClassDiagram.png b/docs/images/RevenueClassDiagram.png new file mode 100644 index 0000000000000000000000000000000000000000..9114292729a3ec7672dfb54370fbc41a1734d881 GIT binary patch literal 10128 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 QZWJVGafO#~F$4eq2Y5SH+W-In literal 0 HcmV?d00001 diff --git a/docs/images/RevenueCommandParserSequenceDiagram.png b/docs/images/RevenueCommandParserSequenceDiagram.png new file mode 100644 index 0000000000000000000000000000000000000000..427c4a73ba2c2caf66531f794916c95c7561aaae GIT binary patch literal 52100 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 Date: Thu, 28 Oct 2021 22:04:08 +0800 Subject: [PATCH 2/3] debug --- docs/diagrams/RevenueCommandExecuteActivityDiagram.puml | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/diagrams/RevenueCommandExecuteActivityDiagram.puml b/docs/diagrams/RevenueCommandExecuteActivityDiagram.puml index c649d2c96c1..807479e3aeb 100644 --- a/docs/diagrams/RevenueCommandExecuteActivityDiagram.puml +++ b/docs/diagrams/RevenueCommandExecuteActivityDiagram.puml @@ -11,4 +11,5 @@ else ([else]) endif :Return CommandResult; stop + @enduml \ No newline at end of file From b410279980f021b774147a44c08fa9f3fc41b7d2 Mon Sep 17 00:00:00 2001 From: CheahYan Date: Thu, 28 Oct 2021 22:05:51 +0800 Subject: [PATCH 3/3] debug --- docs/diagrams/RevenueCommandExecuteActivityDiagram.puml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/diagrams/RevenueCommandExecuteActivityDiagram.puml b/docs/diagrams/RevenueCommandExecuteActivityDiagram.puml index 807479e3aeb..3c14bb17911 100644 --- a/docs/diagrams/RevenueCommandExecuteActivityDiagram.puml +++ b/docs/diagrams/RevenueCommandExecuteActivityDiagram.puml @@ -12,4 +12,4 @@ endif :Return CommandResult; stop -@enduml \ No newline at end of file +@enduml