For Programmers: Free Programming Magazines  


Home > Archive > Extreme Programming > July 2007 > UML in XP Methodology









You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

 

Author UML in XP Methodology
dormantroot@gmail.com

2007-07-19, 7:03 pm

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

2007-07-19, 10:01 pm

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


dormantroot@gmail.com

2007-07-20, 7:04 pm

On Jul 19, 8:16 pm, "Phlip" <phlip...@yahoo.com> wrote:
> dormantroot wrote:
>
>
> 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


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

Phlip

2007-07-20, 7:04 pm

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).

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


John Roth

2007-07-20, 10:01 pm

On Jul 19, 7:04 am, dormantr...@gmail.com wrote:
> 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


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

2007-07-21, 7:01 pm

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...

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


Sponsored Links







Also available: Server administration forum archive | Web Design forum archive | Software forum archive | Hardware reviews archive

Copyright 2008 codecomments.com