UML is a standard language for visualizing, specifying, and documenting software systems. It was created by the Object Management Group in 1997. UML can be used to model both software and non-software systems through diagrams and allows for generating code from models. The goal of UML is to provide a general-purpose modeling language that is easy to understand and use to model systems for various users.