Класс – это описание того, каким может быть объект. Не конкретный студент, а идея студента.
Проще всего думать так:
Класс – это как шаблон или инструкция.
Обычно класс рисуют прямоугольником из трех частей:
Например, класс «Студент»:
Объект – это уже конкретная версия класса.
Не «студент вообще», а вот этот студент – Иванов.
В UML объект рисуют так же, как класс, но:
Проще говоря:
Класс – это «чертеж», объект – «собранная штука по этому чертежу».
Интерфейс – это список действий, которые доступны, без объяснения, как они внутри реализованы.
Представьте кнопку:
В UML интерфейс обычно явно подписывают словом interface, чтобы не перепутать его с классом.
Компонент – это большая часть программы:
Если класс – это «кирпич»,
то компонент – стена из этих кирпичей.
Компоненты используют, когда система уже не маленькая и нужно показать ее крупными блоками.
Узел – это физическое место:
Его рисуют в виде объемного куба.
Узел отвечает на вопрос:
где работает эта часть системы?
Пакет – это просто группировка.
Он нужен, чтобы не было хаоса.
В пакет можно сложить:
Думайте о нем как о папке на компьютере.
Состояние показывает, в каком режиме сейчас система.
Например:
Стрелки между состояниями показывают, как система переходит из одного состояния в другое.
Use Case – это действие, которое система выполняет для пользователя.
Например:
Это самый понятный элемент UML для новичков, потому что он про действия, не про код.
Связи – это линии и стрелки между элементами. Они показывают отношения:
Если совсем просто: стрелки в UML – это глаголы между объектами