Better UML Modeling Tools? 29
PimpBot writes: "I'm taking a class in software engineering. To model our project, we're using UML, but I'm running into a problem - the software we're using, TogetherJ, is written in Java. The program has obscene memory requirements (128MB RAM min, 512 recommended), and being a poor college student, my box isn't close to supporting that. Are there any UML modeling clients out there that are dirt cheap, and don't use Java?"
Re:Why UML? (Score:1)
three ideas (Score:3)
One: memory is dirt cheap right now. seriously. a 128mb stick of pc100 is like $40 where I live. see pricewatch.com [pricewatch.com] for more US prices. If you live somewhere else I don't know if this point would be relevant. So you could probably at least approach the "ok performance" range, especially if you have family that would be sympathetic for your school-related need of an upgrade.
Two: argoUML, a GPLd and reasonably decent java UML program. (argouml.org [argouml.org]) It performs just fine on my machine (450mhz, 128 mb of pc100 ram).
Three: TCM [utwente.nl], the toolkit for conceptual modelling. Haven't played with it much but it looks pretty nifty. Also it isn't in Java. Again it runs fine on my machine. Does stuff besides UML too, I'm new to this whole modeling/specifying bit, so some of the functionality didn't make much sense to me.
--
Fuck Censorship.
My suggestions (Score:2)
I'll also have to point you to KUML [fh-hamburg.de], which is for KDE2. It should run even faster, but is not as full featured.
Re:My suggestions (Score:1)
Thanks for the suggestion, though...
--------------------------
Re:three ideas (Score:1)
Why UML? (Score:3)
What do you have to do to apply UML successfully, and what does it buy you that you couldn't get from simply thinking carefully about things up front?
xfig... (Score:1)
UML tools (Score:2)
---
My opinions are mine -- not those of my employer.
Re:GnomeOffice Dia! + code generator (Score:2)
And there is a program that will convert Dia UML diagrams into code: http://dia2code.sourceforge.net/ [sourceforge.net].
From the website:
FeaturesWhat isn't here yet
More on Dia (Score:2)
Re:Why UML? (Score:1)
I don't know if this is the answer that you're looking for, but here's an idea. Professors need some model to teach in software engineering, software process and modeling courses. They could roll their own modeling language, pick a random one from a barrel or a pick something that is a bit of a standard and has some industry acceptance. What the student should be able to take out of the course is the ability to apply modeling techniques to any system, regardless of the representation. UML offers a large number of views, each with their own purpose. A subset of these are likely to be used in any large object design, so why not use UML? (Devil's advocate: one could also argue that it's waaay to many diagrams).
I have yet to meet someone who really understands UML. I believe that designs (and learning how to design) are iterative processes. If you stick to a relatively well-defined standard language, your first designs might be somewhat broken. But as you learn where the minefields are in the previous try, your future designs are likely to be better. I think that its strength is that it offers you a standard toolset for thinking carefully about things up front. It doesn't make you think any better, but (if you play by the rules) it will allow other people to understand what you were thinking.
GnomeOffice Dia! (Score:2)
GnomeOffice Dia [gnome.org] is a UML-based diagramming and vector graphics app. You can extend it with XML/UML (and conforms to the full UML spec as defined by its XML DTD) and it supports a plethora of standard graphics formats for inport and export. There are numerous documents on the web that use Dia as an example of learning XML/UML programming to a DTD spec.
-- Bryan "TheBS" Smith
How about Thorn? (Score:1)
Re:three ideas (Score:1)
Thanks much for your suggestions - I'm definately going to give them a try...
--------------------------
Re:Why UML? (Score:1)
The main reason for UML is its wide adoption by the software community (at least, it's more widely accepted than any other notation). That helps people to be able to understand others' design when they see it, not having to learn (and misunderstand) a new design notation for every project they work on or team they work with.
-----
Re:Rational Rose (Score:1)
And last time /I/ checked there was a free (but limited, IIRC) version for students.
Magic Draw UML (Score:1)
Re:Why UML? (Score:1)
Why are they teaching UML?
As my professor says, its the best thing she knows of out there right now. I don't really know of any other modeling techniques to challange her on that.
What do you have to do to apply UML successfully, and what does it buy you that you couldn't get from simply thinking carefully about things up front?
First, one must realize that UML is not the solution to software engineering. Its only a tool that assists in designing a system. From what I understand, if you use UML, set yourself some hard limits on when you will stop drawing diagrams, and start getting your teams to build and communicate. My guess/fear is that people think UML is just this magic patch for a project, and after playing with it for a bit, I can definately say it isn't.
UML is basically about thinking about things hard up front - but its more like doing it in a standard language. This is mostly to reduce the time it takes to communicate your model to someone just coming in on the project.
--------------------------
Re:Why UML? (Score:1)
Re:Magic Draw UML (Score:1)
The one problem I found is that sometimes if you let MagicDraw idle for about an hour or so, the memory usage stacks up a bit. I don't know why, but probably because the program is using jvm.
============
Re:Why UML? (Score:1)
pencil (Score:1)
BTW, my kids watercolor them. bjootiful!
Rational Rose (Score:1)
============
Re:Why UML? (Score:1)
Well there are many things. First off all, using UML is worth only when using Object Oriented methods (not necessary languages). After that, there are plenty good things in using UML. Think about Reuse for example. How to model frameworks, reusable specs and reuseable components without unified modelling language? I mean you CAN write it all down in English, but who's going to read it?-) About Reuse, I don't mean copy-paste. Wiser man than I, have said that Don't reuse code without reusing specs. And I'm begining to believe that. Of course if none of those are't your goals, how about maintaining systems? Wouldn't it be nice to have unified specs for systems that you have to maintain? Modeling is HARD, it's harder than coding, because you have to think everything. When coding, compiler tells you some mistakes you make. However you have to model system to some level before coding. Without that it's really hard to make complex system without inconsistency. I'm not saying that coding is easy. Good modeller knows what kind of problems there are in implementation, that is knows how to code. Implementation isn't trivial phase in the process, but it IS easier when you have precise specs.
Re:Why UML? (Score:1)
I've been architecting large-oid client-server & distributed systems for quite a while. Before UML, Booch was used. No real complaints with it, either.
In my experience, UML (and OOD in general) had been a good thing. Not a distraction, no destroyed projects. Quite the opposite, in fact.
dia2code (Score:1)
http://dia2code.sourceforge.net
Re:Rational Rose (Score:1)
Re:GnomeOffice Dia! + code generator (Score:2)
Just a side note, I think that argoUML can do this as well. I don't know how full featured it is. :-) Hey, options are good!
--
Fuck Censorship.
Re:try GDPRO! (Score:1)