sumhungyee / pe

0 stars 0 forks source link

DG: Figure 8 is not a sequence diagram, dotted arrowheads must show dependencies if it is a class diagram #18

Open sumhungyee opened 1 year ago

sumhungyee commented 1 year ago

image.png

Can be elevated to high because even as a class diagram, there are errors. (Dotted lines imply dependencies, but a creation is unlikely to be a dependency)

nus-pe-bot commented 1 year ago

Team's Response

Thanks for the report!

Our team agrees that there is an error in the labelling as it is indeed a class diagram instead of a sequence diagram. However, we believe the diagram is correct as a class diagram.

From the sentence "Dotted lines imply dependencies, but a creation is unlikely to be a dependency", it implies that there is a suggestion to either (1) change the dotted line for relationships with the label 'creates' into solid lines (associations) instead, or (2) remove the dependency altogether.

However, (1) is not what we are trying to convey, as these relationships are not associations.

From the textbook:

image.png

But in the actual implementation of our XYZParsers, there is no actual reference of any other objects being kept. For instance, this is a snippet of our AddStudentCommandParser, which stores no attributes:

image.png

Our team also believes that (2) is not the most accurate representation, as these classes do indeed depend on the classes they create to instantiate these objects. This would be an example of a "using" dependency in UML, which indicates that one class depends on another for some specific functionality. For example, XYZCommandParser depends on XYZCommand in order to create instances of XYZCommand.

Therefore, we felt that this issue only concerns the typo, which should be of very low priority as developers should be able to recognise class diagrams apart from sequence diagrams. This means that the typo is unlikely to cause developers confusion and does not cause any real inconvenience to developers.

Items for the Tester to Verify

:question: Issue severity

Team chose [severity.VeryLow] Originally [severity.Medium]

Reason for disagreement: [replace this with your explanation]