Advanced Object-Oriented Analysis And Design Using Uml by James J. Odell