>>6
UML is a tool for making UML models of a software system. The theory of making models is that the programmer can comprehend what the system is supposed to do by focusing on certain specific parts of the system. The UML is a standard way of producing a set of models so that anybody trained in UML can easily comprehend the UML models. It's not necessary to use UML, you could create your own model if you think your model can improve the insight into studying your software system.