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

5 of 37 comments (clear)

  1. 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.
  2. 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!