1. Pay attention that with UML, like with any other language, you are not only expressing your thoughts but also comprehending someone else’s thoughts as well. You won’t be able to communicate in English, understanding just some small subset of it that you find useful. Likewise, you have to have the complete mental model of the whole UML in order to…
Overcommunication is often even worse than no communication at all. Overcommunication is when you are sitting there on a meeting “communicating” instead of just adding value to the product.
Well … strictly speaking, it is not about strongly typed vs. weakly typed langauages; it is rather about heavy vs. lightweight VMs and frameworks.
Groovy is a weakly typed language, but its cold-start overhead is going to be even bigger than Java’s.
This is a very good concern deserving its own article. The original article was never meant to be a definitive guide to NoUML, it is just an introduction, so it leaves many important aspects of NoUML behind. Still I’ll try to briefly tackle your concern here.
In fact, you can use NoUML for both high level or low level description of your system. Abstractions could be both smallest and largest pieces of your architecture. In the article there is an example where abstractions are tiers in 3-tier architecture.
In fact, you can annotate relations, there are a lot of examples of annotated relations in the article. For example in case of Singleton pattern the relation is annotated as getInstance whereas its kind is uses.
Creates relation would be just a label of uses relation. There’s nothing special about creates that would…
The notions of being equal and being equivalent are not universal across computer science and depend very much on programming language and paradigm, you use.
In java for example, there is an equal method versus == operator analogy for being equal and being equivalent. The last one checks whether two references point out the…