Open Source UML Tool for Ruby on Rails?

I am new to web development, Ruby on Rails, and UML as well. I was
wondering if there were any free tools available for UML design.
There is a list of free tools on wikipedia under UML tools, but I don't
understand if I need a tool that supports the ruby language. If anyone
uses a free UML tool for designing Ruby on Rails apps, please let me
know what you use.

Late last night I have come to realize that UML is probably not used by
most Rails developers.

Remember I am new to web development, but just out of curiosity: I
want to build an application that has very strict business rules such
as the strictness of a site like ebay. I know rails is meant to be
agile, through iterative development, but the business rules I have are
very exact and I feel the modeling must be done prior to development.
I have created some rough ideas of the rules on paper, but I know I am
missing somethings. I was thinking the UML would be a good way to
cover everything, and I did come across the ICONIX process.

What I am asking: Rails follows the MVC architecture. How would the
UML apply to MVC and rails development?

If anyone has suggestions of methods they use to model strict rules
prior to coding, please let me know what works for you.

Regards

I'm not getting you here - unless your business rules specify an
architecture (or whatever it is you're hoping to model with UML), then
the 2 concerns are orthogonal.

Well yes, my business rules specify an architecture. Can you elaborate
on what you mean by "the 2 concerns are orthogonal."

he means they are perpendicular +

I understand that he means perpendicular. So are you suggesting to
only do things in parallel, and because my business rules specify an
architecture, does that mean you are suggesting that I do use the UML
in parallel? The point made has been unclear and confusing.

Orthogonality in this context means that they are independent. Your
architecture should not have to change if the business rules change,
and vice versa - they are othogonal. If they are not, changes in your
business rules (which will invariable happen, on every project) will
require refactoring and architectural changes, which is not a good
thing. If business rules change, some redevelopment or additional
development can be expected, but this should not have to occur at the
architectural level.

As you haven't given any examples of the kind of business rules you
are dealing with, it's impossible to advise on whether parts of UML
could be appropriate to model the rules.

I find it hard to unambiguously express complex business processes in
UML, but some of the useful things you can do is to design a rich
domain model and support that with sequence diagrams for the main
interactions between your model classes.

BTW, a nice (free as in beer) modelling tool is the community edition
of Poseidon (www.gentleware.com).

You should not expect to find any UML modelling tools that can
generate or reverse engineer ruby code though.

Cheers,
Max

lambo4jos wrote:

Late last night I have come to realize that UML is probably not used by
most Rails developers.

Most RoR developers (may I have a show of hands?) use Developer Centric
Testing, leading up to TDD.

Remember I am new to web development, but just out of curiosity: I
want to build an application that has very strict business rules such
as the strictness of a site like ebay.

So you need zillions of unit tests that test the snot out of your Model
and Controller classes - in isolation from the GUI. Then the Views will
know any data they get is clean, and any inputs they send to the Model
are guarded.

I know rails is meant to be
agile, through iterative development, but the business rules I have are
very exact and I feel the modeling must be done prior to development.

The great thing about a good design is you can add anything after you
start coding, including a better design.

The great thing about unit tests is you can change the design without
afflicting the existing behavior. So TDD makes your first design less
important. You have more than just one chance to get it right.

I have created some rough ideas of the rules on paper, but I know I am
missing somethings. I was thinking the UML would be a good way to
cover everything, and I did come across the ICONIX process.

Another feature you should try is literate acceptance tests, like those
at http://fitnesse.org .

I have a question for anyone with the stamina to read my post this far:
What's the closest FitNesse can get to Rails? I currently am trying
FitNesse -> RubyFit -> Longboard (an example of integration) -> Watir
-> the RoR site, end-to-end.

If I try for another test suite, with FitNesse -> RubyFit -> the RoR
test folder stuff, is there a module or sample out there to make this
easy? (Or, as usual for RoR, just freaking instant?)

Has anyone used rSpec here?

http://rspec.rubyforge.org/tools/rails.html

Is there a benefit to going FitNesse -> Something -> rSpec -> Rails?
Would that make things more literate?

What I am asking: Rails follows the MVC architecture. How would the
UML apply to MVC and rails development?

That part appears to be finished for you! :wink:

Has anyone used rSpec here?

I don't know if rSpec adds more than just renaming test to specification and making it explicit to
test behaviour instead of methods.

Has anyone used Zentest? Does anyone have any links for beginners? I have already read the Linux
journal article. I am looking for something that covers all features of Zentest. TIA.

Look into selenium. The ruby integration is significant, and it works very much like FIT.

Roderick van Domburg wrote:

Indeed a lot of attention is drawn to TDD, but usually, I digress. Tests
aren't what drives my own business or that of my client, and so I feel
the very name of the approach doesn't fit my intents. Personally I favor
Feature Driven Development (FDD) with doing as much as I can to ensure
quality.
...[snipped]

You're comparing apple and oranges here :slight_smile: Can TDD/BDD be used in
the build phase of FDD? If you're not already, then you should :slight_smile:

I've not personally utilized FDD so my understanding of it is mostly
textbook, but isn't FDD more of a development process/methodology
(bigger) and TDD is more of a technique (smaller). I have a lot more
experience with TDD in an XP process so I'd say FDD is more comparable
to XP than TDD.

Check this out:
  http://tesugen.com/archives/02/06/understanding-xpthrough-fdd

lambo4jos wrote:

I am new to web development, Ruby on Rails, and UML as well. I was
wondering if there were any free tools available for UML design.
There is a list of free tools on wikipedia under UML tools, but I don't
understand if I need a tool that supports the ruby language. If anyone
uses a free UML tool for designing Ruby on Rails apps, please let me
know what you use.

I think the best idea is a open soure and multi plaftorm CASE tools I
guess you work in linux or maybe mac.. so try this:
http://case-tools.org/ I recommend you to take a simple tools for single
user, are easier to learn and more usable (generally)

regards,