Fog Creek Software
Discussion Board

Free but good UML tool?

Could you recommend me a free but good UML tool?
I was using ArgoUML, and it's not that great...

Thanks in advance, Tatiana

Tatiana Racheva
Monday, May 10, 2004

Code Monkey
Monday, May 10, 2004

Monday, May 10, 2004

Maybe there's some inherent value in well written software after all.

Wanted: free but good medical treatment.
Wanted: free but good and reliable private jet.
Wanted: free gourmet meal.

All this practiced frugality among software developers will come in handy when we're all working in retail and food service after the last free program is written.

programs for a living
Monday, May 10, 2004

A more direct effect on programmers is that there is a dirth of good tools because of programmer's unwillingness to spend money.

Mr. Analogy
Monday, May 10, 2004

Anyone know a costly but good UML tool?  I have been subjected to Rational Rose for several months now and even though its version number suggests a mature product it is loaded to the brim with GUI bloopers.

Trying to do sequence diagrams with it has pushed me to the brink of suicide.

name withheld out of cowardice
Monday, May 10, 2004

Perhaps the reason that there are no good UML tools is because the vast bulk of good programmers who could write them well don't draw pictures, but instead write software.

Just a thought.

Monday, May 10, 2004

Tatiana: have a commercialised version of ArgoUML. The community version is a free download.

name withheld...:

My personal cost/ feature winner is ObjectDomain R3 at . It is a Java application and can be scripted using Python through Jython.

David Roper
Monday, May 10, 2004

I have always liked Enterprise Architect, it's not free but pretty reasonably cheap in the $150 dollar range. Good UI and performs quite well.

Monday, May 10, 2004

"All this practiced frugality among software developers will come in handy when we're all working in retail and food service after the last free program is written.

programs for a living

Hey, dipshit, maybe there's no budget for the original poster to buy a commercial product. Did you ever consider that, Brainiac?!

Full name
Monday, May 10, 2004

While, "full name" was more blunt, he does make a good point.  Why do we blame people asking for "free" help?  Many of the first OSS tools were developed because a company could not or would not pay for something, but _WE_ still had to deliver.   

So keeping their job and being effective with their time is more important than the $2500 per seat license for UML products.  Much like my brother, who is in house construction business helped me with my addition.  Argue that I put a construction crew out of work? Hardly, it was this way or no way.  I don't hear screams to close down Home Depot.

I will step down off the soap box now. :)

Monday, May 10, 2004

Ah Full Name, your insight is as sharp as your vocabulary.  Of course I considered that.  Your answer is simple... if the company will not pay for a UML tool, then give them their UML drawn with a pencil.

MSHack, there is a marked difference between saving your own money, and saving corporate dollars, for which you will get not so much as even a thank you, much less a single dollar of the savings.  (My choosing to save the corporate dollars like that harms me, however slightly, but gains me nothing.  So the word then for me would be "chump".)  Also, you are not a renovator, so you were not devaluing your own profession in building your addition yourself, another difference.  Your brother on the other hand, if he makes a habit of working for free, not only eats is own kind, but reduces the dollar pool for his own work, and increases the competition jobs.  You say the job couldn't have been had by another renovator, but in removing the need, he eliminates the possibility, however remote.

In finding free software for your company, you ensure that they will never pay for such a product.  They will no longer go without it, so they will never change their budgetary mind.

programs for a living
Monday, May 10, 2004

"Your answer is simple... if the company will not pay for a UML tool, then give them their UML drawn with a pencil."

Uh, nice try, genius, but not everyone in management is as clueless as you seem to imply. By now many in management are aware of "open source", and since they see "open source" as being the same as "free", they'll just tell their developers to make do with whatever the open source world has to offer for certain kinds of software.

Full name
Monday, May 10, 2004

Oh, I see.  But it sounds like your answer is obvious again: use whatever such totally-clued-in managers told you to use.

Why are you making this so difficult?  I get the feeling you might be posting merely to demonstrate your intellectual maturity and boundless capacity for civil, reasoned discourse.

programs for a living
Monday, May 10, 2004

Tell ya what, if you want to do UML with a pencil, go right ahead, have at it.

The fact remains that the original poster asked for some recommendations for a "free but good UML tool". Rather than answering her question, you decide to 'enlighten' us with your pontifications about all that is evil about using free software.

