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

5 of 29 comments (clear)

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

  3. 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.

  4. 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.

  5. 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.