The Complete Guide to UML Diagram Types with Examples

UML stands for Unified Modeling Language which is used in object oriented software engineering. Although typically used in software engineering it is a rich language that can be used to model an application structures, behavior and even business processes. There are 14 UML diagram types to help you model these behavior.

They can be divided into two main categories; structure diagrams and behavioral diagrams. All 14 UML diagram types are listed below with examples and a brief introduction to them explaining how they are used when modeling applications.

You can draw UML diagrams online using our software, or check out some UML diagram examples at our diagramming community.

List of UML Diagram Types

Types of UML diagrams with structure diagrams coming first and behavioral diagrams starting from position 8. Click on any diagram type to visit that specific diagram type’s description.

  1. Class Diagram
  2. Component Diagram
  3. Deployment Diagram
  4. Object Diagram
  5. Package Diagram
  6. Profile Diagram
  7. Composite Structure Diagram
  8. Use Case Diagram
  9. Activity Diagram
  10. State Machine Diagram
  11. Sequence Diagram
  12. Communication Diagram
  13. Interaction Overview Diagram
  14. Timing Diagram
UML Diagram types

UML Diagram types

Structure diagrams show the things in a system being modeled. In a more technical term, they show different objects in a system. Behavioral diagrams shows what should happen in a system. They describe how the objects interact with each other to create a functioning system.

Class Diagram

Class diagrams are arguably the most used UML diagram type. It is the main building block of any object oriented solution. It shows the classes in a system, attributes and operations of each class and the relationship between each class.
In most modeling tools, a class has three parts, name at the top, attributes in the middle and operations or methods at the bottom. In large systems with many related classes, classes are grouped together to create class diagrams. Different relationships between classes are shown by different types of arrows.
Below is an image of a class diagram. Follow the link below for more class diagram examples or get started instantly with our class diagram templates.
UML Class Diagram Example

UML Class Diagram with Relationships (Click on image to modify online)

Get More Class Diagram Templates >>

Component Diagram

A component diagram displays the structural relationship of components of a software system. These are mostly used when working with complex systems that have many components. Components communicate with each other using interfaces. The interfaces are linked using connectors. The images below shows a component diagram.

Component Diagram in UML

Simple Component Diagram with Interfaces

Get More Component Diagram Templates >>

Deployment Diagram

A deployment diagram shows the hardware of your system and the software in those hardware. Deployment diagrams are useful when your software solution is deployed across multiple machines with each having a unique configuration. Below is an example deployment diagram.

UML Deployment Diagram

UML Deployment Diagram ( Click on the image to use it as a template )

Get More Deployment Diagram Templates >>

Object Diagram

Object Diagrams, sometimes referred to as Instance diagrams are very similar to class diagrams. Like class diagrams, they also show the relationship between objects but they use real world examples. They are used to show how a system will look like at a given time. Because there is data available in the objects, they are often used to explain complex relationships between objects.

UML Object Diagram Example

UML Object Diagram Example (Click on image to use as a template)

Get More Object Diagram Templates >>

Package Diagram

As the name suggests, a package diagram shows the dependencies between different packages in a system. Check out this wiki article to learn more about the dependencies and elements found in package diagrams.

Package Diagram in UML

Package Diagram in UML

Profile Diagram

Profile diagram is a new diagram type introduced in UML 2. This is a diagram type that is very rarely used in any specification. For more detailed technical information about this diagram type check this link.

Profile Diagram in UML

Basic UML Profile Diagram structure

Composite Structure Diagram

Composite structure diagrams are used to show the internal structure of a class. For a detailed explanation of composite structure diagrams click here.

Composite Structure Diagram in UML

A simple Composite Structure Diagram

Use Case Diagram

As the most known diagram type of the behavioral UML diagrams, Use case diagrams give a graphic overview of the actors involved in a system, different functions needed by those actors and how these different functions are interacted.

It’s a great starting point for any project discussion, because you can easily identify the main actors involved and the main processes of the system. Click through to read more about use case diagram elements and/or get started instantly using our use case templates.

Use Case Diagram in UML

Use Case diagram showing Actors and main processes (click on image to use as template)

Get More Use Case Diagram Templates >>

Activity Diagram

Activity diagrams represent workflows in a graphical way. They can be used to describe business workflow or the operational workflow of any component in a system. Sometimes activity diagrams are used as an alternative to State machine diagrams. Check out this wiki article to learn about symbols and usage of activity diagrams.

