Skip to content

[CS2113-T13-3] WhereGotTime#36

Open
yeapcl wants to merge 525 commits into
nus-cs2113-AY2021S1:masterfrom
AY2021S1-CS2113-T13-3:master
Open

[CS2113-T13-3] WhereGotTime#36
yeapcl wants to merge 525 commits into
nus-cs2113-AY2021S1:masterfrom
AY2021S1-CS2113-T13-3:master

Conversation

@yeapcl

@yeapcl yeapcl commented Oct 1, 2020

Copy link
Copy Markdown

An app that detects time table clashes

@AmeliaTYR AmeliaTYR left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I like that a lot of effort was put into making several diagrams explaining various components of the program and the aesthetic of some of the digitally hand drawn diagrams, though further elaboration will help enhance the usefulness of your diagrams and help the user better understand your code and implementation rationale. Good work!

Comment thread docs/DeveloperGuide.md
while the other two will result in the app giving an error message
prompting the user to re-enter again.<br/>

### Edit Function<br/>

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This segment seems incomplete? Minimally some description of what these functions are instead of simply listing would be helpful to the reader.

Comment thread docs/DeveloperGuide.md Outdated
#### Design of the Add Function<br/>

UML Class Diagram of the Add function:
![](team/uml.PNG)<br/>

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The UML diagram looked a bit strange with the large blank spaces within the classes and the much smaller font used for the multiplicities.

image

Comment thread docs/DeveloperGuide.md Outdated
#### Design of the Add Function<br/>

UML Class Diagram of the Add function:
![](team/uml.PNG)<br/>

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The filled in black arrow heads were to be avoided iirc? (inheritance or association issue?)

image

Comment thread docs/DeveloperGuide.md Outdated
and location) to the timetable class into its arraylist divided by the day of the week<br/>

#### Sequence Design of Add Function<br/>
![](team/seqdiagram.jpg)<br/>

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

image

You could perhaps indicate more clearly where the arrows are coming from or going.
For the sake of neatness you could try to do the diagrams in software like powerpoint some or uml creator or something instead of writing cause the pencil marks here are a bit messy sorry

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You could also perhaps use the same software to create your uml diagrams for the sake of consistency, as the diagrams vary in style along the document.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

image

  1. parsedInputs[] cannot be a method call.
  2. "Return" lines should orginate from the point of deactivation
  3. "new event" method call line should not point backwards in time. Perhaps you can reformat this diagram such that it is a straight line.

Comment thread docs/DeveloperGuide.md Outdated

#### System Architecture of the Add Function<br/>

![](team/Architect-digram.PNG)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For this diagram it looks like the user can by pass the interface and directly add commands? Its a bit confusing whether this was intended or why it was designed this way. Further explanation on this part of the diagram would be helpful

image

Comment thread docs/DeveloperGuide.md Outdated

### Compare Function<br/>
#### System Architecture of the Compare Function<br/>
![](team/CompareCommand_ClassDiagram.jpg) <br/>

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

image

this diagram faces a similar issue of why the user can by pass the ui as mentioned above

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same issue with the second "blue" user.

Comment thread docs/DeveloperGuide.md Outdated

### Compare Function<br/>
#### System Architecture of the Compare Function<br/>
![](team/CompareCommand_ClassDiagram.jpg) <br/>

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

image

For this diagram why are there two different coloured users and why do they have different access to the program? The purpose of drawing this additional user and their role is unclear, even in the explanation below.

The duplicated timetable box is also confusing.

Comment thread docs/DeveloperGuide.md Outdated


#### Sequence Design of Compare Function<br/>
![](team/CompareCommand_SequenceDesign.jpg) <br/>

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

image

For this diagram it is a bit disorganized and confusing.

