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