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

[F09-1] NUSSU-Connect #23

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

Conversation

melvintjc96
Copy link

Copy link

@stephlewyh stephlewyh left a comment

Choose a reason for hiding this comment

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

Dear team F09-1,

Your team is progressing well and steadily in terms of implementation and documentation. To view your own progress, you could also go to your upstream repo page click 'project insights' tab for activity statistics.

Some housekeeping points you should note moving ahead:

  • Each team member should implement at least 1 feature with a UML diagram. As for UML diagrams, they should not include too low-level details or be too big, as that would go against the top-down approach for documentation.

demonstrates the flow of operation and interaction between the `Logic` and `Model` component in the login mechanism.
Specifically, the diagram shows what happens when the user inputs the correct login credentials.

image::LoginSequenceDiagram.png[width="800"]

Choose a reason for hiding this comment

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

Good use of sequence diagram, based on the following:

  • drew proper lifelines for each object
  • specified invocation method
  • use dashed arrows for return calls.

You may consider using minimal notation:
To reduce clutter, activation bars and return arrows may be omitted if they do not result in ambiguities or loss of information. Informal operation descriptions such as those given in the example below can be used, if more precise details are not required for the task at hand.

Step 1. The user launches the application for the first time. The `filteredLoginDetails` object will be initialized with
a list of all the accounts in `LoginBook`.

image::InitialLoginBookList.PNG[width="300"]

Choose a reason for hiding this comment

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

Good job in providing snapshots of the dataset for verification.


The activity diagram below shows the overall picture of how the login mechanism works.

image::LoginActivityDiagram.png[width="800"]

Choose a reason for hiding this comment

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

Again, good attempt to include activity diagram to illustrate the workflow of your feature.
Points to improve here:

  • it is okay to not explicitly state 'User-System Activities' and 'Condition check' the rectangle /w round corners and diamonds are understood as standard notation in UML.
  • likewise you may exclude 'start of login process' and 'terminator', as the solid circles already convey the meaning.
  • you can shorten the guard as well.

Please refer to the module website on the topic of Modeling>Activity Diagrams.


Step 7. Finally a success message is displayed with the details that have been entered by the user.

image::ExecuteBudgetCommand.png[width="800"]

Choose a reason for hiding this comment

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

These snapshots be put in the user guide instead, and replace the UI mockups.
Since you have already listed the sequence of steps, it is okay to use a sequence diagram as part of your design process.

Alternatively you may choose to use an activity diagram to model workflows.


The image below is the sequence diagram for the functioning of the `budget` command:

image::BudgetCommandSequenceDiagram.png[width="800"]

Choose a reason for hiding this comment

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

There are some notation errors here. Consider how the activation bar is started and stopped by a method call. See below explanation from module website:
screenshot 2018-10-19 16 56 55

Choose a reason for hiding this comment

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

Alternatively you may opt for minimal notation:
screenshot 2018-10-19 17 04 01


This method will simply empty the stack.

image::clearSearchHistoryStack.png[width="800"]

Choose a reason for hiding this comment

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

Excellent job here in illustrating how the stack works.


- `undosearch` command +

image::undoSearchSequenceDiagram.png[width="800"]

Choose a reason for hiding this comment

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

Good job for drawing the sequence diagram on the following:

  • drew proper lifelines for each object
  • specified invocation method
  • used dashed arrows for return calls.
  • clear separation of Logic classes and Model classes


Before executing the command:

image::aslbefore.png[width="800"]

Choose a reason for hiding this comment

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

Again the before and after snapshots of the UI are not mandatory here. Perhaps you could include them in the User guide. You may try to draw a UML diagram to describe your design. Note that each team member should provide at least 1 feature accompanied by 1 UML diagram.

* **Alternative 2 (Current Choice)**: Separating the Skill and SkillLevel classes into different classes.

** Pros: Easier to test.
** Cons: Adds to the number of classes unnecessarily.

Choose a reason for hiding this comment

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

Note that SkillLevel would be an association class. The additional information can be encapsulated in the class.


* **Alternative 2 (Current Choice)**: Separating the Skill and SkillLevel classes into different classes.

** Pros: Easier to test.

Choose a reason for hiding this comment

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

How is it easier to test? You could explain in a little more detail.

melvintjc96 and others added 30 commits November 12, 2018 22:03
Fixed portfolio link for derpyplops
Updated login sequence diagram to fit PPP 10 page limit
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants