[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

Re: [OT:usage of uml]

David Vallner

10/22/2006 10:14:00 PM

Chris Carter wrote:
> Our team does believe in Agile and XP
> design concepts, so we do a lot of testing, and speccing, which we feel
> better documents our code than UML.

And here I thought programming was an engineering discipline, and not a
religious practice. (If you confuse those two, Picocontainer happens.
/me ducks rotten vegetables.)

Also, make sure you don't forget the audience of your code and
documentation. You shouldn't document the code how you feel it's better,
but how whoever will have to read the documentation (to maintain the
code after your team moved on to greener pastures) can understand it
better Believe it or not, these things just might be different - from
the code author's point of view it can be hard to ascertain if
documentation is sufficient since you know what the code is doing /
supposed to do already. (<helen-lovejoy>Won't somebody PLEASE think of
the end users?</helen-lovejoy>)

David Vallner

10 Answers

Thomas Adam

10/22/2006 10:19:00 PM

0

On Mon, Oct 23, 2006 at 07:14:09AM +0900, David Vallner wrote:
> Chris Carter wrote:
> > Our team does believe in Agile and XP
> > design concepts, so we do a lot of testing, and speccing, which we feel
> > better documents our code than UML.
>
> And here I thought programming was an engineering discipline, and not a
> religious practice. (If you confuse those two, Picocontainer happens.
> /me ducks rotten vegetables.)

I always found the following quite an interesting read:

http://starshine.org/xteddy/thomas/~n6tadam/CodeAs...

-- Thomas Adam

--
"Wanting to feel; to know what is real. Living is a lie." -- Purpoise
Song, by The Monkees.

Rick DeNatale

10/24/2006 11:24:00 PM

0

On 10/22/06, Thomas Adam <thomas.adam22@gmail.com> wrote:
> On Mon, Oct 23, 2006 at 07:14:09AM +0900, David Vallner wrote:
> > Chris Carter wrote:
> > > Our team does believe in Agile and XP
> > > design concepts, so we do a lot of testing, and speccing, which we feel
> > > better documents our code than UML.
> >
> > And here I thought programming was an engineering discipline, and not a
> > religious practice. (If you confuse those two, Picocontainer happens.
> > /me ducks rotten vegetables.)
>
> I always found the following quite an interesting read:
>
> http://starshine.org/xteddy/thomas/~n6tadam/CodeAs...
>

Hmm, I'm having a deja-vu.

I organized a panel discussion at OOPSLA '93 on "The Role of Methods
and CASE in OO Software Development"
http://www.math.utah.edu/ftp/pub/tex/bib/idx/sigplan1990/27/10/14...

Grady Booch was on the panel, this was IIRC before the three amigos
and the convergence on UML.

Dave Thomas* took the position that the best possible CASE tool was a
code browser.

* A different one, the guy who started Object Technology
International, now enjoying life in the Caribean after making his
fortune selling Smalltalk and OTI to IBM.
--
Rick DeNatale

My blog on Ruby
http://talklikeaduck.denh...

Giles Bowkett

10/25/2006 12:16:00 AM

0

I was going to say, didn't UML have roots in Smalltalk?

UML is kind of a priestly language, in that it doesn't really seem as
if it gets used in the real world a great deal, but in its defense,
learning UML is pretty good discipline for object-oriented programming
in any language. It's kind of anomalous, because you can't actually
code in it, yet I think learning UML probably made me a better
programmer.

--
Giles Bowkett
http://www.gilesg...

Rick DeNatale

10/25/2006 2:31:00 AM

0

On 10/24/06, Giles Bowkett <gilesb@gmail.com> wrote:
> I was going to say, didn't UML have roots in Smalltalk?

I don't know about that.

It really came about when Rational ended up hiring James Rumbaugh and
then Ivar Jacobsen (or perhaps the other way around), which put them
and Grady Booch together. Thus the "Three Amigos" were born and the
three methodologies: OMT (Rumbaugh), OOSE (Jacobsen), and Booch's
methodology were merged spinning out UML as a byproduct.

Grady was a bit of a closet Smalltalker, I believe that the prototype
of Rational ROSE was written in Smalltalk, but it was the C++ types
who seemed to be a more receptive audience to all of the hawkers of
'methodologies' back then.

> UML is kind of a priestly language, in that it doesn't really seem as
> if it gets used in the real world a great deal, but in its defense,
> learning UML is pretty good discipline for object-oriented programming
> in any language. It's kind of anomalous, because you can't actually
> code in it, yet I think learning UML probably made me a better
> programmer.

Ya think!?!

--
Rick DeNatale

My blog on Ruby
http://talklikeaduck.denh...

David Vallner

10/25/2006 3:17:00 AM

0

Giles Bowkett wrote:
> UML is kind of a priestly language, in that it doesn't really seem as
> if it gets used in the real world a great deal, but in its defense,
> learning UML is pretty good discipline for object-oriented programming
> in any language.

UML does feel overhyped when one is learning about it, and the various
round-trip end-to-end insert-more-buzzwords-here engineering tools are
for projects of a scope most people won't ever see. But it's the whole
missing the forest because there's trees in the way thing. (Or the other
way around ;)

> It's kind of anomalous, because you can't actually
> code in it, yet I think learning UML probably made me a better
> programmer.
>

