jerrrren / pe

0 stars 0 forks source link

Extra Tag item in sequence diagram #7

Open jerrrren opened 1 year ago

jerrrren commented 1 year ago

Screenshot (97).png

I am not entirely sure what this tag object is supposed to represent in the UML. I don't recall this notation, but to let me know if it is something i forgot about

soc-pe-bot commented 1 year ago

Team's Response

this tag object (written in angled brackets) is supposed to represent that the instance of PropertyCollectionContainsKeywordsPredicate is created with a type parameter of Tag (i.e. we create a PropertyCollectionContainsKeywordsPredicate<Tag> object). it may be reasonable to expect developers to be able to infer this if they cross-referenced the diagram with the code provided in the team repository.

perhaps this should be included in the object type instead. however, the UML guide in the CS2103T textbook does not mention how to properly represent generic types in sequence diagrams (there is only a mention for generic types in class diagrams), so it is unclear what would be the best way to represent this.

hence, bug report deemed to be not in scope.

Items for the Tester to Verify

:question: Issue response

Team chose [response.NotInScope]

Reason for disagreement: While I agree that the there is no explicit mention of how to represent generic types in sequence diagrams( I would argue that putting the type of predicate as PropertyCollectionContainsKeywordsPredicate is perfectly fine). The fact that your object is on the lifeline of model adds to unnecessary confusion since it is unrelated to Model in any way of form. Hence this should be considered as a bug. There is a possibility that this bug occurred because using (PropertyCollectionContainsKeywordsPredicate Tag) as the class name causes Tag to be rendered in a seperately in plant uml. Even if there is no solution to this, it would be better to omit the tag then to cause tag to create a new object in the UML Diagram.


## :question: Issue severity Team chose [`severity.Low`] Originally [`severity.Medium`] - [ ] I disagree **Reason for disagreement:** [replace this with your explanation]