You want to prattle on the such 'evils', fine, do it somewhere else. No one is impressed by your posturing.

Full name
Monday, May 10, 2004

programsforaliving should be taken out back and shot.

Basic economics should teach you that there is a world of difference between free software and free most other things.

The words are Marginal Cost. Once again, Marginal Cost.

If the rest of the world's industries had marginal cost curves that looked anything like the software model, abundance would be everywhere.

It costs XYZ man hours to produce a software product. That is a sunk cost. The marginal cost is almost zero. The law of supply and deman dictates that the price of a good will tend towards its marginal cost (very simplified, but you get the gist).

All you want to do is prevent people doing as they please with their time because you want to do the same thing for money. What gives you the right to dictate what people should do. I am sure professional painters are up in arms over volunteers painting fences for pensioners. The only difference with software volunteers is that once they have put in the effort, it is pretty much free for all after that.

If you have issues with that, develop a better mousetrap and hide the source code in a vault of concrete. Sell it for what you will, but don't, and I repeat in case you missed it the first time, DON'T try to tell me what to do with the product of my labour. Furthermore, do not try to stop someone trying to maximise their utility by gettting a useful product for the least money. Again, this utility maximising is a necessary human trait.

Monday, May 10, 2004

I have just reread the posts, including my own, and I am even more pissed off. I could go on, but I have not slept in 39 hours and programs for a living, you are really not worth the effort.

Dude, if you can't stand the heat, get out of the kitchen. If you can't deal with the competition from free software developers, change trades. Just stop trying to stop people from doing what they enjoying and sharing the results of their pleasures.

Monday, May 10, 2004

To be fair, you probably caught me on a bad day, but I really get wound up by protectionists!

I recommend you read "A PETITION From the Manufacturers of Candles, Tapers, Lanterns, sticks, Street Lamps, Snuffers, and Extinguishers, and from Producers of Tallow, Oil, Resin, Alcohol, and Generally of Everything Connected with Lighting.", by Frédéric Bastiat

And I qoute,
"To the Honourable Members of the Chamber of Deputies... You reject abstract theories and little regard for abundance and low prices. You concern yourselves mainly with the fate of the producer. You wish to free him from foreign competition, that is, to reserve the domestic market for domestic industry.

...... We are suffering from the ruinous competition of a rival who apparently works under conditions so far superior to our own for the production of light that he is flooding the domestic market with it at an incredibly low price; for the moment he appears, our sales cease, all the consumers turn to him, and a branch of French industry whose ramifications are innumerable is all at once reduced to complete stagnation. This rival, which is none other than the sun, is waging war on us so mercilessly we suspect he is being stirred up against us by perfidious Albion (excellent diplomacy nowadays!), particularly because he has for that haughty island a respect that he does not show for us [1].

We ask you to be so good as to pass a law requiring the closing of all windows, dormers, skylights, inside and outside shutters, curtains, casements, bull's-eyes, deadlights, and blinds -- in short, all openings, holes, chinks, and fissures through which the light of the sun is wont to enter houses, to the detriment of the fair industries with which, we are proud to say, we have endowed the country, a country that cannot, without betraying ingratitude, abandon us today to so unequal a combat. "

Reductio ad absurdium at its finest, but the point remains. Read the rest of this essay. It is really short. And when you are done, might I recommend that you read The Law, by the same author. It takes about legislation that legalises theft. The sort that you sound like an advocate of.

And when you are done reading, you might want to consider that these essays were written over 150years ago. Folk have been whinning for years, and long after you are done whinning and seeking protection from an imagined enemy, people will still be whinning and losing.

(off to sleep now ... I am sure I will seriously be flamed by morning, but just felt it had to be said.)

Monday, May 10, 2004

One more thing, I apologise most profusely to the OP for hijacking the thread.

I second argoUML.

Have also used poseidon in the past. It is based on the argoUML code.

Microsoft also used to have a free version of Visio on their site. Will post the URL when I have had some sleep and am coherent enough to search for it.

In the meantime, head over to both and sourceforge. Do a search for UML. You will find tons of them. Find one that runs on your platform, and implements the UML subset that you want to use. YMMV for each app. Some are strong in databases, others in Java round-trip code generation and yet many more strong in <insert something useful/less here>

