The system metaphor is a story that everyone - customers, programmers, and managers - can tell about how the system works.
It's a naming concept for classes and methods that should make it easy for a team member to guess the functionality of a particular
class/method, from its name only.
For example a library system may create loan_records(class) for borrowers(class),
and if the item were to become overdue it may perform a make_overdue operation on a catalogue (class).
For each class or operation the functionality is obvious to the entire team.
We would like to suggest you the following list of usefull resources on the topic: