Object-Oriented Analysis and Design with Applications (2nd Edition)