For most people that I know, "learning UML" is very different from learning a new language.
When you learn a new language, like French or English, you already know what you want to express with that language.
Indeed--and when I am listening to a stakeholder describe their business domain or express their expectations of what they need the solution to do, I want to express exactly what they said.
Most programmers who try to "learn UML" are not used to the process of abstracting problems and turning them into abstract designs, which is what UML is so useful for.
Agreed. but that's why I would recommend using it to express concrete domain models and the stakeholder's clear statement of expectations.
I lived in Asia for a couple of years. When I learned Chinese I first started expressing simple, concrete concepts and asking direct questions. Heck,
that was hard enough!
Expressing abstract concepts and ideas was a lot harder, and took a while before I worked up to that.
These people have to learn both the process (what to express) and the language (how to express it).
This, IMHO, is the great challenge in "learning UML". Not only do you have to learn the language (that is the simple part), you also have to learn what to use it for and why.
Mikkel
That's exactly why I approached it like a language (after all, that's what the "L" in "UML" stands for. To me, it's a notational system I use to express concepts and ideas--just as I might write notes in English, German, or any other language. This one, like Chinese, uses little picture glyphs that can pack a lot of meaning. But just knowing a few characters and grammar rules doesn't make me a poet. Likewise, knowing a few diagrams and a tool like EA doesn't make one adept at modeling.
I invite you to give it a try: go a week where you take notes using UML--first perhaps take your conventional notes and represent key ideas using a class diagram, use case, or sequence diagram (you can get a lot of mileage just from those three).
Your mileage and experience may vary, but what do you think of the concept?
raf