Excluding UML, What other formal methodologies exist to visually represent software models?
Do you know any tools that allow you to work with them?
Excluding UML, What other formal methodologies exist to visually represent software models?
Do you know any tools that allow you to work with them?
One of the most popular is Agile Modeling
It is based more on the principle of sketching your design rather than it being a formal concrete design. It is much more flexible.
Data flow diagrams, Nassi-Schneiderman diagrams, flow charts, Warnier-Orr diagrams all come quickly to mind. Venn diagrams can be useful to help understand SQL queries. I've done all of them in Visio at one time or another when I needed to retain the diagram for future reference. But a white board is faster and more flexible.
But I no longer use any of them, as one UML diagram or another is better suited to the kinds of development I'm doing now.
There are two competing trends in the modeling space - UML (or similar notations) vs. DSLs (Domain Specific Languages). UML approach tries to model every possible real world scenario in a unified modeling language while the DSL approach tends to create a new specific-purpose language for every "domain" (area of interest).
If you live in a Microsoft world, Visual Studio has historically chosen the DSL path and you can find many examples of graphical designers for Domain Specific Languages in Visual Studio Team System (application architecture designer, class designer etc.) On the other hand, it is expected that Microsoft will announce better UML support for Visual Studio vNext later this year at the PDC conference so you will probably get first-class support for UML as well.
BTW, if you were looking for an alternative to UML amongst the general-purpose modeling notations, I would recommend not to bother. UML is the best in that area and definitely the one that gets the most support across the industry.
Not sure if its a part of UML, but i find Entity Relation Diagram (ERD) very useful when modeling your database...
RWendi