Monday, May 10, 2004

Full name, mine is not a pose but a sincere position, as mature readers surely recognize.  I'm simply pointing out the final cost of a class of choices, namely, choosing to direct corporate spending away from products that pay working programmers.  I'll continue to point out that problem that until, I suppose, Joel names you moderator, since as a working programmer, these choices impact not just the chooser but me too.

Tapiwa, perhaps after some sleep you’ll reread the posts again and find that I demanded nothing of open-source programmers.  My main statement was to those choosing to use or recommend open-source products, particularly in a corporate setting.  Such choices when made by programmers devalue their own profession by reducing the dollars spent on software.  You couldn’t possibly deny this.  I have no authority to demand anything of these choosers, but I would be a fool not to alert them to the effect of their choice, which harms both them and me.

I did also address MSHack’s analogy, which was really a supply-side analogy with regard to his brother, but that was a digression.  However, the same situation holds true on the supply side too.  The problem there is more complicated because open-source programmer does gain from making their projects available.  As a creative myself, I know that gratitude and respect and the pure joy of creation are more important than money.  Fame too, for some.  And yet I like to eat.  I would love to live in a gift society, but we don’t.  I suspect, unfortunately, that a microcosmic gift sub-society would not pan out so well amidst a larger brutally capitalist context.

Tapiwa, you can justify your own choices with your marginal-cost inevitability theory, which suggests that we will all be finding new lines of work eventually anyway, but it’s not especially convincing.  Perhaps a new thread on just that theory might be in order.  Nevertheless, your choices are your own to make, as I never denied, but please make them knowing the final cost to yourself and others.  When giving is simultaneously taking, it is not quite so noble.  While giving the fruits of your effort to *individuals* is undeniably a very noble and admirable thing indeed, giving software to corporations that would otherwise spend money on that class of product is not so clearly noble, unless you’re especially fond of the investment community.

I wish some of the open-source community would notice that final distinction, but again, my main plea is to the choosers, who gain nothing by choosing to redirect corporate spending habits away from working programmers.

programs for a living
Monday, May 10, 2004

"Also, you are not a renovator, so you were not devaluing your own profession in building your addition yourself, another difference.  Your brother on the other hand, if he makes a habit of working for free, not only eats is own kind, but reduces the dollar pool for his own work, and increases the competition jobs.  You say the job couldn't have been had by another renovator, but in removing the need, he eliminates the possibility, however remote."

What you're assuming is that he doesn't reciprocate.

But perhaps he helps his brother with computer problems.  If so, then what they really have going is not free/devalued work, but an informal barter agreement.  They would hardly be the only professionals in the world to enter into such an agreement.

Tuesday, May 11, 2004

Since Rose and commercial tools came up...

Download the Sybase Powerdesigner Free trial - it can be used up to 45 days if you involve sales.

Powerdesigner would compare with Rose in prize, however you get ER modeling and DB generatiion/reverse engineering, Java/.Net biased UML, Free model (poor mans visio) Business Process Modellling (webservice orchestration and that stuff) and XML-spy like XML DTD/Schema modelling.

Same shell/GUI. Scriptable via vbscript and with a generation template language. If you want to undestand code generation and Metamodelling this is the environment to learn in.

I use PD to teach db, UML, java. Design Patterns (univ environment).

I do not buy the visual modelling line from Rational - UML is about communicating aspect of your code/architecture

Yes i have an 'association' with Sybase - I pursued it because I am 100% more efficient when teaching with Powerdesigner

Tuesday, May 11, 2004

Skimmed throu some of the longer replies, and I would guess this horse is already dead, but when did the OP mention that she was seeking a UML tool to satisfy a requirment of her employer's?  The argument that her management should pay for it or deal with it could be entirely moot.  She might be a student, a civilian looking to better herself personally, or a workind coder in a shop that doesn't use UML and she want to learn it for future endeavors.

I am not in favor of all software being free, but, fortunately, the demands of the software consuming world are sufficiently diverse that as the landscape currently looks people will continue to pay for a lot of software where FOSS is not the right choice.