Firstly, it is a bit unclear whether the User class here refers to the User class in the compare function (in which case there shouldn't be a random method call coming from it) or if it refers to an actual user (in which case the notation should be the stick figure not the class header)

Secondly, from the CompareCommand activation bar has an unknown return coming from the middle of the activation bar, while the parsedInputs method call being made to the same activation bar is too low down. This is also the case with the activation bar for the self invoked method call execute and the common time array method call to the UI class.

It is also unclear where the method call to the UI intends to return to as it is chronologically further down than the end of the return from the parsedInputs method.

@arindamshivatrip arindamshivatrip left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ON the whole the diagrams are a little confusing. but well made and visually appealing.

Comment thread docs/DeveloperGuide.md Outdated
|v2.0|user|be assured that my inputs are correctly added|my input are correctly convey into the timetable|
|v2.0|user|access my saved timetables|I do not have to manually enter the timetables again|

## Non-Functional Requirements

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This part was left empty.
image

Comment thread docs/DeveloperGuide.md Outdated


#### Sequence Design of Compare Function<br/>
![](team/CompareCommand_SequenceDesign.jpg) <br/>

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

image
Here there is a significant lack of explaination given and the diagram appears to be slightly messy and confounding. For example what is the user written here. Is it a class or the user operating the program.

Comment thread docs/DeveloperGuide.md Outdated

### Compare Function<br/>
#### System Architecture of the Compare Function<br/>
![](team/CompareCommand_ClassDiagram.jpg) <br/>

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

image
Here is there supposed to be a chronological order to the diagram that I haven't noticed.?
If not then the 2 users and 2 timetables confound the reader.

Comment thread docs/DeveloperGuide.md
* To ensure that the users do not enter duplicate event that has the same timing or in between the time
that is entered.
* A verification check is added to the add command of the version 2.0 of WhereGotTime.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You could perhaps add a segment to explain the above sequence diagram?

Comment thread docs/DeveloperGuide.md

#### Sequence Diagram
![](team/LogInCommand_Sequence_v002.png)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Missing colons for all objects
image

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Opt should be used instead of alt here as there are no alternatives provided.

Comment thread docs/DeveloperGuide.md
@@ -31,4 +174,27 @@

## Instructions for manual testing

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it better to follow the format given in here?

tammykoh and others added 4 commits October 29, 2020 12:58
# Conflicts:
#	docs/DeveloperGuide.md
#	docs/images/Overall Architecture.png
#	docs/team/Overall Architecture.png
#	docs/team/OverallArchi.png

@wangwaynesg wangwaynesg left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Very nice developers guide! It was hard to find things to comment about!

Comment thread docs/DeveloperGuide.md
and location) to the timetable class into its arraylist divided by the day of the week<br/>

#### Sequence Design of Add Function<br/>
![](images/seqdiagram.jpg)<br/>

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perhaps this sequence diagram should be done using an online application instead of hand drawn?

Comment thread docs/DeveloperGuide.md
* UserList: The Class that creates an ArrayList where the User objects will be stored

#### Class Diagram
![](images/LogInCommand_Class_Diagram_v002.png)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perhaps some methods like getters should be omitted from the class diagram to simplify and increase readability of the class diagram? 😄

@TanJunHong TanJunHong left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall, it looks good!
There might be some mistakes here and there.

Comment thread docs/DeveloperGuide.md Outdated

The following Sequence Diagram displays how components interact when the user inputs `clear /fri`

![Architecture Sequence Diagram](images/ArchitectureSequenceDiagram.png)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This image is not loading for me. Perhaps the ".png" is supposed to be ".PNG" instead?

Comment thread docs/DeveloperGuide.md
and location) to the timetable class into its arraylist divided by the day of the week<br/>

#### Sequence Design of Add Function<br/>
![](images/seqdiagram.jpg)<br/>

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would it be better to use a software to draw the sequence diagram instead of hand drawing it?

Comment thread docs/DeveloperGuide.md

#### Design of the Delete Function<br/>

![](images/DeleteCommand_umlDiagram.png)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there a better way to show 3 arrows pointing to Ui? Perhaps a slightly larger diagram would help?

Comment thread docs/DeveloperGuide.md

### Clear Function

#### System Architecture of the Clear Function<br/>

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perhaps the system architecture of the delete and clear functions could be consolidated, since they are similar in nature?

Comment thread docs/DeveloperGuide.md
* UserList: An arraylist of User<br/>

#### Design of the Compare Function<br/>
![](images/CompareCommand_UML_Diagram.jpg)<br/>

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there a missing bracket in the getTimetable function?

Comment thread docs/DeveloperGuide.md
#### Design of the Add Function<br/>

UML Class Diagram of the Add function:
![](images/uml.PNG)<br/>

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is the bracket of the execute function supposed to be beside "execute" instead of "void"?

