Unified Modeling Language (UML) is a standardized visual modeling language that provides a standard way to visualize the design of a system. It is a collection of best engineering practices that have proven successful in the modeling of large and complex systems. UML is used to specify, visualize, construct, and document the artifacts of software systems, as well as for business modeling and other non-software systems. UML uses mostly graphical notations to express the design of software projects. The main aim of UML is to define a standard way to visualize the way a system has been designed. UML has been designed for a broad range of applications and provides constructs for a broad range of systems and activities. The Object Management Group (OMG) adopted UML as a standard in 1997, and it has been managed by OMG ever since. The International Organization for Standardization (ISO) published UML as an approved standard in 2005. UML has been revised over the years and is reviewed periodically.