Skip to content

Latest commit

 

History

History
39 lines (26 loc) · 1.85 KB

File metadata and controls

39 lines (26 loc) · 1.85 KB

TutorialGroupMaster Design

TutorialGroupMasterDiagram
Figure 1. Structure of the TutorialGroupMaster

The TutorialGroupMaster,

  • stores all Unique Identifiers (UIDs) of TutorialGroup.

  • stores all TutorialGroup instances that are present in the SuperTA client.

  • exposes an unmodifiable ObservableList<TutorialGroup> that can be 'observed'.

  • Removes any references to a Student instance that has been deleted in all TutorialGroup s.

  • does not depend on any other component to operate.

Note
The TutorialGroupMaster handles generation of UIDs as well. If a TutorialGroup is inserted when some other TutorialGroup instance has the same ID, then TutorialGroupMaster will automatically generate a unique suffix and use that as the id of the inserted TutorialGroup.

The TutorialGroupMaster is able to handle lookup of TutorialGroup by ID quickly because it stores all id values in a Set. This notion of a master is necessary so we can handle operations such as removing all references to a deleted Student.

TutorialGroup Model

TutorialGroupDiagram
Figure 2. Structure of the Storage Component

The TutorialGroup model,

  • has a list of Student s that belong to it.

  • has a list of Assignment s that belong to it.

  • should only contain Student s that are in the main client.

Note
The TutorialGroup model houses all other object instances that are crucial to the operation of the client. This is done because it makes logical sense - Student s and Assignment s should belong to a TutorialGroup .