It should be perfectly reasonable for a developer (or a non developer for that matter) to inquire about free tools for an endeavor that might not have anything to do with a project budget.  If no free tools exist fine, otherwise isn't it obvious that the intent of the question is, "Of the free tools out there, what are the best ones because the nature of my situation doesn't warrant investing in one yet?"  I buy a lot of software, and my employer spends tens of thousands per developer on licenses.  I hardly think for me to pursue the occasional free tool to just for the purpose of trying my hand at something threatens to put anybody out of business.

Tuesday, May 11, 2004

I gotta stop posting on so little sleep.  I swear the typos are not there before I hit Post Message.

Tuesday, May 11, 2004

Am awake, finally. Read my posts, and the only thing I regret is the recommendation that PFAL be taken out back and shot.

However having read your latter posts clarifying your postion, I feel compelled to point you to more reading material.

You are arguing that programmers in companies should not recommend cost effective solutions if they might be seen to devalue their standing in the firm. That is waste. The company makes less money. The shareholders (Joe Public either directly or through pensions) make less money. And you are happy. That is not a good thing.

Once again Bastiat comes to the rescue.

Have you ever witnessed the anger of the good shopkeeper, James B., when his careless son happened to break a square of glass? ... you will most assuredly bear witness to the fact, that every one of the spectators, ...  by common consent apparently, offered the unfortunate owner this invariable consolation - "It is an ill wind that blows nobody good. Everybody must live, and what would become of the glaziers if panes of glass were never broken?"

Now, this form of condolence contains an entire theory, which it will be well to show up in this simple case, seeing that it is precisely the same as that which, unhappily, regulates the greater part of our economical institutions.

Suppose it cost six francs to repair the damage, and you say that the accident brings six francs to the glazier's trade - that it encourages that trade to the amount of six francs - I grant it; I have not a word to say against it; you reason justly. The glazier comes, performs his task, receives his six francs, rubs his hands, and, in his heart, blesses the careless child. All this is that which is seen.

But if, on the other hand, you come to the conclusion, as is too often the case, that it is a good thing to break windows, that it causes money to circulate, and that the encouragement of industry in general will be the result of it, you will oblige me to call out, "Stop there! your theory is confined to that which is seen; it takes no account of that which is not seen."

It is not seen that as our shopkeeper has spent six francs upon one thing, he cannot spend them upon another. It is not seen that if he had not had a window to replace, he would, perhaps, have replaced his old shoes, or added another book to his library. In short, he would have employed his six francs in some way, which this accident has prevented. "

So when we spend ££ on software that could have been had for free, we are then unable to spend ££ on something else.

Remind me again why we want to do this. .. Oh, so you can feel important and valuable. Whatever!!

Tuesday, May 11, 2004


Thank you for the Bastiat link, which is a good read.  Bastiat argued, as I often find myself arguing, that deeper effects of a choice should be considered.

First a point of clarity on my arguments.  I have not argued about choices by the programmer that, as you paraphrased, would "devalue their standing in the firm", but rather choices would ultimately reduce the value of their entire trade to the broader society, and put their brethren on the street looking for a new job (in competition with you one day.)

This is not so that I can feel important and valuable, at your snide suggestion, but so that we programmers can work profitably at this trade that I love so much, and that I think many other programmers love too -- many now making choices that harm the viability of the trade.

You write that if we "are happy ... that is not a good thing."  Shall we pursue sorrow and grief?  I'm sure that is not your point, a hard demand to present, but perhaps you'll clarify.  You earlier demanded (albeit while very tired) that I not tell you what to do with your own work.  Fair enough.  That demand is a form of "my choices are mine to make, the effect upon others be damned", and is perfectly reasonable.  I'm arguing the same thing: do act in your own self interest.

Your summary of Bastiat, "so when we spend ££ on software that could have been had for free, we are then unable to spend ££ on something else" seems to miss the heart of my position, and here is how: your "we" is not the important we in this situation.  When *we* spend corporate money on software that could have been had by the corporation for free, (alas) *they* are then unable to spend that money on something else, but (happily) *we* have directed *their* money into *our* trade.  Conversely when we choose to save the corporation money, we gain nothing from that choice ourselves.  The money saved is somehow never directed our way as a result of the savings we have produced.

