From d0ebf97320de0c3c31474fac5458a7023f4845f9 Mon Sep 17 00:00:00 2001 From: ChenKangg Date: Sun, 31 Mar 2024 21:10:00 +0800 Subject: [PATCH] add tag sequence diagram --- docs/DeveloperGuide.md | 8 ++++++++ docs/TagSequenceDiagram.png | Bin 0 -> 34135 bytes docs/team/TagSequenceDiagram.puml | 25 +++++++++++++++++++++++++ 3 files changed, 33 insertions(+) create mode 100644 docs/TagSequenceDiagram.png create mode 100644 docs/team/TagSequenceDiagram.puml diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index 786eea548f..08ccaffaf5 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -64,6 +64,14 @@ Step 2. After the user has added new travel activities into the `travelActivityL Step 3. The method will loop through each activity in `travelActivities` and add up all the expenses. +### Tag feature + +The tag feature is implemented through the tagCommand method, which allows users to add tags to specific travel activities stored in the system. + +The sequence diagram depicts the interaction between the user, the tagCommand method, the TravelActivityList instance, and the OmniException instance. + +![TagSequenceDiagram.png](TagSequenceDiagram.png) + ## Product scope ### Target user profile diff --git a/docs/TagSequenceDiagram.png b/docs/TagSequenceDiagram.png new file mode 100644 index 0000000000000000000000000000000000000000..909fd9bb8bd1b9ff0020e9d4c9349ff72aa28d62 GIT binary patch literal 34135 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 Zn6wm$*o54RqUhgNR#2CJam6C^e*kjBw_yMP literal 0 HcmV?d00001 diff --git a/docs/team/TagSequenceDiagram.puml b/docs/team/TagSequenceDiagram.puml new file mode 100644 index 0000000000..64de501121 --- /dev/null +++ b/docs/team/TagSequenceDiagram.puml @@ -0,0 +1,25 @@ +@startuml +'https://plantuml.com/sequence-diagram + +actor User + +participant "tagCommand(line: String, list: TravelActivityList)" as tagCommandMethod +participant "list: TravelActivityList" as TravelActivityListInstance +participant "OmniExceptionInstance: OmniException" as OmniExceptionInstance + +User -> tagCommandMethod: tagCommand(line, list) +activate tagCommandMethod + +tagCommandMethod -> tagCommandMethod: line.split(" ") +alt command.length == 3 && isNumeric(command[1]) + tagCommandMethod -> tagCommandMethod: int listNumber = Integer.parseInt(command[1]) + tagCommandMethod -> tagCommandMethod: String tag = command[2] + tagCommandMethod -> TravelActivityListInstance: tagActivity(listNumber, tag) +else command.length == 2 + tagCommandMethod -> OmniExceptionInstance: OmniException("Please specify a tag name") +else + tagCommandMethod -> OmniExceptionInstance: OmniException("Please specify which task to tag") +end + +deactivate tagCommandMethod +@enduml \ No newline at end of file