我一直是powerdesigner的fan, 设计的事情它都能处理(ER[CDM/LDM/PDM], UML, Flowchart), 不过它的价格挺贵的. 下面介绍几个免费的软件, 可以代替powerdesigner/visio等商业软件.


1. flowchart diagram(yEd是首选)

yEd, http://www.yworks.com/en/products_yed_download.html,

  yEd, 跨平台, 做flowchart太棒了,个人觉得比visio要强, 尤其是图形对齐辅助线, 印象非常深. 使用经验分享: 如何将一个process节点移到一个容器(比如泳道)中? 试了好多次, 终于找到了操作方法: 按下SHIFT键, 同时选中process node, 拖拉到容器区域内, 这样这个process node就是属于该容器了.  将一个process node从容器中移出, 也需要按下SHIFT键.

dia,  http://live.gnome.org/Dia,

  dia, 跨平台, 应该还是很不错的, 缺点是:图形边框太大, 所以一个打印页面放不下太多的东西, 另外软件很久没有更新了.


2.uml diagram(ObjectAid 是做class diagram的首选, 其他diagram, 我选用Astah社区版)

做UML diagram的软件很多, 从维基上就一个列表, http://en.wikipedia.org/wiki/List_of_UML_tools

我的选择的方案是, 免费, 并且操作要方便(既然是设计工具, 操作一定要方便, 不然就会妨碍我们的思维)

  ObjectAid(Eclipse插件, 支持Eclipse 3.4.x以上版本). 有时候, 觉得画class diagram是就为了设计而设计, 其实我更习惯直接用IDE写代码, 思维更自由, 还可以随时做refactor, 最终的代码可能和原来的class diagram相差甚远.  

http://www.objectaid.com , objectaid的class diagram插件免费, sequence diagram插件是收费的. 

  Astah 6.3(曾用名JUDE), community版免费, 用起来不错, Astah的look&feel选用Nimbus方案, 界面比较好看一些. 和AogoUML相比, 在class diagram中为一个class增加attribute和operation, 要方便很多, 比如,要增加一个public级的attribute, 直接输入下文即可. 

+ firstName : String


  StarUML(备选软件), 评价不错, 使用Delphi开发的, 有几年不更新了, 但支持UML 2.0, 20100719在sf.net上说, 要转到eclipse plugin environment上.


  ArgoUML, 开源的, 比较知名, 但操作起来我实在不习惯, 太繁琐了, 比如在class diagram中为一个class增加attribute和operation, 要点击很多次鼠标才能完成. 另外, 画出的图形太丑


3.ER diagram

试用了一大把免费开源的(包括DBDesigner4, Open System Architect 4), 都不行, 我特意写了一个评估博客(), 还是使用PowerDesigner最顺手.  

值得一提的是, yEd也可ER图, 特点图形表现能力强, 编辑字段很方便(我使用Excel设计, 然后用yEd将设计转成图, 用的比较爽), 缺点: 功能太简单了, 连字段类型都没有, 也无法生成sql.

4. prototype

 Pecil project, prototyping tool,  http://pencil.evolus.vn/, 该免费工具不错, 当然 比Axure RP商业软件要差.