Contrast that with executives, who subtly leverage their own positions of decision-making to extract maximum benefit for themselves; who design luxurious and complex compensation packages for themselves; who regularly peddle their influence by directing corporate funds towards their own comrades for trade in-kind; and who exercise a thousand other little mechanisms of value extraction mostly unseen outside the executive wing.  (And in our schooldays, we probably fancied *ourselves* the smart ones because we were good at math.)

Since you ask, I'll remind you again why we want direct corporate spending toward software purchases, ignoring your other snide conjecture about what my answer would be.  My answer is: so that *our* trade will continue to have value, and remain a viable means to earn a living.

programs for a living
Tuesday, May 11, 2004

PFAL, thank you for taking time to read the Bastiat article.

While I agree with some of your assertions about executives, and lining their own pockets, I think you are missing the point.

You love programming. You think the code you develop is valuable. My assertion (yes, on this board no less), is that the value of the software rapidly diminishes.  See post on marginal cost. I mean how much better can an office suite get. And given that it costs £nothing to produce more copies of what is available, competition will drive this cost to £0.

How many programmers will use a tool like apache, or posgreSQL, or indeed Linux? They are free, and commercial alternatives exist for all of them.

I have always seen my job description, over and above the fluff in HR, as adding value to the employer. Sometimes I do that by delivering income. In other cases I do that by reducing costs. On more than one occasion, I have made recommendations that make parts of my work redundant. Why warm a seat all day for a paycheque when I can do exciting stuff?

As a businessman, I want you to prove that your $£ mousetrap in indeed going to add more value to me than the free one. Anything else is irelevant. Even your love of the art of programming.

If we all tried to maintain the status quo, there would be no progress. How many blacksmiths exist today? And horse wagon builders? Typing pool anyone? Niche industries at best,  but the world goes on.

Recognise that your work will be devalued with time. And prepare for this whichever way you can. Professions come and go. Hell, even the concept of management is a 20th century invention.

Who is to say that in 40 yrs time, the programming job as we know it today will still exist. Possibly even the manager's role too will no longer exist!

Tuesday, May 11, 2004

>...[big rant on the worth of open source/free software]...

>...I ... program for a living,

Yea, right up until hacker bob decides to do it for free.  See you in the soup line.

Open source zealots are all passionate, as long as it's not their job that's being made obsolete by some overpaid coder with too much spare time.

reality check
Tuesday, May 11, 2004

see  you in the soup line for sure. I might stop my car and say hello.

Tuesday, May 11, 2004

Well, Reality Check, I'm not so defeatist.  But you raise a notable point that I tend not to raise because it's not relevant to my primary arguments, and a point that sets the open source folks into a frothing conniption.  The patron saint of the open source world, Eric Raymond (a vigorous Bastiat fan himself), is a prime example of what you describe.  As a kept man whose wife was the primary breadwinner, he was free to tinker as he pleased.  His luxury to spend the bulk of his days writing software was never at risk.  Later, as a nerd-celeb, he was granted a fortune of his own by VA Linux as grazie for championing a movement that made VA fabulously wealthy through their IPO.  So now he doesn't even need the sponsorship of his wife to support his passion.  But there is no point in getting mad at the progenitors of open source software.  They're just exercising their own passions for programming.  That would be a fruitless exercise of tilting at windmills, and exactly like Tapiwa and Bastiat's candlemakers hoping to outlaw daylight.  That's not my gig.

And frankly, I believe there are some really crucial forces that open source software can provide society.  For instance, operating systems vendors are free to take control of your computer from you and peddle it to third parties, and most people are so beholden to these vendors that they are unable to fight any such abuse of that power.  (Think "Nazi DRM".)  Open-source operating systems can return that control to the computer owner far quicker than market forces can ever act upon jackbooted OS vendors.  Open source can also bridge the so-called digital divide, providing software for poor individuals, and therefore avenues to their freedom.

Tapiwa, one problem with your marginal-cost notion is that the cost of writing software is not the sole cost of delivering software.  I can assure you that, for instance, in the world of packaged software for vertical markets -- making up some example of the class of market, rather than those I've done myself, say, bookstore point-of-sale systems -- the development cost is a minor factor.  For many or most end-user applications, telephone support is a major cost, and a marginal (essentially per-unit) cost.  For high-end business systems, sales effort is the major cost.  The marginal cost to Oracle of a copy of Oracle 10g involves the cost of paying for an Oracle salesman schmooze with a CIO or government official, or design kickback schemes.  For many products, advertising is a major recurring cost.  Frankly, I can't see where you're trying to go with the whole marginal-cost discussion.  Your point is that the duplication is a near-zero cost, and that somehow says something about the inherent value of the creative step?

