We may earn an affiliate commission when you visit our partners.

UML

Save
May 1, 2024 Updated May 9, 2025 17 minute read

The Unified Modeling Language, or UML, is a standardized general-purpose modeling language used in the field of software engineering. Think of it as a way to create visual blueprints for software systems, much like architects use blueprints for buildings. UML provides a common vocabulary and set of diagrams to describe, visualize, construct, and document the various artifacts of a software system. This visual approach helps in simplifying complex software designs, making them easier to understand and discuss among team members and stakeholders.

Path to UML

Take the first step.
We've curated 24 courses to help you on your path to UML. Use these to develop your skills, build background knowledge, and put what you learn to practice.
Sorted from most relevant to least relevant:

Share

Help others find this page about UML: by sharing it with your friends and followers:

Reading list

We've selected 33 books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in UML.
Provides a concise and accessible introduction to the most commonly used parts of UML. It's an excellent starting point for beginners and serves as a handy quick reference for basic concepts. While not exhaustive, it effectively distills the complexity of the UML specification. This book is often recommended as a first read for those new to UML.
This comprehensive book integrates UML with object-oriented analysis and design (OOAD) and iterative development. It's highly practical, demonstrating how to apply UML in real-world software development projects through numerous examples and case studies. is valuable for those who want to see UML used within a development process and is often used as a textbook in academic settings.
Offers a hands-on, pragmatic introduction to UML 2.0 with numerous examples and exercises. It's well-suited for learners who prefer a practical approach to mastering UML through clear explanations and step-by-step instructions. This book helps solidify understanding by enabling readers to practice UML modeling.
This textbook covers systems analysis and design with a strong emphasis on the object-oriented approach using UML. It's commonly used in undergraduate programs to teach students how to analyze and design systems. provides a broader context for using UML within the overall systems development lifecycle.
Co-authored by one of the creators of UML, this book provides a thorough coverage of object-oriented modeling and design principles using UML. It's considered a classic in the field and offers deep insights into the methodology. is valuable for those seeking a strong theoretical foundation in OOD and UML.
Covers software modeling and design, integrating UML, use cases, design patterns, and software architectures. it provides a comprehensive view of how UML fits into the broader software design process. This book is suitable for those looking for a holistic understanding of software design with UML as a key tool.
Integrates UML with the Unified Process, providing a practical approach to object-oriented analysis and design. It includes detailed examples and case studies, making it suitable for intermediate to advanced users who want to see how UML is applied in complex scenarios. It's a good resource for understanding how UML fits into a structured software development lifecycle.
Integrates UML, design patterns, and Java to teach object-oriented software engineering. It provides a practical approach to building software systems. This book is suitable for students and practitioners who want to see how UML is used in conjunction with other important software engineering concepts.
Is specifically tailored for IT business analysts who need to understand and use UML for requirements gathering and system analysis. It focuses on the diagrams and techniques most relevant to business analysis tasks. This book provides a different perspective on UML, emphasizing its use in the early stages of the software development lifecycle.
Provides a comprehensive overview of domain-driven design (DDD). DDD software design approach that focuses on creating software that is closely aligned with the business domain. The book valuable resource for anyone who wants to learn about DDD.
Provides a practical guide to agile software development. It covers the principles and practices of agile development, including Scrum, Kanban, and Test-Driven Development. The book valuable resource for anyone who wants to learn about agile development.
Provides a comprehensive overview of microservices. Microservices are a software architecture style that decomposes a software application into small, independent services. The book valuable resource for anyone who wants to learn about microservices.
Provides a comprehensive overview of site reliability engineering (SRE). SRE software engineering discipline that focuses on the operation and reliability of software systems. The book valuable resource for anyone who wants to learn about SRE.
Focuses on the practical application of UML through worked examples and solutions. It covers the main modeling viewpoints at the analysis level and provides details on design-level models. This book is helpful for understanding how to use UML effectively in real-world projects and reinforces learning through practice.
Provides a comprehensive overview of data-intensive applications. It covers the principles and practices of designing and building data-intensive applications, including data modeling, data storage, and data processing. The book valuable resource for anyone who wants to learn about data-intensive applications.
Provides a comprehensive overview of object-oriented analysis and design (OOAD). It covers the entire OOAD process, from requirements gathering to design implementation. The book valuable resource for anyone who wants to learn about OOAD.
Using the engaging Head First approach, this book teaches object-oriented analysis and design, incorporating UML diagrams as a tool. It's known for its visual and interactive style, making complex concepts easier to understand. is great for learners who prefer a less traditional, more engaging learning experience and provides a good foundation in OOA&D with UML.
Provides an introduction to software design with UML 2 in German. It relevant resource for German-speaking audiences who prefer to learn in their native language. It covers the essential aspects of using UML for software design.
Provides a comprehensive overview of DevOps. DevOps software development practice that combines software development and IT operations. The book valuable resource for anyone who wants to learn about DevOps.
Provides a comprehensive overview of continuous delivery. Continuous delivery software development practice that enables teams to deliver software updates quickly and reliably. The book valuable resource for anyone who wants to learn about continuous delivery.
Provides a practical guide to releasing software. It covers the entire software release process, from planning to deployment. The book valuable resource for anyone who wants to learn about software release.
Focuses on agile model-driven development using UML 2. It emphasizes practical, agile approaches to modeling. This book is valuable for those interested in how UML can be applied effectively in agile development environments. It provides a contemporary perspective on UML usage.
Introduces both UML 2 and BPMN 2, highlighting their use in systems modeling and business process modeling. It's relevant for those who need to model both software systems and the business processes they support. This book provides a broader view of modeling beyond just software structure and behavior.
Table of Contents
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser