Open Source Design Tools? 29
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?"
King of the sea (Score:3, Informative)
Re:King of the sea (Score:1)
Daniel
Re:King of the sea (Score:2)
Dia and Umbrello (Score:3, Interesting)
Daniel
doxygen, dot and qcad (Score:4, 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 [qcad.org], which is a 2D CAD package.
For OO design, you can try doing this backwards : prototype the interfaces and classes and run doxygen [doxygen.org] (with dot [graphviz.org]) 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.
Re:Dia and Umbrello (Score:2)
UML Database Design (Score:3, Informative)
It is really fast and stable, it supports tables with indexes, primary keys, foreign keys,
Re:UML Database Design (Score:1)
Also, Torque [apache.org] from the Apache project is another good project to help with database design. You can genereate database from a custom XML schema.
ArgoUML (Score:2, Informative)
Tigris [tigris.org] 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 he
Re:Right tool for the job (Score:2)
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 com
Data Architect from The Kompany (Score:3, Interesting)
I do not have much experience using it, but the screenshots look very slick [thekompany.com] (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 [thekompany.com] IDE. Screenshots here [thekompany.com].
Regards,
Adi Gadwale.
Re:Data Architect from The Kompany (Score:2)
To my knowledge, there isn't one but try this... (Score:2)
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 bett
try Eclipse with UML plugins (Score:2, Informative)
More plugin for eclipse are listed here
http://eclipse-plugins.2y.net/eclipse/index
for other UML Plugins
http://eclipse-plugins.2y.net/eclipse/pl
This Project Has Not Released Any Files (Score:2, Funny)
Stir the pot... (Score:2, Interesting)
Its not surprising to me that there are no "design" tools.. They just ar
Re:Stir the pot... (Score:3, 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.
Re:Stir the pot... (Score:2)
Not many. (Score:3, Interesting)
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.
Tools are unnecessary (Score:3, Interesting)
When it comes to database design, a nice large whiteboard is your best friend.
Re:Tools are unnecessary (Score:2)
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.
Dome (Score:3, Informative)
here's something (Score:1)
http://www.jameswells.net/KlassModeler/ [jameswells.net]
Looks like it might be appropriate, OSS and GPLed
Umbrello (Score:1)
the best tool.. (Score:1)
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, th
SparxSystems Enterprise Architect (Score:1)