The more complicated the underlying system, the more critical the inter communication among everyone involved in deploying and developing the software. UML is a software language for developers, analysts and designers. UML gives a common vocabulary for the architects, business analysts, developers etc.
UML is used to the Object Oriented problem solving. UML stars with a model; A model is an abstraction of the relying problem. The domain is the actual world from which the problem occurs. The model consists of different objects. The objects communicate with each other by receiving and sending messages. The objects are characterized by operations and attributes. The values of an object's attributes calculate its state. The classes are the blueprints or like templates for object instance. A class wraps functions and attributes into a single distinct entity.