I certainly classify myself as a stone-thrower within the glass house who has 
no better material from which to build my abode...

I have not attempted to see whether what MS is doing with "domain-specific 
languages" in VSTS is actually as complete a solution as they might hope it 
would (or will) be.  If it's extensible without difficulty, it may be on the 
road to nirvana -- but I don't even know if they've documented it (vs making it 
totally proprietary, "usable" by the rest of us only to the extent that reverse 
engineering gives the info we need).

Calling a diagram UML does have some advantages over an identical-looking 
diagram not so labelled.  However, the best "quick overview" for an app needs 
to be constructed by someone who can make sure that there's more emphasis on 
the important parts rather than on the parts that are proximate to other things 
in an automated diagram.  If you can't see two patterns X and Y in the UML and 
understand (e.g.) which class is the "pattern" class, vs the cooperating 
class(es), having them on the diagram is not likely to give a newcomer any 
useful information.

I confess to wanting to believe that the camp that says "the best / only 
reliable documentation is the code, so you need to write in an extremely 
expressive language like Ruby" is right.  I consider that pretty close to 
"proven true" for relatively small apps.  I have yet to see anything "big" that 
has up-to-date reliable documentation that would be able to take suggest that 
UML (or anything else) can really make things better for larger problems.

The approach of TenFold Corp. is also very interesting; the fact that it's not 
obviously the best way to build apps after 10 (or is it 15?) years of 
development speaks to the fact that we're involved in what is normally called 
"a hard problem."

I do agree with "[UML] doesn't have to be complete to be [somewhat] useful"; I 
used the term "useless" more because it fit the acronym than my real view.  
"Somewhat useful" rather than "universal" would be better a better beginning.

At 03:54 AM 5/28/2006, Fabian Schmied wrote
>>I was trying to say (without being as blunt as in this message) that "naked" 
>>UML could stand for Useless Markup Language.
>
>Just because some design patterns might have similar UML class
>diagrams, I wouldn't infer UML is useless. Even if UML was "simply not
>expressive enough to fully support software development", it can be
>used for many scenarios, e.g.:
>- getting a quick overview over an application's class structure
>(class diagrams),
>- understanding how a certain algorithm involves different objects
>(sequence diagrams),
>- documenting an underlying state machine (state diagrams), etc.
>
>A modelling language doesn't need to be complete in order to be very
>useful for communication and documentation. And although I'm not a fan
>of totally UML-based software development, I consider it a great tool
>for these purposes.
>
>And the question is: what would you suggest instead? Use text instead
>of pictures to explain application design? Use some home-brewn
>graphical method instead of UML? What's the alternative?
>
>Fabian


J. Merrill / Analytical Software Corp

===================================
This list is hosted by DevelopMentorĀ®  http://www.develop.com

View archives and manage your subscription(s) at http://discuss.develop.com

Reply via email to