Unified Modeling Language, or UML, is a way of visualising systems. There are different types of UML diagrams and they can used to visual how a computer program is structured, how a user interacts with a program, structure of a database, and much more. Basically UML can be simplified as some boxes and lines connecting those boxes. Each type of UML diagram has its own rules about what type of boxes represent what things and what type different types of lines and arrows mean.
There are two main types of UML diagrams; structural and behavioral. Structural diagrams show how a program fits together. For example a class diagram can be used to show the object orientated hierarchy of a computer program. Behavioral diagrams show how iteration and systems function within a program. For example a use case diagram can be used to show how an end-user would interact with a program.
UML models can be useful pieces of documentation when dealing with software, or systems in general. Using easy to understand diagrams can help you explain or understand a proposed idea or the structure and function of a system. Having standard diagrams that people generally understand can save time, as you won’t have to explain your diagram and what the bits and pieces mean within the picture, it can help you get to the point of the diagram without a lot of overhead. Although, too much documentation, or creating documentation for the sake of creating documentation can hurt the development of a system. Documentation should be created when it is required or needed and not just because you can and that the type of documentation exists. You shouldn’t map your software into every existing UML diagram type, only use the needed documentations and the bits of documentation that make sense for your system and business or organisation.