Re: Is UML of any value in SW-Projects?
On Dec 7, 3:53 am, =D6=F6 Tiib <oot...@hot.ee> wrote:
On Dec 6, 6:02 pm, James Kanze <james.ka...@gmail.com> wrote:
On Dec 5, 6:42 pm, =D6=F6 Tiib <oot...@hot.ee> wrote:
On Dec 5, 8:12 pm, Student <inva...@amitrader.com> wrote:
A question to C++ developers:
Is UML of any value in SW-Projects, or is it more an academic toy?
Depends what you mean by UML.
UML as language for describing all SW design with a CASE tool does no=
t
work too well in C++ projects. The tools both parse and generate C++
code rather weakly, so there one will face more pain than gain.
That's news to the numerous well run projects which do use UML
for round trip design in C++. At least Rational Rose (the one
I've used most) does a very good job in parsing and generating
C++ code. If the tool you used didn't, blame the tool, not the
concept itself.
Interesting. To me Rational has always left impression of company that
makes most terrible tools available.
Terrible in what way? And compared to what?
I've used a number of Rational tools, and generally been quite
satisfied: the only competitor to Rose I've used was Together,
and Rose seemed significantly better. (That may be simply
because I never learned Together as well. But at least on
a Sparc, Together was horribly slow, enough to make it painful
to use.) As for their other tools, Clearcase is by far the best
source code control system I've used, and until recently, Purify
was the standard for memory leak detection (but valgrind has
become very good as well now, and is easier to use).
Only thing i found attractive about them was prominent price.
We must have different ideas regarding what is "attractive" with
regards to price. IMHO, Rational's pricing and licensing
policies can only be considered disuasive.
About like Oracle in database world. Unlike Oracles
databases, Rational tools however were never worth that price.
The problem with UML is (i suspect) conceptual. C++ has more concepts
and idioms supported than UML is capable to display. So no wonder that
a CASE tool can not convert them one to one.
Which, for example, can't be supported by UML and Rose? As
I said, I've done complete projects where everything was managed
in Rose, without any real problems (and without the need to
escape to the source level for specific idioms).
Some things are better described in English than with UML
diagrams. And mixing English text and UML (and other types of
diagrams) is a weak point of all of the systems I've seen. But
for a lot of applications, the UML part is significantly more
important than the English text, and you can live with the
weakness of the editor used for annotations in Rose. (In the
worst case, you can type the text in vim, and copy/paste it into
the Rose annotation box. But at least the last time I used it,
Rose didn't support things like HTML formatting in its text
fields.)
--
James Kanze