Unified Modeling Language ("UML") is the industry standard "language" for describing, visualizing, and documenting object-oriented (OO) systems. UML is a collection of a variety of diagrams for differing purposes. Each type of diagram models a particular aspect of OO design in an easy to understand, visual manner. The UML standard specifies exactly how the diagrams are to be drawn and what each component in the diagram means. UML is not dependent on any particular programming language, instead it focuses on the fundamental concepts and ideas that model a system. Using UML enables anyone familiar with its specifications to instantly read and understand diagrams drawn by other people. There are UML diagram for modeling static class relationships, dynamic temporal interactions between objects, the usages of objects, the particulars of an implementation, and the state transitions of systems
In general, a UML diagram consists of the following features:
- Entities: These may be classes, objects, users or systems behaviors.
Relationship Lines that model the relationships b etween entities in the system.
- Generalization - a solid line with an arrow that points to a higher abstraction of the present item.
- Association - a solid line that represents that one entity uses another entity as part of its behavior.
- Dependency - a dotted line with an arrowhead that shows one entity depends on the behavior of another entity.