Slashdot Mirror


Open Source Design Tools?

mbogosian asks: "Recently, my broadened responsibilities have me doing some database design and modeling, and I'm happy for the new knowledge and experience, but I'm a bit frustrated about the tool selection. I know most of us have had plenty of experience with at least a handful of all the wonderful Open Source development tools out there (like GCC, GNU Make, Subversion , and Perl to name a few). My question is this: where are OpenSource design tools? I've tried what I could find on SourceForge, but (as usual?) most of the projects that sounded promising were either still in the planning stages or seemed abandoned. Of course something which allowed be to create nifty class charts and output them to UML and/or SQL would be really cool, but I've yet to find something that works (especially in Linux). What are your favorite Open Source design tools and what do you like about them?"

29 comments

  1. King of the sea by hrbrmstr · · Score: 2, Informative

    Poseidon for UML Community Edition from Gentleware is a really nice modeling and reverse-engineering tool. It's Java-based (a *tad* slow on startup) and has great support.

    --
    Mind the gap...
    1. Re:King of the sea by KDan · · Score: 1

      It's a lot like ArgoUML from the looks of it. The diagrams look really ugly.

      Daniel

      --
      Carpe Diem
    2. Re:King of the sea by __past__ · · Score: 1

      That's because it basically is ArgoUML, just non-free.

  2. Dia and Umbrello by KDan · · Score: 3, Interesting

    Dia and Umbrello are the two I found to be some use. ArgoUML, a java program, was really unwieldy, and I don't recommend it. If you're just looking to draw a nice diagram (for presentation purposes), rather than use it in the design process, I found that actually OpenOffice's Drawing program was excellent for the purpose, with lots of arrow/line types (curved, straight, etc).

    Daniel

    --
    Carpe Diem
    1. Re:Dia and Umbrello by Teancom · · Score: 1

      I'd just like to second the recommendation to checkout Umbrello. I used it to do the design on a project in Java last year, and was very pleased with it, and it's gotten better since then (now that they accepted my patch to fix a focus bug ;-). It can output to java/c++/someotherstuff, and has a very nice ui.

  3. UML Database Design by Lomby · · Score: 3, Informative

    I can strongly suggest using Dia in conjunction with tedia2sql. You can do the graphical design in Dia and then convert the result to SQL for various databases (Oracle/MySQL/PostgreSQL/...).
    It is really fast and stable, it supports tables with indexes, primary keys, foreign keys, ...

    1. Re:UML Database Design by Grue · · Score: 1
      I second this recommendation. I've used dia and tedia2sql for several database designs.

      Also, Torque from the Apache project is another good project to help with database design. You can genereate database from a custom XML schema.

  4. ArgoUML by erinacht · · Score: 2, Informative

    ArgoUML is a Java based (and biased) UML development toolkit - well worth investigating

    Tigris itself contains many other open source software engineering tools for design, construction, testing, deployment and more


    Synopsis:
    Tigris.org Community Scope
    Tigris.org is a mid-sized open source community focused on building better tools for collaborative software development.
    You will not find thousands of unrelated projects here: every project fits into the Tigris vision.
    You will not find dead projects here: every project is welcomed into the community with a commitment to see it through and active developers cycle among related projects.
    Tigris.org is hosted by CollabNet, but the Tigris vision is one for the entire open source movement and one that has attracted senior open source developers from many organizations.

  5. Right tool for the job by sql*kitten · · Score: 0, Offtopic

    My question is this: where are OpenSource design tools? I've tried what I could find on SourceForge, but (as usual?) most of the projects that sounded promising were either still in the planning stages or seemed abandoned. Of course something which allowed be to create nifty class charts and output them to UML and/or SQL would be really cool, but I've yet to find something that works (especially in Linux). What are your favorite Open Source design tools and what do you like about them?"

    It's a matter of using the right tool for the job. Example: the Linux kernel developers use proprietary BitKeeper rather than free CVS, because BitKeeper is simply a better tool. Using a free tool just because it is free is a poor decision, because it will cost you more in the long term in lost productivity. In this case, there are no open source design tools because there are no open source applications that have complex schemas (say 100 tables or more). Plus there is an unfortunate attitude that still permeates open source "real men start coding, only corporate minions do UML".

    If you need a good tool, try Oracle Designer or Together/J, or since IBM are Linux's new best friend, you might want to look at Rose. I guess if you are cheap you could use Visio.

    1. Re:Right tool for the job by n1ywb · · Score: 1
      Example: the Linux kernel developers use proprietary BitKeeper rather than free CVS, because BitKeeper is simply a better tool.
      Whoa whoa, lets be clear here. Bitkeeper is better for THAT job. Linux kernel development is so fast paced and so much code comes in from so many different sources that CVS couldn't handle it. Linux kernel development is an unusual case. CVS is totally fine for most projects. Even RCS is sufficient for small projects with one developer.

      Sometimes using free software vs. superior commercial software is a matter of principle. I value my principles very highly.
      --
      -73, de n1ywb
      www.n1ywb.com
  6. Data Architect from The Kompany by gadwale · · Score: 3, Interesting

    You may want to try Data Architect from The Kompany for database modelling.

    I do not have much experience using it, but the screenshots look very slick (a good judge for open source apps since the UI is generally the weakest link!)

    The listed features include:
    * Workspace/Project oriented environment
    * ERD centric data modelling
    * model panner ("birds eye view")
    * quick find and naviagtion from output window
    * model validation
    * full documentation capabilities
    * integrated Advanced SQL Editor with syntax highlighting
    * SQL Project - a multi-platform (Windows, Mac OS X, Linux), multi-database, integrated development environment
    * save/load SQL sessions
    * integrated ODBC
    * multi-platform (Linux, MS Windows and soon Mac OS X)
    * multi-database (ODBC, MySQL, PostgreSQL, DB2 and InterBase/FireBird coming soon)
    * open file format (XML)
    * DBMS specific features such as data types and SQL syntax
    * reverse engineer existing databases
    * generate create-scripts
    * print model
    * print data dictionary
    * liberal use of tool-tips to help Users
    * integrated Team Diagram> (general purpose diagramming)
    * supports table inheritance
    * supports; table, view, domain, sequence, procedure

    Supported databases are:
    * generic using ODBC
    * MySQL
    * PostgreSQL
    * DB2
    * InterBase/FireBird (in testing)

    It is not free as in beer, but the license agreement seems to indicate that you will get the source. It is reasonably priced at $39.95 for the download version and you will be supporting a great company.

    And don't be surprised if you get an email back from the president of the company, Shawn Gordon. I sent an email yesterday to the support address and received a reply from him within a few minutes.

    You may also want to look at their BlackAdder IDE. Screenshots here.

    Regards,

    Adi Gadwale.

    1. Re:Data Architect from The Kompany by MrBlack · · Score: 1

      You thought a Motif application looked slick???

  7. To my knowledge, there isn't one but try this... by Hollinger · · Score: 1

    Hey, to my knowledge, there isn't an open-source tool that'll do what you want. You might, however, just consider shelling out the cash for a program such as Embarcadero's Describe. Check it out, and see if it fits your needs.

    Oh, and it uses Perl as a scripting language, so you can really customize it to match your design flow wherever you are. One of our coders modified an existing script to make it do some useful things, like interact with the GUI, and (of course) the core of the program.

    One of the better mods someone around here came up with is one that lets it trundle over source code, and reverse-engineer the UML for you, if you're working off of an existing code base.

    Take a look. They offer downloads for trial purposes.

  8. doxygen, dot and qcad by Confuse+Ed · · Score: 3, Informative

    I tried Dia some time ago and found it very frustating to use, with most of built in objects being too restrictive and lacking enough variety of connection points to terminate lines and arrows.

    For line diagrams (e.g. for documenting 3D graphics algorithms), I've moved on to qcad, which is a 2D CAD package.

    For OO design, you can try doing this backwards : prototype the interfaces and classes and run doxygen (with dot) to generate inheritance and collaboration diagrams or XML output for post-processing. This probably fits in more with an extreme programming prototype/refactor style methodology than a complete up-front design methodology.

    For state diagrams, I've had some success using dot on its own.

    Using doxygen and dot has the significant additional feature that the files you edit are all plain-text files, so you can use your existing source revision control system (e.g. CVS)

    Even with these packages however, I usually still find a pen and paper (or a white-board or blackboard if available) the easiest and fastest option for sketching out an initial design, or during discussions of various design alternatives with colleagues.

  9. try Eclipse with UML plugins by rohis · · Score: 2, Informative

    Try eclipse from (http://wwww.eclipse.org) which is opensource along with Omondo Plugin from (http://www.omondo.com) free for developing, not open source.

    More plugin for eclipse are listed here
    http://eclipse-plugins.2y.net/eclipse/index. jsp

    for other UML Plugins
    http://eclipse-plugins.2y.net/eclipse/plu gins.jsp? category=UML

  10. This Project Has Not Released Any Files by bite.me · · Score: 2, Funny

    Abandoned projects on Sourceforge? I don't believe it.

  11. Stir the pot... by legerde · · Score: 2, Interesting

    Since Open Source software is.. evolutionary... Maybe what you are finding is how little the design tools are needed. Granted the people who work on Open Source software love to WRITE software, and not formally design it. The design evolves on its own, so why try and manage it closely. It will take care of itself. See Linus rants on this. He believes he makes design decisions by picking and choosing clumps of other peoples work.

    Its not surprising to me that there are no "design" tools.. They just aren't that important or needed in writing Open Source software.

    1. Re:Stir the pot... by Scarblac · · Score: 2, Insightful

      Yeah, that's ok if what you're writing is some generic open source app. If you have to build something for a client or for your boss, on the other hand, you need design. If only to agree beforehand what it is that you're going to make, exactly.

      --
      I believe posters are recognized by their sig. So I made one.
    2. Re:Stir the pot... by m0rph3us0 · · Score: 1

      Well... how many times have you worked out a design for days finalized it, have everyone agree on it, make decisions based on this design, and then half way through the project the requirements change. The problem isn't usually design, it is people changing the design.

  12. Not many. by pmz · · Score: 2, Interesting

    My question is this: where are OpenSource design tools?

    The best high-level design tools for UML, database schemas, etc. are still proprietary. This is also the reason I hesitate to use such tools in the first place. For example, how does a binary project file get effectively version-controlled? How can it be shared with people who haven't blown $1,500 for SuperDesignToolXYZ?

    I've also seen thousands of dollars blown on design tools, when the project is so small, anyway, that plain text files would have sufficed. Or, better, actually documenting the class definitions in a Java or C++ project.

    Don't forget that design tools also have their own built-in and distracting learning curve. It is easy to waste time poking around in a tool without actually accomplishing real work. If a company is going to invest in the cost of a design tool, at least send the team to a week of training.

    In short, design tools are always a mixed blessing and should be viewed skeptically.

  13. Tools are unnecessary by rubinson · · Score: 2, Interesting

    If you're asking about CASE tools, I'd recommend that you stay away from them. While CASE tools can be useful for managing larger database schemas, I've found that--for small and mid-sized schemas (dozens of tables)--they tend to hinder more than help. They add a layer of abstraction between you and your design, one which prevents you from really getting into the guts of your design. Personally, I always use a whiteboard to sketch out my design and write all of my SQL from scratch. May be old-fashioned, but I've never found anything that works better. When I'm done designing a schema, I know every column intimately and I have a reason and justification for every decision. CASE tools take those decisions out of your hands. If you want to use CASE tools to manage (rather than design) your schema, you can always import the completed design into your tool of choice.

    When it comes to database design, a nice large whiteboard is your best friend.

    1. Re:Tools are unnecessary by pmz · · Score: 1

      CASE tools take those decisions out of your hands.

      Or worse, CASE tools put those decisions into the hands of someone who thinks they are now a database architect, because they can pointy-clicky the tables around on a screen. CASE tools cannot infer the meaning of the data, and, therefore, are actually dangerous in the hands of some PRB who thinks "normalization" is something that happens to immigrants.

  14. Dome by Usquebaugh · · Score: 2, Informative

    Dome I'm just using it for DFD/ERD but it handles most diagrams I've ever heard of.

  15. here's something by olrs · · Score: 1

    Just happened to see this on Freshmeat today:

    http://www.jameswells.net/KlassModeler/

    Looks like it might be appropriate, OSS and GPLed

  16. Umbrello by floydman · · Score: 1

    Umbrello

    /*Why is there a prnguin on my screen?!*/

    --
    The lunatic is in my head
  17. the best tool.. by greywire · · Score: 1

    without a doubt, the all around best ever tool for almost anything is a pad of graph paper.

    I grew up with graph paper. I simply think better with a pencil and a pad of graph paper. I've always had a pad and my clipboard since I was 8 years old (same board, too) and I'm 32 now.

    Be it mechanical, electronic, or software, I always start with graph paper.

    I've tried using software for drawing diagrams and such, but it just gets in the way. Sure, when you want to make a published version of documentation, then you need it. But for actual design and refinement of your thought patterns, it just can't be beat.

    --
    -- Senior Software Engineer, Attorney appearance services, locallawyerapp.com.
  18. SparxSystems Enterprise Architect by Heinr!ch · · Score: 1

    I've been running Sparx Systems Enterprise Architect for about 1.5yrs on Windows. Prior to that, I was running Rational Rose - but got sick of paying out the ass for upgrades each year. EA, as it's known, rivals Rose in many ways and costs less than $200/seat. I absolutely love it. It doesn't entirely answer your question; So recently, I discovered that it works flawlessly on Linux via CrossOver Office (assuming you copy over MS Sans Serif from Windows). Check it out (there's an unlimited 30 day trial version) or send me a private message.

  19. erWin and others by Anonymous Coward · · Score: 0

    I called the company that makes ErWin (I think it is C.A., but I am not sure and too damn lazy to look it up...sorry...but that's the breaks) If enough people call and request a Linux version, maybe they will port their software. Sure, you will probably have to pay for it, but at least there will be commercial OOA/D ERD tools available. I have been calling Quest (SQL Navigator and TOAD) about a Linux port. It is on their agenda, but not until 2004. Once these "Business" tools become available, then Linux may be more accepted by Monkey-Assed MBAs. Sorry, but I have tried to use Dia. It sucks when you are trying to ERD a schema with more than two entities. OpenOffice is much better, but lacks the "Shapes" and it does not generate code. A plug-in for Eclise would be GREAT. Too bad there are not any GREAT once out there. Too bad I have to support a family, otherwise I might just build my own plug-in. (The boss would rather pay me to solve their problems, not build tools to help me solve their problems)