Continuing from issue #64 where we modified our UI elements using QTDesigner, we are ready to begin working on the UI backend. Before we start writing any new code, we should do an object oriented analysis to model the program we are trying to build.
CRC cards can be used to brainstorm all of the classes needed. A class diagram will formally show all classes along with their fields, methods, and dependencies with other classes. A sequence diagram will show the control and data flow which can be helpful for modelling a multithreaded application.
The class diagram will utilize the Command pattern to make each outgoing command into a class. Here is a good overview of the Command pattern.
This stacked overflow post contains a good example of a sequence diagram with concurrent threads.
Summary
Continuing from issue #64 where we modified our UI elements using QTDesigner, we are ready to begin working on the UI backend. Before we start writing any new code, we should do an object oriented analysis to model the program we are trying to build.
CRC cards can be used to brainstorm all of the classes needed. A class diagram will formally show all classes along with their fields, methods, and dependencies with other classes. A sequence diagram will show the control and data flow which can be helpful for modelling a multithreaded application.
The class diagram will utilize the Command pattern to make each outgoing command into a class. Here is a good overview of the Command pattern.
This stacked overflow post contains a good example of a sequence diagram with concurrent threads.
CRC cards
UML Class diagram
UML Class diagram tutorial
Acceptance Critieria