c-wenlong / pe

0 stars 0 forks source link

Mislabelled sequence diagram (p11) #13

Open c-wenlong opened 4 months ago

c-wenlong commented 4 months ago

Description

Screenshot 2024-04-19 at 17.29.38.png

Predicate shown in the sequence diagram is under Logic, however, in the codebase, the Predicates are found under Model.

Screenshot 2024-04-19 at 17.30.42.png

Fix

Move the predicate class under the model section.

nus-se-script commented 4 months ago

Team's Response

In the CS2103T syllabus, it is not specified that boxes must refer to the package of the classes in that box.

Items for the Tester to Verify

:question: Issue response

Team chose [response.Rejected]

Reason for disagreement: ## Severity to be dropped from Low to VeryLow.

Screenshot 2024-04-23 at 14.13.46.png

Referring to forum post #963, the boxes (Logic, Model) refer to components (in this case is the Model package as well). The Predicate class should be in the Model component instead of the Logic component in the Sequence Diagram because:

  1. Cohesion: Predicates are closely tied to the fields and the inherent properties of the objects in the Model. Keeping them in the Model ensures that all the functionalities related to data management are encapsulated within the Model.
  2. Reusability: Placing the Predicate classes in the Model makes them more reusable across different parts of the application. Any part of your application requiring filtering based on Model fields can leverage these Predicate classes without depending on the logic used for command parsing and processing.
  3. Decoupling: Keeping Predicate classes in the Model also helps in maintaining a decoupling between the operational logic (how inputs are parsed and commands are processed) and the underlying data structures and their associated operations. This separation ensures that changes in the command parsing logic do not necessitate changes in the filtering logic, and vice versa.

It could be misleading to place Predicate under Logic instead. However, I also understand that this would not hinder the use of the product, hence, I would like to propose the severity to be dropped from Low to VeryLow.