Astah Professional is a software design tool that enables you to build UML, ER diagrams, Data Flow Diagrams, Flowcharts, Mind maps and more to create a clear understanding among teams. Code generation, reverse engineering are also available. Works on Windows, Mac and Linux.