Activity Diagrams in UML

Activity Diagrams with start, end, processes and decision points (click on image to use as a template)

Get More Activity Diagram Templates >>

State Machine Diagram

State machine diagrams are similar to activity diagrams, although notations and usage change a bit. They are sometime known as state diagrams or state chart diagrams as well. These are very useful to describe the behavior of objects that act differently according to the state they are in at the moment. The State machine diagram below shows the basic states and actions.

State Machine Diagram in UML

State Machine diagram in UML, sometime referred to as State or State chart diagram

Get More State Chart Diagrams >>

Sequence Diagram

Sequence diagrams in UML show how objects interact with each other and the order those interactions occur. It’s important to note that they show the interactions for a particular scenario. The processes are represented vertically and interactions are show as arrows. This article explains the purpose and the basics of Sequence diagrams.

You can also instantly start drawing using our sequence diagram templates.

Sequence Diagrams in UML

Sequence Diagrams in UML shows the interaction between two processes (click on image to modify online)

Communication Diagram

Communication diagram was called collaboration diagram in UML 1. It is similar to sequence diagrams, but the focus is on messages passed between objects. The same information can be represented using a sequence diagram and different objects. Click here to understand the differences using an example.

Communication Diagram in UML

Communication Diagram in UML

Interaction Overview Diagram

