UML and Pattern Application - Introduction to Object-Oriented Analysis and Design