Applying UML and Pattes:An Introduction to Object-Oriented Analysis and Design and the Unified Process