-
Notifications
You must be signed in to change notification settings - Fork 282
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[CS2113-T14-1] SmartHomeBot #40
base: master
Are you sure you want to change the base?
[CS2113-T14-1] SmartHomeBot #40
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In general, insufficient sample input/outputs, but the rest of the DG is rather well done! Really neat overall presentation and appropriate levels of design details.
|
||
public class Main { | ||
|
||
private TextUi ui = new TextUi(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@@ -0,0 +1,241 @@ | |||
package seedu.smarthomebot.logic.parser; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
An area to consider for improvement is the consistency of the visuals used. For example, some images have colours while others do not. Some images are also a bit repetitive. On the other hand, the developer guide is ultimately very comprehensive and detailed.
|
||
The class diagram of `Data Component` is shown below: | ||
|
||
![Data Component](images/diagrams/ClassDiagram_DataOverview.png) <br> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should the arrowheads of the arrows pointing from the various appliance classes (Light, AirConditioner etc) to the Appliance class be unfilled (i.e. filled with white)?
|
||
The sequence diagram for `OnCommand` is shown below: | ||
|
||
![Sequence of On Command](images/diagrams/Sequence_OnCommand.png) <br> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should the sequence diagrams be separated into different images for easier viewing? Would it be better to use colours?
|
||
The class diagram of `Data Component` is shown below: | ||
|
||
![Data Component](images/diagrams/ClassDiagram_DataOverview.png) <br> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In the composition relationships, is the multiplicity for the "whole" object necessary?
The rest of the App consists of four components. | ||
* `Ui`: The user interface where user can enter instructions and view output. | ||
* `Logic` The command executor which consists of, | ||
* `Paser`: Extract the keyword from user input |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this a typo?
docs/DeveloperGuide.md
Outdated
#### Sequence Diagram for `on` | ||
|
||
![Parser Model Component](images/diagrams/Sequence_Parser_On.png) | ||
|
||
#### Sequence Diagram for `off` | ||
|
||
![Parser Model Component](images/diagrams/Sequence_Parser_Off.png) | ||
|
||
#### Sequence Diagram for `list` | ||
|
||
![Parser Model Component](images/diagrams/Sequence_Parser_List.png)<br><br> | ||
When the user enters the `list` command, the | ||
`prepareListCommand(arguments)` is called. It will check if the argument contains “appliance’ or ‘location”. | ||
1. If the arguments contains “location”, a new `ListCommand(LOCATION_TYPE, ““)` will be returned. | ||
|
||
2. If the arguments contains “appliance”, it will check if it contains a “l/” parameter. If it exist, it | ||
means there is a filteredLocation, thus a new `ListCommand(APPLIANCE_TYPE, filteredLocation)` will be returned. | ||
Else, a new `ListCommand(APPLIANCE_TYPE, ““)` will be returned. | ||
|
||
3. Any argument that does not contains “location” and “appliance” or contains “appliance” with a wrong | ||
format will return a `InvalidCommand` class with their respective error messages. | ||
|
||
#### Sequence Diagram for `commandword` | ||
|
||
![Parser Model Component](images/diagrams/Sequence_Parser_Commandword.png) | ||
|
||
`commandword` refers to the following commands `help`, `usage`, `p_reset`, `exit`. | ||
As these 4 commands does not require any additional parsing. The sequence diagram referred above will return their | ||
respective CommandObject to execute the command. | ||
|
||
|
||
#### Sequence Diagram for `default` | ||
|
||
![Parser Model Component](images/diagrams/Sequence_Parser_Default.png) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Are these sequence diagrams a bit repetitive?
* Help: `help` | ||
* Create a location: `create` | ||
* Remove a location: `remove` | ||
* Add an appliance: `add` | ||
* Delete an appliance: `delete` | ||
* Switch ON an appliance: `on` | ||
* Switch OFF an appliance: `off` | ||
* Listing appliance/location: `list` | ||
* Displaying usage of appliance: `usage` | ||
* Resetting usage of appliance: `p_reset` | ||
* Exiting the application: `exit` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You may indicate the corresponding input format here for clearity
#### Sequence Diagram for `on` | ||
|
||
![Parser Model Component](images/diagrams/Sequence_Parser_On.png) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You may add a very short description for this part even though it is quite clear what this method does
#### Sequence Diagram for `off` | ||
|
||
![Parser Model Component](images/diagrams/Sequence_Parser_Off.png) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You may add a very short description for this part even though it is quite clear what this method does
## Design & implementation | ||
## Table of Contents |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Overall very clear DG for me to understand what your product about
Overall good DG |
Updated invalid type error message
Updated create command part in UG for better clarity
# Conflicts: # src/test/java/seedu/smarthomebot/logic/commands/RemoveCommandTest.java
Added Junit Test and Assertion
Update to UserGuide and Developer Guide
Updating image in UserGuide
# Conflicts: # docs/UserGuide.md
Update DG
Updated PPP
Updates for Printing Style
Minor adjustments for printing
PPP updated
Minor edit on the PPP and DG
Fix on format error
Minor amendment on personal PPP
PPP updates
Final DeveloperGuide.md update
Update of PPP for V2.1
SmartHomeBot helps disabled working adults to consolidate all of the home appliance’s control into a centralised system. Users can also review and monitor electricity usage.