Open exetr opened 2 years ago
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.
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.
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.
The activation bars for the
UI
,Parser
,ItemList
,ShoppingList
,Storage
andNotification
objects should terminate when the constructors for the respective objects return.