Your system design should conform to the Open Closed Principle so that your design should easily support new functions (e.g. change of name of security) and securities, for example, creation of BankNote record which is a subclass of Security.
You MUST apply the following design patterns for your new system
Command pattern to provide the “create”, “display”, “deposit”, “withdraw”, “undo”,
“redo” and “show undo/redo list” functions
Factory pattern or Abstract Factory Pattern to create different Command objects and Security objects (e.g. Bond object, Stock object, etc.)
Memento pattern to provide “Undo” and “Redo” functions
Hey man, you come from HK? Me too. Are you an IVE student? I was one of them. Well, I know what you are talking about so think about letting me earn your HKD$240.