I wouldn't say it's any anomalous at all. UML only lets you manipulate
the "pure" concepts of a given problem. Conceptual analysis of a problem
is a language-independent activity requiring skill. There are arguably
other ways of doing a conceptual analysis or specification of a problem,
not involving UML, and / or involving executable code (e.g. TDD), but
the UML method enforces a clean layering of the model from its
implementation. Having a method that only lets you manipulate abstract
concepts, and lets you manipulate them very efficiently (the main
diagrams of UML2 are really dead simple) can help your brain fold itself
into the shapes that are needed to understand those abstract concepts
properly.

David Vallner

Giles Bowkett

10/25/2006 3:17:00 AM

0

> > UML is kind of a priestly language, in that it doesn't really seem as
> > if it gets used in the real world a great deal, but in its defense,
> > learning UML is pretty good discipline for object-oriented programming
> > in any language. It's kind of anomalous, because you can't actually
> > code in it, yet I think learning UML probably made me a better
> > programmer.
>
> Ya think!?!

I can see my intolerance for script kiddies elsewhere on the Internet
is now revisiting me in the form of karma.

Um, yes, I think so.

--
Giles Bowkett
http://www.gilesg...

Giles Bowkett

10/25/2006 3:26:00 AM

0

> > It's kind of anomalous, because you can't actually
> > code in it, yet I think learning UML probably made me a better
> > programmer.
>
> I wouldn't say it's any anomalous at all. UML only lets you manipulate
> the "pure" concepts of a given problem.

well, anomalous in that the other programming languages I've used have
all been languages I could produce programs in.

> Conceptual analysis of a problem
> is a language-independent activity requiring skill. There are arguably
> other ways of doing a conceptual analysis or specification of a problem,
> not involving UML, and / or involving executable code (e.g. TDD), but
> the UML method enforces a clean layering of the model from its
> implementation. Having a method that only lets you manipulate abstract
> concepts, and lets you manipulate them very efficiently (the main
> diagrams of UML2 are really dead simple) can help your brain fold itself
> into the shapes that are needed to understand those abstract concepts
> properly.

I think that's right. I learned UML and really never ran into any
situation where it was of vital necessity, but I think the code I
wrote before and after probably has very real differences. the weird
thing is, tho, that UML is generally associated with "big" projects,
and pretty much everything I've done since learning UML, I think I've
actually gotten much better at eliminating unnecessary steps. it gives
you a design vocabulary, and maybe that makes it easier to spot
unnecessary steps before they happen? I'm not sure. I think it was
worth doing. I can't really say that for me personally the jury's come
in yet on UML, but I'd definitely prefer to work with programmers who
have opinions about UML than programmers who don't.

--
Giles Bowkett
http://www.gilesg...

Austin Ziegler

10/25/2006 4:32:00 AM

0

On 10/24/06, Giles Bowkett <gilesb@gmail.com> wrote:
> I was going to say, didn't UML have roots in Smalltalk?
>
> UML is kind of a priestly language, in that it doesn't really seem as
> if it gets used in the real world a great deal, but in its defense,
> learning UML is pretty good discipline for object-oriented programming
> in any language. It's kind of anomalous, because you can't actually
> code in it, yet I think learning UML probably made me a better
> programmer.

That's probably because UML is most often used for class models (more
than anything else, although business types love it for that other
nonsense diagram). Class model diagrams are a poor cousin to ER
diagrams used extensively in data modelling, and learning to do proper
data modelling helps you become a much better software developer (IMO,
you can't do good OO modelling until you know good data modelling in
general).

It also helps prevent you from unleashing stupid data designs on the
world. Too many programmers don't know squat about data modelling.

-austin
--
Austin Ziegler * halostatue@gmail.com * http://www.halo...
* austin@halostatue.ca * http://www.halo...feed/
* austin@zieglers.ca

Rick DeNatale

10/25/2006 11:59:00 AM

0

On 10/24/06, Giles Bowkett <gilesb@gmail.com> wrote:
> > > UML is kind of a priestly language, in that it doesn't really seem as
> > > if it gets used in the real world a great deal, but in its defense,
> > > learning UML is pretty good discipline for object-oriented programming
> > > in any language. It's kind of anomalous, because you can't actually
> > > code in it, yet I think learning UML probably made me a better
> > > programmer.
> >
> > Ya think!?!
>
> I can see my intolerance for script kiddies elsewhere on the Internet
> is now revisiting me in the form of karma.
>
> Um, yes, I think so.

Sorry, but having lived through some rather dubious IBM "Strategies"
which revolved around "methodologies" and magic bullets for building
"big software," I'm rather dubious about the value of some of these
things, other than to those selling the idea.

I don't suppose anyone knows about or remembers AD/Cycle.

--
Rick DeNatale

My blog on Ruby
http://talklikeaduck.denh...

Eivind Eklund

10/26/2006 9:50:00 AM

0

On 10/25/06, Rick DeNatale <rick.denatale@gmail.com> wrote:
[about UML]
> Sorry, but having lived through some rather dubious IBM "Strategies"
> which revolved around "methodologies" and magic bullets for building
> "big software," I'm rather dubious about the value of some of these
> things, other than to those selling the idea.

UML isn't a methodology. UML is a common agreement on how to draw diagrams.

I personally don't feel it gave me much, as informal diagrams had
worked fine for the communication I need to do (including my own
modelling), but the precisely defined notation frees me from having to
explain what notation I'm using to somebody else.

Eivind.