Conclusion
That's it for this series of articles on UML. I hope they've been useful and enjoyable. The UML specification is a large document that contains far more than can be described in five short articles. However, for day-to-day use, the small subset of the complete notation described in these articles is usually more than enough to get the job done. Certainly for expressing the overall structure and behavior of non-trivial, Java-based systems in a concise way, UML is the best tool we have today. When we need more detail, there is no replacement for the actual Java source code itself. It is probably appropriate to let the UML Reference Manual have the final word:
"UML must work with various implementation languages without incorporating them explicitly. We felt UML should permit the use of any (or at least many) programming languages, for both specification and target-code generation. The problem is that each programming language has many semantic issues that we did not want to absorb into UML, because they are better handled as programming-language issues..."5