This is a notational language used in software engineering. Generally, it’s most useful for visualising, specifying, describing or listing large-scale information systems in organisations. UML is a compound tool that contains and follows the best software engineering practices available. It’s particularly useful for object-oriented programming and the development of large, complex software projects.