Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
News

Umbrello 1.1 Released 37

An anonymous reader writes "The new stable version of Umbrello UML Modeller 1.1 was released on 20 January. Currently only source and SuSE packages are available. Is there a better UML modeller for Linux?"
This discussion has been archived. No new comments can be posted.

Umbrello 1.1 Released

Comments Filter:
  • by Tuxinatorium ( 463682 ) on Wednesday January 22, 2003 @09:56AM (#5134628) Homepage
    Have they released Rain 1.1 yet, or is this a totally unnecessary umbrello upgrade?
  • Possibly Better (Score:4, Informative)

    by Tomah4wk ( 553503 ) <tb100@NOsPAm.doc.ic.ac.uk> on Wednesday January 22, 2003 @10:05AM (#5134678) Homepage
    Umbrello is great (i just started using it a few days ago), and will be properly integrated into the next kdevelop (possibly next but one) along with valgrind and many other kick arse tools. In the past i have also used argouml (search google) which is written in java and works very well. Any debian users can also apt-get argouml to install the latest version.
    • Re:Possibly Better (Score:2, Informative)

      by _pruegel_ ( 581143 )
      There is also an enhanced version of Argo/UML called Posseidon (http://www.gentleware.de). The Community Edition is free of charge and there are also a Standard and a Professional Edition.
  • Still beats my why people want to use UML, sure its a buzzword, but that's just about it.
    In my experience UML makes you overdesign, and spend far to much time on things you one should rather use to do something productive.
    By all means, dont't start coding without thinking, just don't think and design to much. Remember, just because you do UML, doesn't mean the result is without problems.
    Quite the oposite imho.
    • Re:Why ? (Score:5, Insightful)

      by Apreche ( 239272 ) on Wednesday January 22, 2003 @10:28AM (#5134829) Homepage Journal
      True that because you use UML it doesn't mean your program will be perfect. And in some cases, it does make you over design, especially on smaller projects. However, drawing a program's design is not the only purpose of UML.

      If you have a good UML software package it will be able to create stubs for all the classes in your object oriented project. It's not an amazing thing, but it saves a lot of time in typing. The main use of UML is if you have a team of say 40 guys working on a project. You can all meet, discuss the design, get a complete UML cranked out. Then break off a piece for everyone. Theoretically everybody will be able to code their portion correctly without having to worry about whether anyone else messed up or not. Since the UML tells them what objects they should be using and all the public methods and such.

      So if you're coding something small at home. UML isn't entirely useful. But as project size increases UMLs usefulness does as well. Besides overdesigning is much more preferable than underdesignin.
      • Besides overdesigning is much more preferable than underdesignin
        I don't agree with you here. In an XP style development you can add design later as you need it. If you have overdesigned your project you will loose much more time once you find that your design does not completely do the job (and that happens in every project anyway, right?).
        I do have coworkers who do stuff like defining lots of interfaces with one implementing class only or include thousands of features one might need someday. That is wasted time twice - once in the design and a second time if you have to change/refactor it.

        Also UML might be useful in tiny projects as well. I use UML not much as a means for design but more for documentation. A simple class diagramm will help you so much understanding your project if you come back to it after months or even years. In larger projects where there are lots of coworkers or even external partners having class diagrams is a must IMO.
    • Re:Why ? (Score:2, Interesting)

      by maxmg ( 555112 )
      UML design is not mainly for *you*, the original software architect (because you live and breathe the class structures and relationships anyway), but rather for other people that work with/on the software.
      Consider the case where you write a complex piece of software that publishes an API layer for other people to use to extend the software. If you follow good OOP practices in building your solution, decent UML documentation is an invaluable source of information for developers who want to build on top of your stuff. This is talking from experience with a large software package where I use the UML class diagrams much more frequently than the (good) API documentation.

      Overdesign can be a problem, but with a reasonable amount of experience in software development, you should be able to minimise this happening. UML is more a communication aid than anything else.

      I strongly believe that a good solid design makes up at least 50% of a successful software project. While this is not necessarily true for small projects, I try not to touch any code before I have a design thought out.
  • by QuantumG ( 50515 ) <qg@biodome.org> on Wednesday January 22, 2003 @10:23AM (#5134803) Homepage Journal
    Remember the days when unix development was different to windows development? You had a different way of going about things. Under windows you'd fire up the all singing, all dancing VC++ and hack out everything. You had no choice what editor you wanted to use, it's all integrated with the compiler. Under unix you'd fire up vi or emacs or pico or joe or whatever the hell you wanted to use. Then you'd have a choice of compiler too, gcc, sun cc, intel's compiler. If you wanted to find something you could use grep. If you wanted to count those things you'd found you'd use wc. With a small collection of tools you could join them together and perform large tasks -- that's the unix way.

    Now we're recognising the use for UML tools, have we taken the unix path or the integrated windows path? Seems the integrated tools are winning. Oh yeah, and there's thousands of them, all in various states of disrepair.

    I know this isn't a very convincing argument, but frankly, I shouldn't have to make it: small tools working together is the unix way and we should strive to make our new tools the same way as our old tools.

    I recommend the following small tools:

    1. Parse C++ using a general parser, such as Earley's algorithm or Tomita, generate a readable XML parse tree.
    2. Filter parts of the parse tree that are not used in the UML diagram you want to generate, i.e., you don't need code in class diagrams.
    3. Transform the parse tree into a standard UML exchange language.
    4. Transform the UML into scalable vector graphics (SVG) format.
    5. Use open tools to view the resulting SVG file.

    Most of these transformations can be done in XSLT. By maintaining XLinks between each of these documents you can navigate from one SVG to another and even effect changes earlier in the pipeline to create an interactive editor.

    Even if you have no interest in reverse engineering C++ code the last 2 steps will be of interest to anyone writing another one of those big ass UML editors.

    • No offense meant, but you're talking like a programmer. UML is a language for analysis, modeling and design: meant for analysts. When they're done cranking diagrams out, programmers can start doing some serious coding.

      This way, everyone is doing what (s)he's doing best.
      • Yep. I use UML for program understanding. That's why I'm talking about it in what you would consider the "reverse" way. That's ok. You should still use small tools to perform forward engineering too. You don't integrate your linker into your compiler, so you shouldn't integrate your UML to SVG compiler into your editor.
    • I know that programmers often write the program first and design it later, we've all done it ;) but afaik this is a tool for designing, if you want to do it first, not last, when you have no code.

      It should at least keep up the impression of it to fool the managers :)
      • UML can be used as a visualization tool for existing code. As there is a whole lot of code out there that was written before the UML was even beginning to come together, we have a lot of code that needs design recovery and documentation. This is mainly done manually.
    • Nonsense. You can use any editor you want in windows, even vi. Some people prefers to have more integrated development enviroments (IDE, got it?) that makes their live easier, but nobodys forcing you to use it. You can use vi, emacs, wc, make or jedit in windows, but there isn't as much need to use grep if you have an editor with good regular expresion search. VC++ has command line compilers.
      Your recommendation seems to miss the point: how do you design with UML?. Check Rational Rose.
      • The point is that you don't get any options for UML tools -- they are all "integrated", meaning they are fucking huge.
        • All the more reason to at least check out Umbrello. It isn't "fucking huge". It's 1.4Meg on my system, compared to the 3.5Meg of XEmacs.
        • Let's supose integrated product A does 80 percent of what I need, the other 20 percent unused features.
          By pulling togheter scritps, XSL, grep, sed and a few other tools I can get perhaps 8 percent of the functionality. Take in account the effort to integrate all this to get something that sticks with duct tape.
          My choice would be easy.

          • The point is that the integrated products don't even do 10% of what I want, and they're flaky and slow. By putting together scripts I can build an array of tools that does 80% of what I want and write that last 20% easily.

            Every project has different requirements for tools, the idea that you can write one tool that is going to do everything for you in a particular field is rediculous.


    • 1.Parse C++ using a general parser, such as Earley's algorithm or Tomita, generate a readable XML parse tree.
      2.Filter parts of the parse tree that are not used in the UML diagram you want to generate, i.e., you don't need code in class diagrams.
      3.Transform the parse tree into a standard UML exchange language.
      4.Transform the UML into scalable vector graphics (SVG) format.
      5.Use open tools to view the resulting SVG file.


      You are speaking about Class diagrams only, right? So you ommit the other 8 diagrams UML offers?

      Anyway ... your tool chain is inapprobriated:

      1. Use open tools to view (and of course, manipulate!!!) SVG files.

      2. Transform the SVG into an UML model.

      3. Transfrom the UML model into an parse tree.

      4. Enhance the parse tree by language dependend features, e.g. pointers or references for C++.

      5. Unparse the parse tree into compilebale source code.

      Hu hom, your 5 steps plus my 5 steps together are minimum if you like to work with class diaggrams only ...

      Still 8 further diagrams missing :-)

      angel'o'sphere
      • Fair enough. I chose class diagrams as an example, but the same goes for all UML diagrams that you might want to re-engineer from source code or generate source code for (I'm primarily interested in the former). However, unlike a giant IDE, you can re-use large parts of the tool chain. Sure, you can extend an IDE to include other diagram types, but it means you have to intergrate you code, and therefore it can only be used in one way. Using a tool chain, the tools can be combined together in n*n ways.
        • Well,

          so we only need to DO IT :-) as you seem to have the same basic ideas I have.

          Strangely the OMG is defining the XML formats for case data interchange and also the meta model of case data in a totaly incompetent way. So if no one wins 10M bucks in a lottery and is going to spend it for "The Ultimative Modelling and Generation Work Bench(Reverse Engineering included)" this will not happen in the forseeable future :-/

          Powerfull GUI interaction + SVG + XML + XSLT + code generation + reverse engineering .... of course that is the dream tool chain.

          angel'o'sphere
          • A standards body, incompetent? Wow, that's never happened before :)

            Powerfull GUI interaction + SVG + XML + XSLT + code generation + reverse engineering .... of course that is the dream tool chain

            And we can build it one part at a time with each of the parts serving some useful purpose. Seperate tools with agreed interchange formats is the best way to parallelize work.

  • Other UML Modeller (Score:4, Informative)

    by mshiltonj ( 220311 ) <mshiltonjNO@SPAMgmail.com> on Wednesday January 22, 2003 @10:30AM (#5134842) Homepage Journal
    There's ArgoUML [tigris.org], but I've used it very little. Haven't used Umbrello at all. Would be interested in a head-to-head comparison.
    • I've used them both. Feature wise, they're pretty much comparable. But ArgoUML only supports Java. And since it's a GUI app written in Java, it runs dog slow.

  • that has to be the WORST write-up i've ever seen!! announcing Umbrello 1.1-stable was released and at the SAME TIME asking if there's somethingbetter out there? (implying Umbrello is crap)

    come on!


  • I was hoping that the tool would be able to import Java classes - no such luck. Maybe in the next release!

  • umbrello has my favourite error, shared with rational rose, even: in a sequence diagram, it is not possible (that i can find) to show one object creating another, even though that is part of the UML standard.

    also, sequence diagrams don't mark the active period when one objects invokes another.
  • Other tools. (Score:3, Informative)

    by fogof ( 168191 ) on Wednesday January 22, 2003 @12:50PM (#5135983) Homepage
    I used dia for UML. I know of 2 other tools out there. One that does the code generation and one that does the importing of code into a dia uml diagram. I found both on freshmeat. But I just installed Umbrello and it seems that it is far better than both that I have used.
  • I am just trying to hack out some perl code generation c++...

Dynamically binding, you realize the magic. Statically binding, you see only the hierarchy.

Working...