Nouns survived, verbs didn’t
Seven classes were built. Six stayed on the diagram. The gap is not random: everything that survived is an entity — a thing the system stores. Everything that died is an operation — a thing the system does. We built the nouns and ran out of time on the verbs, so the verbs became static methods with nowhere to live.
That is why the transfer function prints a success message and moves no money. There is no object to hold the transaction, so there is nothing to validate against.
What I would do differently
Building the transaction model first would have forced the menus to be written around it. The order you implement a model in decides how much of it survives.
The diagram as drawn