Skip to content
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-T13-3] WhereGotTime #36

Open
wants to merge 525 commits into
base: master
Choose a base branch
from

Conversation

yeapcl
Copy link

@yeapcl yeapcl commented Oct 1, 2020

An app that detects time table clashes

Copy link

@AmeliaTYR AmeliaTYR left a comment

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!

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

### Edit Function<br/>

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.

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

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

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

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

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

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

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/>

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

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.

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.


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

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

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


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

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

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.


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

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.



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

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.

Copy link

@arindamshivatrip arindamshivatrip left a comment

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.

|v1.0|new user|compare my timetable with my friends|schedule a common time for revision together|
|v2.0|user|have my password encrypted|only I can access my own timetables|
|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

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



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

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.


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

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.

* 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.

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?


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

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

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.

@@ -31,4 +174,27 @@

## Instructions for manual testing
Copy link

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
Copy link

@wangwaynesg wangwaynesg left a comment

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!

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/>

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?

* UserList: The Class that creates an ArrayList where the User objects will be stored

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

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? 😄

Copy link
Member

@TanJunHong TanJunHong left a comment

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.


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

![Architecture Sequence Diagram](images/ArchitectureSequenceDiagram.png)
Copy link
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?

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
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?


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

![](images/DeleteCommand_umlDiagram.png)
Copy link
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?


### Clear Function

#### System Architecture of the Clear Function<br/>
Copy link
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?

* UserList: An arraylist of User<br/>

#### Design of the Compare Function<br/>
![](images/CompareCommand_UML_Diagram.jpg)<br/>
Copy link
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?

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

UML Class Diagram of the Add function:
![](images/uml.PNG)<br/>
Copy link
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 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

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 on lines +161 to +162

![](images/ListCommand_umlDiagram.png)
Copy link

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 on lines +168 to +169
#### Sequence Design of List Function<br/>
![](images/ListCommand_SequenceDiagram.png)<br/>
Copy link

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 on lines +192 to +193
#### Sequence Design of Find Function<br/>
![](images/FindCommand_SequenceDiagram.png)<br/>
Copy link

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?


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

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 on lines +218 to +219
#### Sequence Design of Compare Function<br/>
![](images/CompareCommand_SequenceDesign.jpg) <br/>
Copy link

@yuxinwu99 yuxinwu99 Oct 30, 2020

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 on lines +168 to +169
#### Sequence Design of List Function<br/>
![](images/ListCommand_SequenceDiagram.png)<br/>
Copy link

@yuxinwu99 yuxinwu99 Oct 30, 2020

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

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/>

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.