Діаграма компонентів (Component diagram) — статична структурна діаграма, показує розбивку програмної системи на структурні компоненти й зв'язки (залежності) між компонентами. Як фізичні компоненти можуть виступати файли, бібліотеки, модулі, що виконуються файли, пакети й т.п.
Діаграма компонентів забезпечує узгоджений перехід від логічного уявлення до конкретної реалізації проекту у формі програмного коду. Одні компоненти можуть існувати тільки на етапі компіляції коду, інші на етапі його виконання.
У багатьох середовищах розробки компонент (або модуль) відповідає окремому файлові. Головними графічними елементами діаграми компонентів є компоненти, інтерфейси і залежності між ними. На діаграмах компонентів залежності можуть відображати зв’язки окремих файлів програмної системи на етапі компіляції та генерації об’єктного коду. В інших випадках залежність може відображати наявність у незалежному компоненті описів класів, які використовуються у залежному компоненті для створення відповідних об’єктів.
Діаграма компонентів розробляється для наступних цілей: 
візуалізації загальної структури вихідного коду програмної системи; 
специфікації

Діаграми розгортання, або застосування, - це один з двох видів діаграм, використовуваних при моделюванні фізичних аспектів об'єктно-орієнтованої системи .Така діаграма показує конфігурацію вузлів, де проводиться обробка інформації, і те, які компоненти розміщені на кожному вузлі.
Діаграми розгортання використовуються для моделювання статичного виду системи з точки зору розгортання. В основному під цим розуміється моделювання топології апаратних засобів, на яких виконується система. По суті, діаграми розгортання - це просто діаграми класів, зосереджені на системних вузлах.
Діаграми розгортання важливі не тільки для візуалізації, специфікування і документування вбудованих, клієнт-серверних і розподілених систем, але і для управління виконуваними системами з використанням прямого і зворотного проектування
При створенні програмної системи ви як розробник програмного забезпечення звертаєте увагу в першу чергу на архітектуру і розгортання своїх програм. Але в якості системного інженера ви зацікавлені головним чином у апаратних і програмних засобах системи і в тому, як досягти оптимального їх поєднання. Іншими словами, розробники програмного забезпечення мають справу з невідчутними артефактами, начебто моделей і коду, а розробники систем - ще й з апаратурою, цілком відчутної.
Для специфицирования поведінки програм застосовуються діаграми послідовностей, кооперації, станів і діяльності. А на стику програм і апаратури розташовуються діаграми розгортання, які дозволяють говорити про топологію процесорів і пристроїв, на яких виконується система.
В UML діаграми розгортання використовуються для візуалізації статичних аспектів фізичних вузлів і їх взаємозв'язків, а також для опису їх деталей, які мають відношення до конструювання системи
Добре структурована діаграма розгортання володіє наступними властивостями:
зосереджена на якомусь одному аспекті статичного виду системи з точки зору розгортання;
містить тільки ті елементи, які істотні для розуміння цього аспекту;
розкриває тільки ті деталі, які присутні на обраному рівні абстракції;
не є настільки короткою, щоб приховати від читача важливу семантику.
Зображуючи діаграму розгортання, користуйтеся наступними правилами:
дайте діаграмі ім'я, відповідне її призначенням;
розташовуйте елементи так, щоб число перетинів було мінімальним;
розташовуйте елементи так, щоб семантично близькі суті опинялися поруч;
використовуйте примітки та колір, щоб привернути увагу до важливих особливостей діаграми;
з обережністю підходите до використання стереотипних елементів. Вибрати ряд загальних для вашого проекту чи організації піктограм і застосовуйте їх усюди одноманітно.