If you see your role as employee to fill your job description and add value for the employer, that's very gracious of you.  The corporation is not a person, otherwise I'm sure it would feel marvelous gratitude for your efforts.  My role is to keep the specific people who decide whether I can stay happy and to do good work, the first so that they will pay me for what I enjoy, the second in pursuit of pride.  If in that role I can also shift profits to others in my trade, that's good for me in the long run.  If I choose instead to use my influence to lubricate a monetary pipeline into executive pockets, I've taken into my role self-harm in pursuit of imaginary gratitude.  Eliminating the mindless aspects of your job is a worthy goal, but open-source is not the sole path to that goal, nor most often even the surest path.

Tapiwa, I don't expect the business to care about my love of programming.  But I likewise don't care much about what its mechanical "love" of profit.  We're in a fair bargain, the business and me.  While I'm in a position of influence, I'll use that influence too for my further gain.  You argued self-interest above (albeit, while tired) and relative altruism (toward an inanimate businesses, no less) down here.  Are you a tory or not?

Comparing programmers to blacksmiths in this argument makes no sense.  Blacksmiths did not fade into obscurity because vagabond blacksmiths began giving horseshoes for free, but because the automobile replaced the horse.  I can't augur whether programming will be valuable in 40 years, but I can make choices that either keep it valuable in the shorter term or devalue it rapidly, and I know which are the smarter choices for my aims.

programs for a living
Tuesday, May 11, 2004

PLA this is fast becoming a one on one :-) I will attempt to robustly respond to your last post.

I am not a Tory (they are not capitalist enough for me). I am not an open source propent. I like to get value from the product.

I love my work. I try and do it as well as I can. The company responds by paying me a good wage. If I do not like what they are putting on the table, and I think I am worth more, I walk. And I have walked in the past. Sometimes I have been wrong (overestimated my worth). Yet other times I have been vindicated

If I know a friend who can add value to the business, I will send some business his way. Only if it adds value to the business.

A business, impersonal as it might seem will ultimately belong to someone, or a group of people. Shortchanging the business is ultimately shortchanging Grandpa Joe whose pension is invested in the business.

Programming won't disappear because of open source. To the contrary, instead of reinventing the wheel, time and effort will be put into areas that add more value. Keep the source code, but sell me the app for the lowest price (fast approaching zero).

A lot of code is funded by companies and others. Microsoft gave IE for free and nixed Netscape. I worked on a project which was funded by one Corporation and then shared for free with whomever wanted it. Given a choice between using free as in beer software that does the job, and paying Joe Coder to build me an equivalent, I will go to the former. It makes business sense.

While Oracle has salespeople to schmooze CIOs, how much did it cost in packaging and selling to get Apache so wildly adopted?

Skip the blacksmiths. Take cobblers. Way back when, you had to go to one of them, get measured, and then come back in a little while to get your shoes. at some point someone figured out that if you have xyz shoe sizes you have covered most of the population. Build a machine in China that churns them out, and presto, you have killed their trade. While you might have a penchant for handmade shoes, and be willing to pay a couple of grand for them, a £200 pair is good enough for most people. Yet others are happy with a £20 pair. You could was lyrical about the fancy packaging, insoles and outsoles and the like, but the vast majority of the population is not interested in bespoke. Should we stop the factories producing cheap shoes (probably owned by some enterprising cobbler), to protect the livelihood of the other cobblers, because they invested ten years in an apprenticeship learning the trade. Bahhh!!

Take free software and add value to it. Then sell that. You are already miles ahead of someone who went the PayForEverything route. Keep selling until your product is commoditized, and free. Repeat!

The best way to make a dollar is not to spend it in the first place.

Tuesday, May 11, 2004

pete h
Wednesday, May 12, 2004

Oracle JDeveloper is a free download and it doesn't expire. Of course, if you really use it for work, then you should pay for it.

Data Miner
Thursday, May 13, 2004

*  Recent Topics

*  Fog Creek Home