Using UML for high level design
Most likely, most of you modern day web app programmers have never heard of this.
UML, which stand for Unified modelling Language,
was a design language expressly designed to build object oriented systems,
of which apps, specially distributed apps like web apps are an example..
It was designed to be a high level language
above the level of a programming language such as C++, Java or Ruby.
Several tools were produced to design using UML,
the most popular being by a company called Rational
which is now owned by IBM.
Worth checking out, specially if you have a heavy back-end.
Is UML used much these days?
Most people don't spend much time on design
It's the age of cut-and-paste
When you scale up and your back-end becomes heavy,
your code get's really complicated and unwieldy.
That's when you bring in a high-priced expert to fix your code.
Those guys use UML.
In India, we don't yet have very many large scale systems.
When people start building those, this will prove useful.
I would recommend it if you're OO.
Isn't mind-maps software similar to UML? For design (any sort, not just visual) you need to keep so many moving parts in your head. Isn't something visual better than writing it up in XML sorr of language?
Did you know notCRUD has cool signatures? Use them by going to your User Profile > Edit.
Personal blog: paraschopra.com/blog/
I'm not really familiar with mind-maps.
UML has been designed to represent software systems
built using object oriented techniques.
It's a pretty deep and well thought out effort.
The representation makes extensive use of visual elements
such as flow charts and graphs.
For example, the first 3 steps in a UML design involve:
- A use-case analysis that represents how the system will be used represented by a use-case diagram
- A class diagram to represent the class hierarchies in the system
- Some sort of interaction diagram that represents how the different objects in the system intercat with each other to realize each of the use cases in the system.
It's all very visual.