My course notes have stated that a system should have a system class which coordinates the behaviour of all other objects in the system and should be one which is instantiated only once.
In many real life examples encountered such as a Library or a Hotel, it is clear that the Library or Hotel class would be the system class. In my system however there is no clear candidate as all the classes I currently have in my class diagram could be instantiated multiple times.
For context the system I am working on can be analogous to a website such as https://uk.pcpartpicker.com/ where a user can login, create a new build project, and then select pc parts for that build. I have modelled the following classes with justification in brackets:
- User (details of the user must be in the system)
- Build (it is a container for pc parts)
- PcPart (there will be many pc parts in one build)
Clearly the system can have any number of users, who can create any number of builds, which can contain multiple pc parts.
So by the definition of a system class, none of these are good candidates.
How would I define the system class in this case?