What is the BEST book (I mean, MOST often agreed upon) for learning proper how to diagram code (that's using UML, right? Like when you document a database and it's relationships? I have a book on just relational database design - are these two different types of UML or would I benefit from re-studying that?)? Also, I'd like this book to cover class design and 'best practices'. It doesn't have to be about
Java (although that would help). I REALLY want to learn OOP right the first time, and want to make sure that I'm designing even my simple programs correctly and to standard. And I'd like to be able to read and produce diagrams (again, I want to say UML?) of code.
Thank you all!!