Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

UML in XP Methodology

0 views
Skip to first unread message

dorma...@gmail.com

unread,
Jul 19, 2007, 9:04:34 AM7/19/07
to
Folks,

I'm trying to learn XP methodology and I've been researching a lot. Th
one thing that i can't understand is where do you use UML within this
methodology? I've been using Unified Process Methodology all along and
from experience i can say that UML is a valuable tool.

Does XP completly avoid using UML or is there any other tool within XP
that replaces UML?

please help me with your advice.

thanks
john

Phlip

unread,
Jul 19, 2007, 9:16:48 PM7/19/07
to
dormantroot wrote:

> I'm trying to learn XP methodology and I've been researching a lot. Th
> one thing that i can't understand is where do you use UML within this
> methodology? I've been using Unified Process Methodology all along and
> from experience i can say that UML is a valuable tool.
>
> Does XP completly avoid using UML or is there any other tool within XP
> that replaces UML?

XP's documentation also does not exactly specify that you use a keyboard,
mouse, chair, monitor, etc, either...

Use UML to draw diagrams of your classes; for example during a code review.
At work we review each feature with our supervisor. If some classes were
complex enough to require a diagram, we would draw it. And I occassionally
run a tool that automatically generates a diagram.

Tip: Don't use UML as a way to make your classes more complex than they need
to be, or to support such classes.

--
Phlip
http://www.oreilly.com/catalog/9780596510657/
"Test Driven Ajax (on Rails)"
assert_xpath, assert_javascript, & assert_ajax


dorma...@gmail.com

unread,
Jul 20, 2007, 4:56:28 PM7/20/07
to

Philip,
what tool do you use to create the diagrams?

Phlip

unread,
Jul 20, 2007, 7:02:20 PM7/20/07
to
dormantroot wrote:

> what tool do you use to create the diagrams?

A whiteboard, paper, or RadRails.

And a diagram should not be so detailed you can't read it. It should
generally illustrate a few links between two points, like a directions route
on Google Maps. A diagram should exclude any detail that doesn't refer to
the route.

Read /Agile Modeling/ by Scott Ambler (IIRC).

John Roth

unread,
Jul 20, 2007, 10:31:12 PM7/20/07
to

XP doesn't prescribe UML because it doesn't like to do a lot of formal
design up front. Informal design is a different issue, and using UML
to sketch out possibilities on a whiteboard or piece of paper is a
great thinking tool.

It also doesn't use UML as design documentation. In XP, the code and
unit tests should be adequate for low level design documentation; if
they aren't then we encourage people to learn how to make them
readable.

Complicated systems frequently do need some high level documentation,
but we prefer that it be kept really simple, and at a high enough
level that it doesn't change from month to month. UML is much too low
level and detailed to serve this purpose.

In other words, use of UML as a FORMAL design tool is missing the
point of how TDD works.

John Roth

Phlip

unread,
Jul 21, 2007, 2:51:27 PM7/21/07
to
John Roth wrote:

> It also doesn't use UML as design documentation. In XP, the code and
> unit tests should be adequate for low level design documentation; if
> they aren't then we encourage people to learn how to make them
> readable.

Way. During a code review, the reviewer says "but what's that other class
for?" and I switch the editor tab to their test case. Each test case
Assembles the target objects, Activates one of their methods, and Asserts
its return value. So this pattern quickly and naturally reveals how objects
work together.

> Complicated systems frequently do need some high level documentation,
> but we prefer that it be kept really simple, and at a high enough
> level that it doesn't change from month to month. UML is much too low
> level and detailed to serve this purpose.

And yesterday at work, my pair and I managed to make a class go away! The
tests all still passed, so now we need less UML...

0 new messages