Slashdot Mirror


Umbrello 1.1 Released

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?"

12 of 37 comments (clear)

  1. But what about... by Tuxinatorium · · Score: 3, Funny

    Have they released Rain 1.1 yet, or is this a totally unnecessary umbrello upgrade?

  2. Possibly Better by Tomah4wk · · Score: 3, Informative

    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.

    1. Re:Possibly Better by _pruegel_ · · Score: 2, Informative

      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.

  3. Whatever happened to small tools by QuantumG · · Score: 4, Insightful
    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.

    --
    How we know is more important than what we know.
    1. Re:Whatever happened to small tools by aled · · Score: 3, Insightful

      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.

      --

      "I think this line is mostly filler"
    2. Re:Whatever happened to small tools by angel'o'sphere · · Score: 2, Insightful


      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

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    3. Re:Whatever happened to small tools by QuantumG · · Score: 2, Insightful

      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.

      --
      How we know is more important than what we know.
  4. Re:Why ? by Apreche · · Score: 4, Insightful

    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.

    --
    The GeekNights podcast is going strong. Listen!
  5. Other UML Modeller by mshiltonj · · Score: 3, Informative

    There's ArgoUML, but I've used it very little. Haven't used Umbrello at all. Would be interested in a head-to-head comparison.

  6. Other tools. by fogof · · Score: 3, Informative

    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.

    --
    --=.=-- www.cyber2000.qc.ca
  7. Re:Why ? by maxmg · · Score: 2, Interesting

    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.

    --
    I asked for a refund - and got my monkey back.
  8. Re:FYI: Code Import only supports C++ by Arandir · · Score: 2, Informative

    It supports Java, C++ and PHP out of the box. Go to "Code -> Add/Remove Generation Languages", then add the one you want. Since it's a plugin architecture, you can add more when people write them.

    --
    A Government Is a Body of People, Usually Notably Ungoverned