From 41889f8ac7c44281462c5cdf54eade4ce04e9206 Mon Sep 17 00:00:00 2001 From: afroneth Date: Fri, 16 Oct 2020 22:25:20 +0800 Subject: [PATCH] Update DG for profile picture --- docs/DeveloperGuide.md | 104 +++++++++++++++++- .../AddProfilePictureSequenceDiagram.puml | 75 +++++++++++++ .../AddProfilePictureSequenceDiagram.png | Bin 0 -> 68280 bytes 3 files changed, 174 insertions(+), 5 deletions(-) create mode 100644 docs/diagrams/AddProfilePictureSequenceDiagram.puml create mode 100644 docs/images/AddProfilePictureSequenceDiagram.png diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index a182562b8c0..f07ecebb2a2 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -137,7 +137,7 @@ This section describes some noteworthy details on how certain features are imple #### 3.1.1 Implementation -The proposed undo/redo mechanism is facilitated by `VersionedCliniCal`. It extends `CliniCal` with an undo/redo history, stored internally as an `CliniCalStateList` and `currentStatePointer`. Additionally, it implements the following operations: +The undo/redo mechanism is facilitated by `VersionedCliniCal`. It extends `CliniCal` with an undo/redo history, stored internally as an `CliniCalStateList` and `currentStatePointer`. Additionally, it implements the following operations: * `VersionedCliniCal#commit()` — Saves the current CliniCal application state in its history. * `VersionedCliniCal#undo()` — Restores the previous CliniCal application state from its history. @@ -211,9 +211,63 @@ The following activity diagram summarizes what happens when a user executes a ne * Pros: Will use less memory (e.g. for `delete`, just save the patient being deleted). * Cons: We must ensure that the implementation of each individual command are correct. +### 3.2 Add Profile Picture feature +#### 3.2.1 Implementation + +This feature allows users to add image files to serve as the patient's profile picture. The mechanism utilises the `StorageManager#addPictureToProfile` +method to update the patients' profile pictures. + +This feature comprise of the `AddProfilePictureCommand` class. Given below is an example usage scenario and how the mechanism behaves at each step. + +![AddProfilePictureSequenceDiagram](images/AddProfilePictureSequenceDiagram.png) + +Step 1. User input is parsed to obtain the patient index and file path of the desired profile picture. + +Step 2. After successful parsing of user input, the `AddProfilePictureCommand#execute(Model model)` method is called. + +Step 3. The `StorageManager#addPictureToProfile` method is then called which adds the desired profile picture to the specified patient. + +Step 4. Next, the patient's profile picture is updated in the `Model` by calling the `Model#setPatient` method. + +Step 5. As a result of the successful update of the patient's profile picture, a `CommandResult` object is instantiated and returned to `LogicManager`. + +#### 3.2.2 Design consideration + +Aspect: Choice of component to save the profile pictures + +* Current Implementation: Save image file through `StorageManager`. + + * Pro: Mechanism can be extended from the existing architecture that the project is built upon (AB3). + + * Con: There is a need to implement additional exception handling mechanism to inform the user in cases where invalid file path is provided. + +* Alternative considered: Save image files through a new standalone class eg. `ImageCommand`. This class handles all mechanism related to profile pictures. + + * Pro: Exception handling is simplified as informing the user of invalid file path will be similar to when an invalid command is given. + + * Con: It is harder to store and update patient's profile pictures. New dependencies need to be created to associate with + the newly created `ImageCommand` class. Thus, our team decided to implement the first alternative as it follows the existing + architecture closely and minimizes the risk of breaking the existing architecture. + +Aspect: Image type + +* Current Implementation: All types of files are accepted, including `.jpg` and `.png`. + + * Pro: User do not need to convert `.jpg` to `.png` file or vice versa before setting desired image file as profile picture. This enhances usability. + + * Con: Non-image files are still stored in 'data' folder even though the patient's profile picture in CliniCal will not be updated visually. + +* Alternative Implementation: Accept only some types of files i.e `.jpg` and `.png`. + + * Pro: Acts as a form of validation check and non-image files will not be stored in the 'data' folder. This helps to save disk space. + + * Con: User is only limited to certain types of image files. As such, our team decided to implement the first alternative + as this design maximizes application usability. User will not need to spend additional time converting their images into accepted file types. + Furthermore, our team assessed that users can easily delete non-image files from the 'data' folder if the need arises. + _{more aspects and alternatives to be added}_ -### 3.2 \[Proposed\] Data archiving +### 3.3 \[Proposed\] Data archiving _{Explain here how the data archiving feature will be implemented}_ @@ -275,7 +329,7 @@ Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unli (For all use cases below, the **System** is the `CliniCal` and the **Actor** is the `user`, unless specified otherwise) -**Use case: Delete a patient** +**Use case: UC01 - Delete a patient** **MSS** @@ -298,7 +352,7 @@ Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unli Use case resumes at step 2. -**Use case: Add a patient** +**Use case: UC02 - Add a patient** **MSS** @@ -314,7 +368,7 @@ Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unli Use case resumes at step 1. -**Use case: Edit a patient** +**Use case: UC03 - Edit a patient** **MSS** @@ -337,6 +391,46 @@ Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unli Use case resumes at Step 3. +**Use case: UC04 - Add a patient's profile picture using command line interface** + +**MSS** + +1. User keys in command to add profile picture to patient +2. CliniCal adds the profile picture to the specified patient +3. CliniCal shows an updated list of patients + + Use case ends. + +**Extensions** + +* 1a. The given command is invalid. + * 1a1. CliniCal shows an error message. + + Use case resumes at step 1. + +**Use case: UC05 - Add a patient's profile picture using drag and drop** + + **MSS** + +1. User selects the desired profile picture and drags it onto the specified patient profile in CliniCal. +2. User releases mouse button. +3. CliniCal adds the profile picture to the specified patient. +4. CliniCal shows an updated list of patients. + + Use case ends. + + **Extensions** + + * 1a. The file being dragged into ClinCal application is not a valid image file. + * 1a1. Patient profile picture is not updated. + + Use case resumes at step 1. + + * 1b. The profile picture is not dragged onto a valid space that represents patient profile in CliniCal. + * 1b1. Patient profile picture is not updated. + + Use case resumes at step 1. + *{More to be added}* ## **Appendix D: Non-Functional Requirements** diff --git a/docs/diagrams/AddProfilePictureSequenceDiagram.puml b/docs/diagrams/AddProfilePictureSequenceDiagram.puml new file mode 100644 index 00000000000..c8f43ff02bf --- /dev/null +++ b/docs/diagrams/AddProfilePictureSequenceDiagram.puml @@ -0,0 +1,75 @@ +@startuml +!include style.puml + +box Logic LOGIC_COLOR_T1 +participant ":LogicManager" as LogicManager LOGIC_COLOR +participant ":CliniCalParser" as CliniCalParser LOGIC_COLOR +participant ":AddProfilePictureCommandParser" as AddProfilePictureCommandParser LOGIC_COLOR +participant "d:AddProfilePictureCommand" as AddProfilePictureCommand LOGIC_COLOR +participant ":CommandResult" as CommandResult LOGIC_COLOR +participant ":StorageManager" as StorageManager LOGIC_COLOR +end box + +box Model MODEL_COLOR_T1 +participant ":Model" as Model MODEL_COLOR +end box + +[-> LogicManager : execute("addPicture 1 f/data/image.png") +activate LogicManager + +LogicManager -> CliniCalParser : parseCommand("addPicture 1 f/data/image.png") +activate CliniCalParser + +create AddProfilePictureCommandParser +CliniCalParser -> AddProfilePictureCommandParser +activate AddProfilePictureCommandParser + +AddProfilePictureCommandParser --> CliniCalParser +deactivate AddProfilePictureCommandParser + +CliniCalParser -> AddProfilePictureCommandParser : parse("1 f/data/image.png") +activate AddProfilePictureCommandParser + +create AddProfilePictureCommand +AddProfilePictureCommandParser -> AddProfilePictureCommand +activate AddProfilePictureCommand + +AddProfilePictureCommand --> AddProfilePictureCommandParser : d +deactivate AddProfilePictureCommand + +AddProfilePictureCommandParser --> CliniCalParser : d +deactivate AddProfilePictureCommandParser +'Hidden arrow to position the destroy marker below the end of the activation bar. +AddProfilePictureCommandParser -[hidden]-> CliniCalParser +destroy AddProfilePictureCommandParser + +CliniCalParser --> LogicManager : d +deactivate CliniCalParser + +LogicManager -> AddProfilePictureCommand : execute() +activate AddProfilePictureCommand + +create StorageManager +AddProfilePictureCommand -> StorageManager : addPictureToProfile(patientName, profilePicture) +activate StorageManager + +StorageManager --> Model : setPatient() +activate Model +Model --> StorageManager +deactivate Model +StorageManager --> AddProfilePictureCommand +deactivate StorageManager + +create CommandResult +AddProfilePictureCommand -> CommandResult +activate CommandResult + +CommandResult --> AddProfilePictureCommand +deactivate CommandResult + +AddProfilePictureCommand --> LogicManager : result +deactivate AddProfilePictureCommand + +[<--LogicManager +deactivate LogicManager +@enduml diff --git a/docs/images/AddProfilePictureSequenceDiagram.png b/docs/images/AddProfilePictureSequenceDiagram.png new file mode 100644 index 0000000000000000000000000000000000000000..c8f18508c97365ba6dba0cc08319f31709bd876f GIT binary patch literal 68280 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