3 ms·
I used a lot of diagramming tools (just out of my head): Flow Charts (later criticized for encouraging GOTO) Syntax Diagrams (similar to BNF/EBNF grammars)
by nivertech 16y ago
I used a lot of diagramming tools (just out of my head):
Flow Charts (later criticized for encouraging GOTO)
Syntax Diagrams (similar to BNF/EBNF grammars)
ERD - mainly database stuff
UML - complex C++ systems and recently for Erlang gen_servers
MSD - message sequence diagrams
StateCharts(and FSM diagrams in general)
They are all useful for documentation or for meetings as a communication tool.
When working on huge waterfall projects in C++ I just wrote the code stub first and then run reverse engineering tool for UML class diagram generation - it's easier than drawing the diagrams yourself.
The problem with UML class diagrams may arise in large organizations, when Architects can be tempted to put many small rectangles on UML class diagram, frequently forgetting, that each such rectangle can be days or weeks of work for a programmer to fully implement, debug and test.
FSM and MSD are especially useful, even for non-OOP languages like Erlang/OTP.
If you learning new grammar or writing parsers - Syntax Diagrams can be useful too.
In recent years I just switched to using web-based and offline tools to generate diagrams from text (GraphViz/dot/msd/ditaa/etc.)