The Unified Modeling Language (UML) is the market standard used to represent a software system in its various aspects. It is a powerful way to model, specify and communicate the needs and requirements that a desired system must meet, as well as the structure and dynamics of the proposed solution. This course covers the main conceptual diagrams of UML. The theory is reinforced by practical exercises based on a case study.