exetr / pe

0 stars 0 forks source link

Activation bars should terminate once control of the execution has been returned to Fridget #13

Open exetr opened 2 years ago

exetr commented 2 years ago

The activation bars for the UI, Parser, ItemList, ShoppingList, Storage and Notification objects should terminate when the constructors for the respective objects return.

image.png

nus-pe-bot commented 2 years ago

Team's Response

This sequence diagram purpose is to only show initialization of Ui, Parser, Storage, ShoppingList, ItemList and Notification, and should not be showing any termination since all the classes are used continuously when Fridget is running. Termination of all those classes only happens when Fridget is terminated.

Items for the Tester to Verify

:question: Issue response

Team chose [response.Rejected]

Reason for disagreement: Activation bars are not used to specify the lifecycle of the classes. The termination of these classes are meant to be illustrated by a cross at the end of the lifeline (dotted vertical line). As such, I disagree with the explanation and decision provided as the diagram still incorrectly shows the initialization of the objects with improper usage of activation bars.


:question: Issue severity

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

Reason for disagreement: The current design of the sequence diagarm can be extremely confusing to developers at first glance as it implies that upon creation and subsequently, all new objects along with the parent Fridget object will be in control of the execution.

During initializaiton of the program, this is not the case as with reference to the codebase of the product, control of execution is handed back to the constructor after the object has been instantiated and assigned.

Hence, the activation bars for each of the UI, Parser, Storage, ShoppingList, ItemList and Notification classes should terminate at the point where the control is returned indicated by the dotted arrow back to the Fridget.run() method.