Interaction overview diagrams are very similar to activity diagrams. While activity diagrams show a sequence of processes, Interaction overview diagrams show a sequence of interaction diagrams. In simple terms, they can be called a collection of interaction diagrams and the order they happen. As mentioned before, there are seven types of interaction diagrams, so any one of them can be a node in an interaction overview diagram. ( img – http://www.sa-depot.com/?page_id=645 )

Interaction Overview Diagram in UML

Interaction overview diagram in UML

Timing Diagram

Timing diagrams are very similar to sequence diagrams. They represent the behavior of objects in a given time frame. If it’s only one object, the diagram is straight forward, but if there are more than one object involved, they can be used to show interactions of objects during that time frame as well. ( img – http://blog.tangcs.com/2008/01/10/uml-2-diagrams/ )

Timing Diagram in UML

Timing Diagram in UML

Mentioned above are all the UML diagram types. The links given in each section explain the diagrams in more detail and cover the usage, symbols etc. UML offers many diagram types, and sometimes two diagrams can explain the same thing using different notations.

Check this blog post to learn which UML diagram best suits you. If you have any questions or suggestions, feel free to leave a comment.

Author

Nishadha

Software engineer turned tech evangelist. I handle marketing stuff here at Creately including writing blog posts and handling social media accounts. In my spare time I love to read and travel. Check out my personal blog Rumbling Lankan where I write about online marketing stuff.

Comments

  1. Thomas

    Very Helpful Thanks……

  2. […] particular system using the conventions set by the Unified Modeling Language (UML). Out of all the UML diagram types it is one of the most used ones. System designers use class diagrams as a way of simplifying how […]

  3. Kakoli Das

    its very helpful n easy 2 understand,thanx a lot…………

  4. sahil sharma

    very helpful…………could have been better for beginners if each symbols were explained first….

  5. Remya S

    very helpful to me, thankzzzzzzzz

  6. its really helping us to provide a lot of info we are gaining from it….

  7. […] The Completed Guide with UML Diagrams and examples by Creately (flowcharts, wireframes, UML, mindmaps, and more) […]

  8. This is a very helpful overview with manyuseful links. Thanks alot for your effort.

  9. very helpful n eseasy to underatand

  10. Rupali Matkar

    It’s easy to understand… Thanks a lot…

  11. very helpful …

  12. Looking for such documents for a long. Will also help me to conduct the training programs as well.

    Thanks a lot.

  13. anish

    simple and helpfull………Thanks a lot.

  14. indhu

    its very helpful to me……….

  15. T.Pugazharasan

    Thankz its usefull 4 my studies.. thankz u….

  16. m.nandhini

    it’s easy to understand

  17. kiran

    it’s simple and understandable

  18. zubair

    awesome

  19. very well explained

  20. Thank you for the clear diagrams and explanations.

  21. like the way u in :)

  22. very good explained

  23. priyanka

    thankzzzz…vry informative and quick to learn!!!!

  24. it is good to see

  25. super,its easy to understand for student

  26. super and easy to understand

  27. Good morning, Nishadha. I like the presentation of this information since it provides brief explanations and examples and links to greater detail.

    I did notice that a few of your shortcut links up top are broken. Near the very beginning of your UML diagram types page you provide a numbered list of diagram types. Each link is supposed to take me to the brief explanation and example, but numbers 7, 10, and 14 don’t work. Number 13 actually takes me to the location for number 14.

    Overall, this is a convenient presentation. Thanks.

  28. Nishadha

    Good morning, Clark. I apologize for the mistakes. Thanks for taking the time to point them out. I have corrected them now. Enjoy the article and hope you got some value from it.

    • akmq

      By using 1 case study if you make these 14 diagrams then it will very helpful now it is although good but if you do like i say you then it much be better …! nice work

  29. sunny kandola

    its really helpful … thanks

  30. nice one…really useful

  31. Varun

    Hello Nishadha,
    Thank you for the very nice article.
    I have a question, is it possible in any way that we can develop logic using UML for example we can develop a logic using MATLAB.

    Thanks.

  32. Nishadha

    Hi Varun,
    I haven’t used MATLAB so not sure what exactly you mean by develop logic using UML. Can you explains it a bit further ?

  33. Abi

    hi nishadha,
    its very useful and very easy for understanding..
    Thanks

  34. parikshita

    Hello Nishadha,
    Thank you for the very nice article.

    Cheers!!
    PP

  35. Puvanarajan

    Thank you so much….
    😀

  36. gopinath

    thanks
    very helpful

  37. iswarya

    really helpful… thank yu so much :):)
    :) :)

  38. krish

    thank u lots…its v helpful to understand:-)

  39. its very helpful uml diagram

  40. shivam tiwari

    Its very helpful site

  41. nisha

    thank u very much 4 ur article… its very helpful

  42. Marzio

    Great explanation! My compliments. Simple and expressive.

  43. Miguel

    Hi,

    what would you suggest if you want to build a diagram in which would be displyed a student grades; minimum grades to to pass a exam; final result pass or fail

  44. josphat

    superb.this page is eye catching.kudos quality stuff

  45. Balambigai

    Simple and easy to understand

  46. Kanker Serviks

    many types of UML diagrams
    information contained highly detailed easy to understand

  47. Fabio

    Hi Nishadha , I find this very helpful and easy to understand, but I have a question about the number of Diagram, I read this http:/www.omg.org/gettingstarted/what_is_uml.htm and I found ” ..representing the results using UML 2.0’s thirteen standard diagram types.” 13 or 14 ?

  48. Nishadha

    Hi Fabio,
    As I have listed down in the article, there are 14 UML diagram types in UML 2.0

  49. Madeea

    thanks this article is very helpful and easy to understand…great work

  50. anonimous

    Receive your great thanks.This is great work ,thank you!!!
    continue posting others articles like this.

    YOUR CUSTOMER

  51. Shobhit

    That was pretty informative stuff, and you sire explained it pretty easily!

  52. sachin

    many types of UML diagrams
    information contained highly detailed easy to understand

  53. DIYA

    thksss a lottt

  54. Avadhut

    Great stuff,Thanks a lot.

  55. Bindhu Madhuri

    very helpful, u made my day!!!

  56. mass milce

    many types of UML diagrams
    information contained highly detailed easy to understand

  57. Shahbaz

    Most Effective notes

  58. suhas

    this very useful for the understanding the uml concept

  59. R.S.

    Very helpful for beginners and easy to include in interview facing process.

  60. York

    hi man, very nice job. thx a lot~

  61. Carci

    This site is very helpful! :-) :-) :-)
    Thank You very much!!!!!

  62. Tinda

    much impressive task for learning

  63. Bhavin

    Have seen many UML diagram before, however, the way to put it all together and characterize them is very important as the author has done it here. Very nice way to represent and identify them. Enjoyed it…

  64. felixi

    i love your piece on UML, hope it help me with my exams tomorrow. Really appreciate your generousity

  65. deepika

    its very useful….without book we easily got …idea

  66. kiqobad

    Hi Nishadha ,Have seen many UML diagram before, however, the way to put it all together and characterize them is very important as the author has done it here. Very nice way to represent and identify them.thanks very thanks…of iran kelardasht good time

  67. M.Prakash

    Thank you. Nice Article.

  68. Robinson.moat

    Hi
    very help in business plan and safe time.

  69. saran

    it’s very useful for me, Thanks a lot

  70. Maria Barket

    tomorrow is my exam .. n it helps me a lot ..stay blessed :)

  71. Carla

    Very nice and clean explanation. UML made easy!
    Thank you.

  72. Quite useful even if we don’t need all schemas

  73. Osama

    This is really an awesome article.. thanks buddy

  74. Bashir

    Hi Nishada,
    what a very helpful note you have given! I have a question. Pls can UML diagrams be used for the understanding of problem domain? if yes, please explain.
    Thanks.
    Kind regards

  75. Ali Danbatta

    hi, this is wonderful job keep up.

  76. Manohar Tn

    I am an Engineering Student This Arun Kumar Notes U have Gives is very informative Sir…

  77. MUJAHI

    This is really a splendid job

  78. Sai

    Thanks a lot dear! Much Appreciated!

  79. raj

    Hi,

    This is a very helpful and compact article. Thank you boss..:)

  80. Francesco

    There’s an error here: “In large systems with many classes related classes are grouped together to to create class diagrams.”

    Thanks for the article.

    • Nishadha

      Hi Francesco, can you please explain the error there? A class diagram is a collection of classes so I feel the sentence is correct. Do think its confusing or misleading? Thanks for the feedback.

      • Francesco

        Maybe it’s just confusing because you’re not using any punctuation. Please correct me if I’m wrong but I guess this is what you wanted to say: “In large systems with many classes related, (comma) classes are grouped together to (the second “to” here should be removed) create class diagrams.”

        • Nishadha

          Hi Francesco, agree that it is misleading and confusing. Thanks for pointing it out and I have modified the article. Hope you enjoyed the article.

          • Francesco

            Yes I did, it’s definitely useful :)

  81. Sachin

    very useful article … thanks for sharing

  82. sanket

    wow !!!!!!!!!
    ITS TOOO GOOOOOOOOOOOOOOOODDDDDDDD……………

  83. mwas

    helpful in did, thank you.

  84. Simon okello

    thank you very much brother hope through hard work every thing is possible

  85. shashi jha

    very easy to understand thanks

  86. Inko

    a good article. was very helpful thanks

  87. Hamza Ashraf

    help in studt thanks

  88. Patrik Fuhrmann

    Nice article. Only if there was use for all of these in real software projects. Seriously, who is using all of these, NASA? In reality maybe sequence and class diagrams are used (at most).

  89. Raul

    Brilliant article!

    Thanks a lot!
    Very easy to understand!

    Keep it going on mate!

  90. utoken

    Hurrah! After all I got a webpage from where I can really get
    useful facts regarding my study and knowledge.

  91. Usman sani

    It’s very help the learner, thank u much.

  92. Akshay Akin

    This this very supportive for me. I just wa to know is there a way to see the UML diagram from multiple python source files. We have a hierarchy of classes spread in a package. How can I see the diagram for entire package?

  93. prem g

    it help to easy to study it

  94. KABIR

    So educative, more grease to your elbow.

  95. Azmath Mohamad

    simple and clear, thanks.

  96. PlanetB

    Any idea how a MF/legacy system will use UML diagrams…or what is the best way to use some of these diagrams for this environment.

  97. test

    thank you very much, before midterm its like heaven

  98. Aparna Sutheesh

    it help to easy to study it………….. thanqqqqqqqqq. …………..

  99. Alysha Stanger

    Valuable discussion ! I loved the information . Does someone know if my business can get ahold of a sample AZ SOS Recall Petition document to fill in ?

  100. mina

    I need chart which summarizes the history of the evolution of UML until 2016?

  101. Gau

    I need help in sequence diagram for smart city app..can anyone help me

  102. Janie

    which UML version does this tool currently support?

    • Hi Janie,
      We currently support most of the features in UML 2. Is there any specific feature that you require ?

  103. ppkmano

    Wow it is very use full and easy to study…
    😊😊😊

    Thnkq lot…

  104. Maharani

    First comment was in 2012. Ahh, where’re I at that time …
    Thank you! It’s very useful and easy to study. If I find this earlier …
    Thanks you!

  105. Prasanth

    Information is brief and helpful for basic knowledge of UML diagrams. Thank you.

Leave a Comment

*
*

This blog uses premium CommentLuv which allows you to put your keywords with your name if you have had 9 approved comments. Use your real name and then @ your keywords (maximum of 3)
Back to top