Friday, September 18, 2009

Sketching UML

The UML is a largely graphical modeling language used to communicate ideas in software design.  The communication channel may only be between the designer and himself.  It is often beneficial to build diagrams for yourself.  Even in doing so, you are still communicating the ideas.  Today, there exist countless UML diagramming tools in which each diagram is created on the computer screen using a mouse.  If enough effort is put into using these software modeling tools, the finished product that is the diagram often looks very visually appealing.  Perhaps too much so.  This can especially be the case if the diagram created is meant to serve as an aid to an initial idea that may or may not be implemented as illustrated in the diagram.

Since the UML is simply a modeling notation in addition to the underlying semantics, UML can also be sketched using a pencil and paper.  Using this medium for UML diagram creation can help to increase the creativity of the design.  It is also done so in a controlled way since a common notation, the UML is used.  Just because a common modeling notation is used in a sketch of some software system does not mean that it is a finished product.  Far from it.  All it means is that it is simply an idea that is being externalized and that there is still room for interpretation in the model.  This is exactly what is desired in the early stages of design.  Even if the implementation has already started.

The main benefit to doing UML sketches for diagrams is that several layers between the brain and the canvas are removed.  There is a certain mechanical appeal to putting pencil to paper and I think this helps with the design rather than hinder it.  The act of sketching is done largely by the software when drawing with UML modeling applications.  Sometimes imperfect lines and arcs add to the aesthetics of a design.

These sketches are obviously not ideal for a future reference to use once the system has moved further along in its life cycle.  For those types of diagrams, the various UML diagramming software is ideally suited.  The goods news is that transitioning a form of a sketch into a digital version isn't too difficult and is even easier when a standard such as the UML is used.