Title: Object-Oriented Software Engineering Using UML, Patterns, and Java