Comment thread docs/DeveloperGuide.md
Comment on lines +152 to +162
![](images/ListCommand_ArchitectureDiagram.png)

The Architecture Diagram given above explains the high-level design of the list command.<br/>
* UI: The User Interface of the app<br/>
* ListCommand: The main logic command of the list function<br/>
* Timetable: The arraylist where events that are added are stored accordingly<br/>
* WhereGotTime: The main logic component of the app<br/>

#### Design of the List Function<br/>

![](images/ListCommand_umlDiagram.png)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Screenshot 2020-10-29 at 4 36 24 PM

The images show arrows pointing in different directions between ListCommand and Timetable, does this matter?

Comment thread docs/DeveloperGuide.md
Comment on lines +161 to +162

![](images/ListCommand_umlDiagram.png)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Screenshot 2020-10-29 at 4 39 28 PM

class diagram is a little confusing in the relationships, does LIstCommand "users" or "uses" UI?

Comment thread docs/DeveloperGuide.md
Comment on lines +168 to +169
#### Sequence Design of List Function<br/>
![](images/ListCommand_SequenceDiagram.png)<br/>

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Screenshot 2020-10-29 at 4 41 08 PM

Does it matter if the first arrow pointing to ListCommand is a variable or method call?

Comment thread docs/DeveloperGuide.md
Comment on lines +192 to +193
#### Sequence Design of Find Function<br/>
![](images/FindCommand_SequenceDiagram.png)<br/>

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Screenshot 2020-10-29 at 4 43 37 PM

Does it matter if a variable was passed to FindCommand or should it be a method call with the variable inside?

Comment thread docs/DeveloperGuide.md

#### Sequence Diagram
![](team/LogInCommand_Sequence_v002.png)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Opt should be used instead of alt here as there are no alternatives provided.

Comment thread docs/DeveloperGuide.md
Comment on lines +218 to +219
#### Sequence Design of Compare Function<br/>
![](images/CompareCommand_SequenceDesign.jpg) <br/>

@yuxinwu99 yuxinwu99 Oct 30, 2020

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You can improve this by maybe making the arrow that indicate returning from the Ui class from the end of the activation bar, it should reach the activation bar of the execute() in CompareCommand class. Also, try to use puml for diagrams as it would be neater compared to drawing it by hand.

Comment thread docs/DeveloperGuide.md
Comment on lines +168 to +169
#### Sequence Design of List Function<br/>
![](images/ListCommand_SequenceDiagram.png)<br/>

@yuxinwu99 yuxinwu99 Oct 30, 2020

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Might be better to add an activation bar under the Ui class when printList is called. After calling the printList method, arrows can then be used to indicate returning from Ui to ListCommand and also from execute() to the ListCommand class itself

Comment thread docs/DeveloperGuide.md
and location) to the timetable class into its arraylist divided by the day of the week<br/>

#### Sequence Design of Add Function<br/>
![](images/seqdiagram.jpg)<br/>

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There should be a return arrow from the activation bar under the Timetable class to the activation bar of execute().

yeapcl and others added 5 commits October 30, 2020 15:35
* 'master' of https://github.com/AY2021S1-CS2113-T13-3/tp:
  updated UG
  Deleted unused line in ClearCommand
  Updated UG - renamed heading
  Updated DG - included sequence diagrams for delete, clear, list and find functions
  Updated UG - included design for delete, clear,  list and find functions
  Updated UG - created UML Diagrams for clear, delete, find and list commands
  Update DG - included system architecture for delete, clear, list and find functions
  Updated DG 'Architecture' section
  Changed 'Duke' to 'WhereGotTime'
  Updated 'Setting Up' section in DG
  Created folder for DG images
…ws an exeption to remind users to follow proper format login username /password.
manuelmanuntag96 and others added 30 commits November 9, 2020 20:45
Organised files
…into branch-yeapcl-Documentation

* 'master' of https://github.com/AY2021S1-CS2113-T13-3/tp:
  Updated JAR link
  Deleted temporary storage folder Updated About Us
  Fixed checkstyle Organised files
  Merge branch 'master' of https://github.com/AY2021S1-CS2113-T13-3/tp into tammy-testing
  Added test for compare command
  Added logging for list, clear, find and delete functions
  Update UserGuide.md
  Update manuelmanuntag96.md
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.