UML for Java programmers - Martin, Robert Cecil (Robert C. Martin series, 2003)