Can an OO approach be used to develop any system? What are the strengths of object orientation? What are its weaknesses? Give an example of a system where object orientation would not be an appropriate development strategy.
Propose a redesign of your software architecture for the system of automated banking machines from the previous exercise so that it improves performance. Propose an alternate redesign that improves security. Does your strategy to improve performance adversely affect security, or vice versa?